The Future of Neuromorphic Computing
newyorker.com
newyorker.com
If/When neuromorphic computers show groundbreaking results, the community will pivot quickly to using them. But expecting AI researchers to show deference to neuromorphic computing because it "mimics the brain" is to ignore the empirical philosophy that has led to AI's success.
Similarly, I think it's great that there are AI researchers working on techniques which are currently out of favor. It's important to have diversity of viewpoint.
What irritates me about neuromorphic computing is that much of the work I see publicized (including the work in this article) isn't being presented as basic research on a risky hypothesis. Instead it's presented as the future of AI, despite the current lack of any demonstrated utility, and the almost complete disconnect between the AI researchers building the future of AI and the neuromorphic community.
The burden of proof is always on the researcher to show utility, and if the neuromorphic computing community can do that, I'll be super excited! Until then, I'll be waiting for something measurable and concrete, and rolling my eyes at brain analogies.
...
> Until then, I'll be ... rolling my eyes at brain analogies.
Maybe you don't realize this, but these guys made more brain analogies than you can count over the same period to which you attribute their greatness. Meanwhile, they were attacked year after year by state-of-the-art land grabbers saying the same things you just did.
> isn't being presented as basic research on a risky hypothesis.
It is basic research, but it's not a risky hypothesis. Existing neuromorphic computers achieve 10^14 ops/s at 20 W. Thats 5 Tops/Watt. The best GPUs currently achieve less than 200 Gops/Watt. Where is the risk in saying that a man-made neuromorphic chip can achieve more per dollar than a GPU. There is no risk, and suggesting that this field is somehow has too much risk for advances to be celebrated is absolutely crazy.
We literally have to start taking neuromorphic to mean some silly semantics like "exactly like the brain in every possible way" in order to disagree with it.
Edit: also, to ground this discussion, there are extremely concrete reason why current neural net architectures will NOT work with the above optimizations. That's the primary motivation for talking about "neuromorphic", or any other synonym you want to coin, as fundamentally different hardware. AI software ppl need to have a term for hardware of the future, which simply won't be capable of running AlexNet well at all, in the same way that a GPU can't run CPU code well. I think the term "neuromorphic" to describe this hardware is as productive as any.
Also, you forgot to tell us what is that "extremely concrete reason why current neural net architectures will NOT work with the above optimizations".
The comparison is of 3 bit neuromorphic synaptic ops against FP8 pascal ops. That factor is important (as it means that the neuromorphic ops are less useful), but it turns out to be dwarfed by the answer to your second question:
> Also, you forgot to tell us what is that "extremely concrete reason why current neural net architectures will NOT work with the above optimizations".
this is rather difficult to justify in this margin. But the idea is that proposals such as those above (50 Tops) tend to be optimistic on the efficiency of the raw compute ops. But these proposals really don't have much to say about the costs of communication (e.g. reading from memory, transmitting along wires, storing in registers, using buses, etc.). It turns out that if you don't have good ways to reduce these costs directly (and there are some, such as changing out registers for SRAMs, but nothing like the 100x speedup from analog computing), you have to just change the ratio of ops / bit*mm of communication per second. There are lots of easy ways to do that (e.g. just spin your ops over and over on the same data), but the real question is how to get useful intelligence out of your compute when it is data starved. This is an open question, and (sadly), very few ppl are working on it, compared to say low-bit-precision neural nets. But I predict this sentiment will be changed over the next few years.
Edit for below: no one is suggesting 50 Top/w hardware running alex net software to my knowledge (though would love to hear what they are proposing to run at that efficiency) . Nvidia among others are squeezing efficiency for cv applications with current software, but this comes at the cost of generality (it's unlike the communication tradeoffs they're making on that chip will make sense for generic AI research), and further improvements will rely on broader software changes, esp revolving around reduced communication. There are a lot of interesting ways to reduce communication without sacrificing performance, such as using smaller matrix sizes, which would reverse the state of the art trends.
And you still haven't answered my second question: what is the reason the future neuromorphic chips won't be able to run current neural net architectures?
I'm not even sure what you are talking about at the end of your comment. The 50Tops/W figure was promised for an analog chip, designed to run modern DL algorithms. Sounds pretty reasonable, and I don't see how your arguments apply to it. Are you saying we can't build an analog chip for DL? Why does it have to be data starved?
For reference, reading 1 bit from a very small 1.5kbit sram, which is much cheaper than the register caches in a gpu, costs more than 25 fJ per bit you read.
Power consumption is not the only reason to switch to analog. Density and speed are just as important for AI applications.
>... AlphaGo ... was able to beat a world-champion human player of Go, but only after it had trained ... running on approximately a million watts. (Its opponent’s brain, by contrast, would have been about fifty thousand times more energy-thrifty, consuming twenty watts.)
A human brain has a severe limitation though. It can't consume more or less energy even if it I wanted to. AlphaGo could double, triple, etc its power consumption and expect to improve its performance.
The brain also took decades to train. Computers also have the advantage of being identical. You can't train any brain to be a master level Go player.
I just don't see brains as the high watermark of intelligence. They occupy a very specific niche in what I assume is a vast unbounded landscape of possible intelligences.
The brain of an insect doesn't take decades to train, and we're currently unable to match its capabilities, either.
> I just don't see brains as the high watermark of intelligence. They occupy a very specific niche in what I assume is a vast unbounded landscape of possible intelligences.
That is a hypothetical claim because we don't know what intelligence is. Surely, some algorithms are much better at some tasks than the human brain, but that has been the case since the advent of computing, and it does not make them intelligent.
Intelligence, or how we would currently define it colloquially and imprecisely, is an algorithm or a class of algorithms with some specific capabilities. Could those capabilities be taken further than the human brain? We certainly can't say that they cannot, but it's not obvious that they can, either. The only kind of intelligence we know, our own, comes with a host of disadvantages that may be features of the particular algorithm employed by the brain and/or to limitations of the hardware, but they could possibly be essential to intelligence itself. Who knows, maybe an intelligence with access to more powerful hardware would be more prone to incapacitating boredom and depression or other kinds of mental illness. This is just one hypothetical possibility, but given how limited our understanding of intelligence is, there are plenty of possible roadblocks ahead.
Even if a higher intelligence than humans' is possible, its hypothetical achievements are uncertain. Some of the greatest problems encountered by humans are not constrained by intelligence but by resources and observations, and others (e.g. politics) are limited by powers of persuasion (that also don't seem to be simply correlated with intelligence). For example, what's limiting theoretical physics isn't brains but access to experiments, and what's limiting certain optimization problems are computational limits, for which our own intelligence, at least, does not give good approximate solutions at all.
It's not particularly useful to simulate insects. We can far surpass some of their capabilities, but the goal is not to make an insect-robot, just like we didn't care to make a mechanical horse.
https://www.technologyreview.com/s/603337/a-100-drone-swarm-...
Robotic insects: https://en.wikipedia.org/wiki/RoboBee
Robotic horses: http://www.bostondynamics.com/robot_bigdog.html
We could far surpass many of the human brain's capabilities from the moment computers were invented. That's what computers are for. But it doesn't mean we've come close to human intelligence, and we're not very close to insect intelligence now. As others have commented, getting to insect intelligence may be quite useful. In any event, that would at least likely put us on the path. Right now, the fact that computers can do more and more things that only humans could does not mean those approaches are getting us close to human intelligence. It just means that we've discovered more useful algorithms, but those algorithms are not necessarily on the path to human intelligence any more than the AI of the 1950s.
>Intelligence, or how we would currently define it colloquially and imprecisely, is an algorithm or a class of algorithms with some specific capabilities.
To me it sounds like you are expanding inability to describe how intelligent things function into an inability to even describe intelligence. Intelligence as algorithm does not match with what I think are the best descriptions of intelligence.
Intelligence is an individual's ability to act towards achieving goals in uncertain environments.
How an individual functions: the way it acts, how it forms goals, how it models the environment. These will all determine how intelligent that individual is.
>The only kind of intelligence we know, our own, comes with a host of disadvantages that may be features of the particular algorithm employed by the brain and/or to limitations of the hardware, but they could possibly be essential to intelligence itself.
I think the idea that limitations to intelligence are inherent to intelligence itself is wrong. Not unsupported, but actually wrong.
>Even if a higher intelligence than humans' is possible, its hypothetical achievements are uncertain.
But you must admit more intelligent beings will certainly not have the same achievements as humans. What separates intelligent beings are the quality of outcomes. By being more intelligence they will have better outcomes.
Given the same constraints they will act more intelligently and achieve better outcomes. And we know machine intelligence will certainly be less constrained than ourselves. They will be able to directly self modify their intelligence, have infinite life spans, construct any sensors and actuators to expand input/output signals, determine their level of energy consumption, etc.
I don't see how anyone could not concede that machine intelligence will obviously be superior to human intelligence. The space of intelligence is so much larger than the point we occupy.
Now, suppose we don't find a better algorithm than the brain. Wouldn't better hardware make it significantly better? No, because not knowing the algorithm, we don't know how it scales with resources.
> I don't see how anyone could not concede that machine intelligence will obviously be superior to human intelligence.
Because of computational complexity. There's a lot we don't know about computation, but there are some things we do know. A layperson reading sci-fi novels could imagine an artificial brain smart enough to solve the halting problem, but even though it's easy to imagine, we know that's not actually possible, no matter what resources are at our disposal. This means there may be disappointing limitations to our ability to scale intelligence. But note that I'm not saying machine intelligence would not be superior at all; I'm saying it may not be as significantly superior as some would imagine. I don't see what beyond science-fiction makes you so sure of an obvious significant advantage.
> The space of intelligence is so much larger than the point we occupy.
Computational complexity makes this uncertain. It is possible that significantly better approximate results would require an exponential increase in resources. The hypothetical space of computation is also huge, but we know very little of it is actually reachable. If you take into account that the entire "space of intelligence" is incapable of efficiently solving NP-hard problems -- many of which are very important for science and technology -- you'll see that it must exist within paramaters that may be pretty narrow.
Also, consider this: our own intelligence, which has been sufficient for art and science and technology that could one day create an intelligence far superior to itself according to you, was really created simply to hunt animals a little better than cats and wolves, and has not evolved much since the agricultural revolution. This may indicate that intelligence may be more a step function than a smooth one. Then how many steps are there past our own? Maybe you're right and there are some more, but for me it's hard to imagine such a significant jump over us without breaking unbreakable complexity barriers. Anyway, I don't think we have enough knowledge to dismiss the possibility that there are no more steps beyond us, and that any improvement, while important and useful, may be less than dramatic.
> AlphaGo could double, triple, etc its power consumption and expect to improve its performance.
The problem of heat makes this a suboptimal route. And in the specific case of AlphaGo, the gains from additional hardware eventually saturated.
Rather they took millennia of evolution.
Giving up on flapping wings was the first step to flight.
For example, our startup uses analog computing to achieve accuracy roughly equivalent to digital circuits, yet we're told that we're crazy? Meanwhile people dreaming about memristors are showered with grants and money....
You mentioned "chip" in another comment, so I'm guessing it's not mechanical/hydraulic.
But your SIMD chip will be much more impressive, right?
There are groups at UCSB and U-Tenn working on analog neural network technologies as well.
I don't think programmers should wait for these chips before they panic. They should already panic now, because deep learning works.
The article does state this towards the end: "Given the utter lack of consensus on how the brain actually works, these designs are more or less cartoons of what neuroscientists think might be happening."
We don't really know how the brain does what it does.
I guess they mean the recent success mostly due to modern hardware of 1960s statistical clustering and classification algorithms that for PR and historical purposes some people call "AI", but are currently unknown to have any significant relationship with what we call intelligence.
When we achieve the capabilities of an insect we would be able to call our algorithms "AI" without getting red in the face, as we'd know there's a decent chance we're at least on the path to intelligence. Until then, let's just call them statistical learning. That wouldn't make them any less valuable, but would represent them much more realistically and fairly.
It's funny how how statistics was once considered the worst kind of lie, and now for some it's becoming synonymous with intelligence.
In reality, we do not need to reverse engineer a chip. We can just reverse engineer our own brains.
Neuromorphic computing is running some known ANN model directly in hardware. Why do we want it? Because ANN models in software work well for pattern matching, and we want to speed it up/make it more efficient.
They have been designed, and are being used either for more efficient pattern matching, or to speed up brain simulations (again, using known neuronal models).
You seem to expect something else from neuromorphic computing, why?
https://m.facebook.com/yann.lecun/posts/10152184295832143
> [the truenorth team had] to shoehorn a convnet on a chip that really wasn't designed for it. I mean, if the goal was to run a convnet at low power, they should have built a chip for that. The performance (and the accuracy) would be a lot better than this.
They used their 'neuromorphic' chip in an explicitly non-neuromorphic way, basically approximately mapping deep learning processes to their chip. There is very little neuromorphicity (brain-likeness) about it (plasticity rules out of their ass, for starters). And they still get less than state-of-the art performance in most tasks!
I expect 'neuromorphic' to be used when sound neuroscience is used in large scale implementations that allow us to actually simulate parts of the brain. Anything else, we call it what it is, ANNs.
Whether you like it or not, get used to people calling their hardware ANN implementations "neuromorphic".
Pointing to how they chose to name it for publication is not exactly a very convincing argument to support your view, is it? :)
Maybe, i suppose as much as a bitcoin ASIC is.