HN user

bgalbraith

108 karma

Co-founder and CTO of Talla. PhD in Computational Neuroscience

Posts4
Comments40
View on HN

This is a valid point and a real challenge of brain-computer interface (BCI) technology. It is largely trying to help those who suffer from locked-in syndrome, where they really do not have any reliable motor control at all, including eye movement. If you do have the ability to reliably execute any kind of motor control, such as eye movement or muscle twitch, that can be exploited for more effective, durable interface control than current state of the art of BCI.

As stated elsewhere, this can actually be a very frustrating process. I lost a good chunk of my long weekend trying to build TF from source for CUDA 8.0 / cuDNN 5.1. Generally speaking the culprit is that the CUDA installers for Linux are highly dependent on your kernel and gcc versions. This is a huge headache for people who want to stay up-to-date on their distro packages. CentOS has no problem because hardly anything changes, but you're essentially handcuffed to whatever version s of Ubuntu or Fedora were out when NVIDIA decided to start packaging up the next release. Bumping gcc to 5.4 in Ubuntu 16.04.1 broke the 16.04 installer, which relied on gcc 5.3.

Reinforcement Learning is one of the most exciting areas of research in machine learning and AI going on right now in my opinion. It is going to play heavily in creating AI that can make decisions in dynamic environments.

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

IBM's TrueNorth chip is taking a much more neuromorphic design approach by trying to approximate networks of biological neurons. They are investigating a new form of computer architecture away from the classic Von Neumann model.

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.

You absolutely do not need a PhD for industry unless you want an R&D job in a handful of domains. A PhD is not simply learning more facts about a particular topic. It's an apprenticeship for conducting independently directed academic research. There are so many topics that you can not just learn from reading some online sources e.g. most experimental work. Most of the time spent in a typical PhD program is spent trying to solve problems that have no easy answers and no easy guidelines to follow. While you can definitely gain similar knowledge and experience in an industry setting, you almost never have the freedom to take the 3+ years often necessary to explore a narrow topic, struggle and fail repeatedly, be faced with and overcome crushing doubt and frustration, and do so in a generally supportive community.

You are correct. My initial response was a pedantic point about the semantic use of monopoly in this context, which isn't helpful.

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.

NVIDIA does not have a monopoly in the traditional sense. But yes, the have a de facto one because there is no viable competition.

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.

What monopoly? You totally have a choice, it's just that NVIDIA made a large bet on GPGPU and it is paying off for them. You don't see AMD heavily pushing their cards for compute purposes or developing computational developer relations.

Ideally, yes, we want to pre-train in a virtual environment using as close to the real model robot as possible. I worked on such a problem as part of my PhD research on mobile robots using the Webots simulator (https://www.cyberbotics.com/overview) as my virtual environment.

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

These consumer-targeted devices are predominantly used to detect and act on changes in the relative power of certain frequency bands from rhythmic neural activity. These changes in activity are common across people, and don't require any specialized user-specific techniques to identify. For instance, alpha wave (8-12 Hz) power is correlated with arousal/attentiveness.

unlike forums, people really enjoy mailing lists. I don't think I've ever met anyone, ever, who said they liked forums.

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.

The current state of the art for BCI ranges from 2-3 continuously valued "channels" using motor imagery (the method used in the article) or 1 channel of 2-32+ discrete choices using a sensory stimulus-based method such as event-related potentials (P300) or steady state visual evoked potentials (SSVEP).

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.

They are using a technique called motor imagery, which looks for small changes in synchrony in the sensory motor rhythms (SMR). SMR is currently only capable of reliably detecting left hand, right hand, and combined foot imagined movement. When they say "raising a hand" they are not finding a pattern of activity that relates to that gesture, they are simply detecting if a left vs right vs both motor action was imagined. As such, you cannot, unfortunately, simply think up another gesture to add.

Thesis Hatement 13 years ago

I agree with your sentiment about the lamentable, though typical HN response. However, it is totally in accordance with the mean audience of the site. Almost 50% of HN readers are under the age of 25 [1]. HN is a product of Y Combinator, an accelerator that predominantly focuses on software-based startups frequently run by kids in their 20s. The average perspective is highly skewed and very different from someone several years into a non-CS technical PhD let alone a humanities one.

[1] http://royal.pingdom.com/2012/08/21/report-social-network-de...

The initial motivation for these articles - the government says we need more STEM students, but look how many underemployed PhDs there are! - is flimsy. The US does not necessarily need more graduate students, what it needs is more skilled technical workers, especially in manufacturing.

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.

I totally agree. The stores are attractively laid out, and I did manage to get a nice in-cup loose leaf tea infuser, but I disliked my entire experience in the store. The hard sell treatment I got was really unwelcome and the tea itself was way over priced. I won't go in to another one and I don't recommend anyone go there.

OK, sensationalistic headlines aside, this is what is actually going on.

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.

Like any language/platform, they both solve particular problems really well and then are OK or downright messy for the rest. I've developed applications for both platforms, and will more likely choose Django over Rails at the moment, but mostly because I work with Python a lot in general.

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.

The title is a little misleading. What they've done is effectively created hundreds of snapshots of neural connectivity, each focusing on how one particular region of the brain hooks into another. The goal is to make this data available so experts and hobbyists alike can potentially identify connections that offer insight into brain function and disease.

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).

Startup University 14 years ago

I think it's more correct to say that in almost all cases, the purpose of academic research is to advance human knowledge, not produce a commercial product. Academia is not industry, nor should it be. What drives an academic scientist is the pursuit of knowledge, the recognition from peers that he/she was the one who formulated the new theorem, found the new approach. Going from proof of concept to polished product is not academically interesting and, as pointed out, not valuable to the degree granting or tenure process.

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/).

Speculative science fiction is not so much a window into the future, but rather a reflection of the present in which it was written. By drawing on current trends, authors can extrapolate a future. The cyberpunk aesthetic arose around the same time as the personal computer, early Internet, 80's corporate greed, continuing urban sprawl, the Japanese economic bubble leading to property purchases all over the world, etc. -- inspiration for many themes that appear in cyberpunk works. Many of these things have cased to be novel (in the same way) or exist at all. For instance, computers and connectivity is ubiquitous now, massive conglomerate corporations haven't totally taken over for governments (depending on who you ask, at least), China has somewhat replaced Japan, and the world has moved on. Unless they were just writing genre fiction, authors like Gibson would not keep cyberpunk going because the world today is very different from the one that spawned it.

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.

I work on adaptive mobile robots as part of my research, and I'd be very interested to see how the LEAP compares to the Kinect in this area. I submitted a developer kit request, so maybe I'll get to find out.

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.

I should clarify that Python 3, by itself, is fine. I had the unfortunate situation of having to use it for a task in which no suitable library existed, which led to a significant amount of unwelcome additional effort. However, until those library deficiencies are fully met, it makes no sense to move forward from 2.7.

Thanks for the Pillow link, btw. I was unaware of it.