Neuromorphic Computing
Neuromorphic Computing
Todd Hylton
Brain Corporation
[email protected]
Outline
5/15/2014 5
Steve Furber, “To Build a Brain” , IEEE Spectrum, August 2012
S1
S4 N S2
S3
5/15/2014 6
Narayan Srinivasa and Jose M. Cruz-Albrecht, “Neuromorphic Adaptive Plastic
Scalable Electronics”, IEEE PULSE, JANUARY/FEBRUARY 2012
Messaging
• Spike
• Simplest possible temporal message
• Facilitates algorithms inspired by biological neural systems
• Supports time and rate based algorithms
• Information “packet”
• Generalization of spike time message
• A “spike” that carries additional information
• Facilitates other dynamical computing architectures using different primitives
5/15/2014 7
• Messages can be delivered over a switching fabric (e.g. HRL)
• Networks can be multiscale – e.g. on core, on chip, off chip
5/15/2014 8
Key Technology Issues / Choices
• DRAM needs large array sizes to be space efficient and does not integrate into most logic processes
• Back end memory technologies (e.g. memristors, PCM) are immature and not available in SOA
CMOS
5/15/2014 9
• Creating tools to develop and debug neural algorithms on the simulator and
the neuromorphic hardware
• Writing the algorithms (including those that learn)
SyNAPSE Program Plan
SyNAPSE – Miscellaneous Lessons Learned
• This idea is at least 40 years old, yet we still don’t have these kinds
of computers.
• We have become disillusioned with these ideas in the past because
the proposition was not fulfilled (AI and neural net “winters”)
• The proposition is (very) popular again because
• Maturation of the computing industry
• The successful application of some machine learning techniques
• Interest and research on the brain
Neuromorphic / cognitive computing philosophy
Cognitive computing
views the brain as a
computer and thinking as the execution of
Cognition= Artificial
algorithms.
Artificial computing
Neural
Intelligence Memory= Networks
(Cognitive storage of (Connectionist
Computing) data and Computing)
algorithms
Thinking= algorithm:
algorithm: application of iterative
search algorithms to
error • Biological memory corresponds to a container
data
reduction holding data and algorithms. Learning fills the
container with input
-output rules defined on
discrete (AI) or continuous (ANN) variables.
• Algorithms create input
-output mappings using
rules or weights stored in memory.
• AI focuses on search algorithms to select
“production” rules.
• ANN focuses on iterative error reduction
algorithms to determine “weights” yielding the
desired input
-output relationships
.
• Algorithms are created by humans.
The Source of Confusion
Limits of reductionism
• Any model that does anything that anyone will care about requires a massive
computational resource for development and implementation
• Development is slow and expensive
• Custom hardware in state of art process is needed for any large scale
application
• Software and hardware must co-evolve
• Cannot develop the algorithms first
• Cannot specify the hardware first
• It is easy for anyone who doesn’t like your project to claim that
• It is making no progress
• It is not competitive with the state of the art
• You are doing it wrong
• You are an idiot
Physics is “missing”
• Thermodynamics
Time Electronics Technology • Locality
(New) Electronics Technology
(~1946) Eniac, Transistor…
• Causality
Complete System
• Observation - The Turing machine (and its
Turing Machine
many equivalents) is the foundational idea in “Head” w/ Fixed Rule Table
computation and has enabled decades of (Finite State Machine
)
success in computing, but
– The machine is an abstraction for symbol
manipulation that is disconnected from
the physical world.
– Humans provide contact with the “Tape” (Program & Data)
physical world via the creation and
evaluation of Algorithms
algorithms.
• Question – With such foundation, is it
reasonable to suppose that the machine can
Current Paradigm:
Cognitive Computing
• Brains are universal computers
• Algorithms determine behavior input output
• Memory = storage of data and algorithms
Where do algorithms come from?
• Thinking = application of algorithms to data
unphysical, static,
unscalable,
black-box efforts targeting the
highest levels of intelligence
• Intelligence computation
Today’s Approach
• Intelligence is algorithmic
Hypothesis #2: Intelligence is part of a pervasive evolutionary paradigm that applies to
the physical and biological world. The computational metaphor for intelligence is
inadequate. Intelligence is physical.
Thermodynamics of Open Systems
• S = Entropy
• S(t) Smax
• dS/dt > 0
Isolated System
Open thermodynamic systems spontaneously evolve structure via entropy production
in the external environment.
Closing Thoughts
What has changed in 7 years
Dynamical Algorithms
• Represent systems of coupled dynamical equations
• not just feedforward networks
• Interact in real-time in the real world (e.g. robotics)
• Tough to conceive, tough to “debug”
Typical Questions
• What are the plasticity/adaption rules? / What are the dynamical equations?
• What network should I build?
• What is the effect / interaction of the components with the system?
• What / how should I test it?
• How can I figure out what is wrong?
• How do I make it do something (that I want it to do)?
5/15/2014 47
What We Can Do
• Build new kinds of computers that are capable of efficiently executing new
classes of algorithms
• Build better machine learning algorithms
Recommendation
• Communications
• Digital – no controversy
• Neurons
• Digital – computed dynamics, scales, reproducible, multiplexes, parameterizes •
Analog – intrinsic dynamics, low power
• Synapses
• Digital – computed dynamics, scales, reproducible, multiplexes, parameterizes
• Analog – intrinsic dynamics, low power
• State of the art CMOS technology and design practice generally favors digital
implementations
• Groups of highly multiplexed, digital neurons and synapses resemble small
processor cores with dedicated memory (like SpiNNaker)
• Mixed analog-digital solutions are also possible
5/15/2014 51
• Comments:
• Before any specification can be created, a description like this is required
• It isn’t obvious from such propositions what the computer will be good at / used
for.
The Evolution of NC Has Begun
USER STORIES
ALGORITHMS
ARCHTECTURES
IMPLEMENTATIONS