What is Neuromorphic Computing?

IBM's Synapse neuromorphic processor chip imbedded in a computer board.
IBM’s Synapse “neuromorphic” processor chip imbedded in a computer board.

It might be worthwhile to take a moment and inspect your current understanding of how computers work…probably some combination of zeros and ones and a series of electrical components to move those binaries back and forth. You would be surprised to know how far you could get down the path of building a modern computer (at least on paper) with that rudimentary of an understanding. With an electrical engineer in tow, you could probably even build a primitive mainframe computer (the ticker-tape or punch card variety). Would it shock you if I said that nearly all of the advances since then have been either due to materials and manufacturing advances? Software has made interacting with this hardware much more comfortable and computers have gotten incredibly powerful in the past few decades but the underlying architecture has roughly maintained that “ticker-tape” mode of information transfer. This is convenient for lots of reasons…the functionality of a program relies entirely on the quality of the code that gives it instructions (read “ticker-tape”). In some ways, all of that is about to change.

Neuromorphic computing is pretty close to what it sounds like…brain-like computing. Many of the core components of the brain can be implemented in analog hardware…resistors and capacitors in parallel and in series become neurons–their cell bodies, dendrites, as well as axons.  When these analog neurons are connected together (like a synapse) into a network they take on many of the same processing properties that the neurons in our brains do. When researchers figured out how to make the capacitance variable (primer on capacitance found here) they also figured out how to make the analog neurons “learn”; this mimics the natural changes in strength of connections between neurons in a brain.

Now that you understand what it is you might ask, “Why do we want brain-like computers?”

Traditional Computers Suck at Optimization

Have you ever heard of the “traveling salesman problem”? It goes kind of like this…You show up in a new town with a bunch of widgets to sell. So you go to the local chamber of commerce and ask them for a list of businesses that might be interested in purchasing some widgets. They give you names and addresses for ten businesses as well as a town map. You obviously don’t want to take too long making these sales calls or you might not make it to the next town before dark. So you sit down to figure out what order you should go see these ten businesses and what path you should take through town so that you can spend the least amount of time traveling. Believe it or not but your brain is usually faster at coming up with a pretty good solution to these types of problems than computers. The challenge of teaching traditional computers to solve “traveling salesman” problems has created a whole field of research called optimization. (more about traveling salesmen problems here)

Brains Rock at Pattern Recognition, Vision, and Object Recognition

You didn't need any help recognizing this natural pattern as a giraffe. A traditional computer would likely be stumped.
You didn’t need any help recognizing this natural pattern as a giraffe. A traditional computer would likely be stumped.

There isn’t a day that passes without your brain having to recognize new objects for what they are. You probably saw your first cat fairly early in life…did you ever stop to wonder how it is that you learned to recognize your second cat encounter as a version of the first? You may think that it is an algorithmic solution…four legs, tail, and furry with whiskers and you have a cat? That is how traditional computers have been programmed to identify cats and for the most part they perform dismally. Humans are so good at identifying cats that we often outperform the best computer algorithms when we are only shown a part of the animal we are to identify. It isn’t just our accuracy that is astounding but the speed at which we can recognize these features. This is all due to the fundamental nature of neural circuits as highly optimized complex filters instead of simply processors which are the “plug-and-chug” machines we put in our traditional computers.

Brains Use a Fraction of The Power

The human brain consumes approximately one one-hundred thousandth of the power that the average desktop computer does (per byte processed). Consider the implications of this difference…our brains do so much, and so much more efficiently than computers do. This is a feature of the filter functionality that I mentioned above. Maybe to provide an example of how this works…imagine you need to cut up a block of cheese into equally sized rectangles. You have two options: you can use a knife and a measuring-tape to carefully cut the cheese a cube at a time. Or you can use a file, the measuring tape, and a raw chunk of steel to shape a grid-like tool that cuts any size cheese block into perfectly equal rectangles…maybe you have deduced it but the second solution is “neuromorphic” one–you must teach a neural network about the right way to cut the cheese and after it has learned, you can use the tool much more quickly without the need to stop and measure. Each time you use this tool in the future you save both time and energy. Similarly, neuromorphic computing is able to re-use solutions with vastly increased efficiency.

Neuromorphic Computing is Happening

Putting neuromorphic chips into phones and computers are probably not the silver bullet to solving all of the challenges that I outlined above…instead they are a serious and creative improvement to the technologies that we are already so reliant on. A combination of traditional processing and neuromorphic computing is likely to be the long-term approach to applying these advancements. Very soon your phone will be that much better at telling you about the world…and helping you be a better traveling salesman.

Add some meat to your social media feed…follow The Public Brain Journal on Twitter

Clayton S. Bingham is a Biomedical Engineer working at the Center for Neural Engineering at University of Southern California. Under the direction of Drs. Theodore Berger and Dong Song, Clayton builds large-scale computational models of neurological systems. Currently, the emphasis is on the modeling of Hippocampal tissue in response to electrical stimulation with the goal of optimizing the placement of stimulating electrodes in regions of the brain that are dysfunctional. These therapies can be used for a broad range of pathologies including Alzheimer’s, various motor disorders, depression, and Epilepsy.

If you would like to hear more about the work done by Clayton, and his colleagues, in the USC Center for Neural Engineering he can be reached at: csbingha-at-usc-dot-edu.


4 thoughts on “What is Neuromorphic Computing?

  1. Let me get this straight. Basically the computer is told what to learn. After it has completed the initial learning process, it no longer has to perform unnecessary redundant tasks that was part of the initial learning process (such as making the tool), but instead goes straight to the desired goal? Is that correct?


    1. I think you are getting at the core conceptual difference between traditional and neuromorphic computing…pattern learning is a feature of neural networks that makes recognition of subsequent presentations of a similar pattern much much more efficient.


  2. Clayton Wondering if you are familiar with Buckminster Fuller’s work on universal intelligence following a fractal syntax ubiquitous within the structural dynamics of RNA/DNA? It seems like this geometrics of neural biometrics would be germane to y/our field of interest. With warm regards, Gerald Oliver


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s