108 karma · joined March 18, 2011
A great introduction to the topic is the book Reinforcement Learning: An Introduction by Sutton & Barto. You can find the official HTML version of the 1st edition and a PDF of a recent draft of the 2nd ed. here: https://webdocs.cs.ualberta.ca/~sutton/book/the-book.html
TPUs are custom ASICs that speed up math on tensors i.e. high-dimensional matrices. Tensors feature prominently in artificial neural networks, especially the deep learning architectures. While GPUs help accelerate these operations, they are optimized first and foremost for video rendering/gaming applications -- compute-specific features are mostly tacked on. TPUs are optimized solely for doing ML-related computations.
I would love it if AMD would care more about GPGPU, but they don't, and NVIDIA has little incentive to make their OpenCl drivers equal to their CUDA ones.
It's like saying MATLAB has a monopoly in academic research because so much of the code is written in it. That is slowly changing and moving over to Python now, which is great. Maybe OpenCL will get there someday, but I don't see it happening any time soon.
In my case, I was working on biologically-inspired models for picking up distant objects. It's impractical to tune hyperparameters in hardware, so you need to be able to create a virtual version that gets you close enough. Once you can demonstrate success there, you then have to move to the physical robot, which introduces several additional challenges: 1) imperfections in your actual hardware behavior vs idealized simulated ones, 2) real-world sensor noise and constraints, 3) dealing with real-world timing and inputs instead of a clean, lock-step simulated environment, 4) having different API to poll sensors/actuate servos between virtual and hardware robots, and 5) ensuring that your trained model can be transferred effectively between your virtual and hardware robot control system.
I was able to solve these issues for my particular constrained research use case, and was pretty happy with the results. You can see a demo reel of the robot here: https://www.youtube.com/watch?v=EoIXFKVGaXw
I think it entirely depends on what the purpose of communication channel is serving.
Mailing lists are transient passive participation. I can sign up to a list and never have to do another thing because I use email all the time. Occasionally a back and forth discussion might pop up, but I can easily choose to ignore it by simply glancing at the subject line.
Forums are persistent active participation. I have to specifically access the forum, possibly logging in in the process, to see what activity has happened. Many do enable some kind of email notification with a set frequency. Digest emails lose the benefit of the quick glance decision to attend or not, while all activity would be similar to the mailing list model. As forums can encourage more silo-ed conversations or short disposable responses, getting all activity is generally not ideal, however.
It is highly unlikely that an EEG BCI will ever replace any normal task, as the performance relative to any reliable motor movement for direct control is terrible. For instance, if you have an eye tracker, you can reliably out perform the best BCI. It is really aimed at severely paralyzed people who don't have any other means of communication. The idea is undoubtedly cool and compelling, but the practicality of BCI for healthy subject use is very limited.
[1] http://royal.pingdom.com/2012/08/21/report-social-network-de...
Few students who go into PhD programs anticipate ending up in industry, unless you goal is R&D. The opportunity cost is so great that you are better off in most cases going straight into industry if that is your ultimate goal. As a current PhD student, my advice to anyone considering it is to not do it unless you are truly passionate about your research field.
Using EEG, you can look for something called a P300 Event Related Potential (ERP). This is a positive deflection from the baseline activity in the brain signals approximately 300 milliseconds after an anticipated event occurs. Note two key facts about this:
1) P300 actually varies by person; it can appear sooner or much later than 300 ms and have different amplitudes. Because of this, a training phase is required to train the classifier.
2) The P300 happens when an event happens the subject is anticipating or recognizes, so they have to be primed in some sense. For instance, the researchers asked subjects to think of an imaginary PIN, then flashed single digits at them one at a time and tried to infer what the first digit of the PIN was by that. Because they were thinking of, say, 1234, when 1 flashed on the screen, a P300 may have been generated.
What the researchers did was interesting, in that they made the case for potential malware in a consumer BCI game. Their accuracy rates weren't that great, however. This is a far far cry from nefarious agents pulling secret info from your brain.
Ruby is a fun language and Rails is, essentially, its killer app. Programming Rails apps means learning a lot of conventions, a lot of "the right way" to do things. It's not just code style, but about good software engineering practices -- testing, database migrations, and multiple environments are all built in and easy to use. There are also some tremendous environment and deployment tools out there. RVM and bundler make dependencies easy to manage, and HAML greatly cleans up the HTML side of things. As mentioned elsewhere, Rails development can be really fast once you've got up to speed, but that can take time and cause serious headaches for anyone who walks into maintaining an existing reasonably complex project.
I love Python and use it all the time. It does have a bit of a problem with legacy libraries moving to Python 3, Django being one of them (if you want to try Django, use Python 2.7). Django was built for a newspaper website, as such it has some slightly odd conventions that can be confusing at first. Notably it makes the distinction between an app (reusable piece of functionality) and a site (comprising one or more apps). It has a strict template engine (by default), that has its own DSL which requires some getting used to. Django generates a lot less files than Rails by default, and generally feels more compact. It also has a really nice admin feature out of the box.
An analogy would be trying to reconstruct the street layout of a city by taking pictures from a plane as it flew over. Each time you fly past, you might get a different angle, different weather conditions, or try a different camera. Now you have hundreds of photos, and you are hoping people who know things about cities will find useful information there, like where the best restaurants might be located.
Disclosure: I worked on the front-facing side of this project (data browser and image viewer).
Many universities realize that there may be valuable technologies that need to be extracted and developed. Business schools try to match MBA students with Engineering students, offices of tech transfer try to offer some support in this area as well. Schools are offering specific advanced programs in commercialization of academic research (e.g. Notre Dame's ESTEEM program http://esteem.nd.edu/). Even some companies are trying to help this process, like TandemLaunch (http://www.tandemlaunchtech.com/).
Another thought is to compare it to the other famous "-punk" style, steampunk. Steampunk benefits from the fact that all the technological foundation (steam, mechanical, analog) it is based on exists. I'd argue that the genre can thrive because a well-defined foundation exists from which to create. With cyberpunk, some of the foundations exist (computer hacking and espionage), but many are still left as future speculation (synthetic organs, cybernetic implants). It becomes harder to have a consistent foundation when there are still moving targets. I guess we can still have trench coats and mirror shades ;)
I really enjoy the cyberpunk aesthetic, and I wish it had more of a footprint in current music/film/TV. It may be though that true cyberpunk is really a product of the 80's. The spirit of what drove it, technology-driven dystopia, continues to this day.
Also, from the Ars Technica post on LEAP:
"The company says the breakthrough in resolution comes not from the hardware, which consists of relatively standard parts, but from what CTO David Holz calls 'a number of major algorithmic and mathematical problems that had not been solved or were considered unsolvable.'"
I'm conflicted by that statement. As a current academic, I hope they publish these supposed breakthroughs, as hiding them behind trade secrets makes me sad. As an entrepreneurial-minded person, however, I understand the desire for competitive advantage.
Thanks for the Pillow link, btw. I was unaware of it.