Brain-Inspired Computing: Unraveling the Secrets of Neuromorphic Systems
Table of contents
1. Introduction¶
1.1 The Human Brain: Nature's Masterpiece¶
๐ Let's take a moment to celebrate the incredible complexity and power of the human brain! ๐ง With its awe-inspiring capabilities, the human brain reigns as nature's greatest creation and serves as the ultimate inspiration for artificial intelligence. Composed of approximately 86 billion neurons and an estimated 100 trillion synapses, the human brain is an intricate and dynamic network that can process a vast amount of information with remarkable speed and efficiency. In the quest to create intelligent machines, researchers have long sought to emulate the brain's underlying principles and mechanisms.
The brain's power lies not only in the sheer number of neurons and synapses but also in the elegant organization and coordination of these components. Neurons communicate through intricate patterns of electrical and chemical signals, enabling the brain to perform tasks that range from basic sensory processing to advanced cognitive functions such as learning, memory, and decision-making. It is this fascinating complexity that drives researchers to explore the potential of brain-inspired computing paradigms, and in doing so, unlock the secrets of the ultimate thinking machine. ๐
1.2 Neuromorphic Computing: A Brief Overview¶
Enter neuromorphic computing—a revolutionary approach to artificial intelligence that aims to emulate the human brain's architecture and functionality. Unlike traditional computing architectures, which rely on the von Neumann model and its limitations (such as the infamous "von Neumann bottleneck"), neuromorphic computing seeks to overcome these constraints by adopting brain-inspired models that can process information more efficiently and effectively.
The journey from traditional computing architectures to brain-inspired models has been a long and winding road, filled with groundbreaking discoveries and fascinating innovations. Pioneers like Carver Mead, who first coined the term "neuromorphic" in the late 1980s, paved the way for the development of novel hardware and software technologies that could mimic the brain's structure and function. Over the years, researchers have focused on emulating the key building blocks of the human brain, such as neurons and synapses, and implementing them in neuromorphic computing systems.
One of the most promising techniques for emulating the brain's information processing capabilities is the use of spiking neural networks (SNNs). These networks utilize a specialized type of neuron, known as a spiking neuron, which can generate discrete, asynchronous signals (or "spikes") to communicate with other neurons. This behavior closely mimics the way biological neurons transmit information, allowing SNNs to capture the brain's inherent parallelism and adaptability.
SNNs can be mathematically described using the following differential equation, which models the membrane potential $V_m$ of a spiking neuron:
$$ \tau_m \frac{dV_m}{dt} = -V_m(t) + R_mI(t) + V_{rest} $$Here, $\tau_m$ is the membrane time constant, $R_m$ is the membrane resistance, $I(t)$ is the input current, and $V_{rest}$ is the resting membrane potential. When the membrane potential exceeds a certain threshold $V_{th}$, the neuron generates a spike and resets its membrane potential. This process can be described using the following Python code snippet:
import numpy as np
def simulate_spiking_neuron(input_current, dt, tau_m, R_m, V_rest, V_th, V_reset):
time = np.arange(0, len(input_current), 1) * dt
V_m = np.zeros(len(time))
V_m[0] = V_rest
for t in range(1, len(time)):
V_m[t] = V_m[t-1] + dt/tau_m * (-V_m[t-1] + R_m * input_current[t] + V_rest)
if V_m[t] >= V_th:
V_m[t] = V_reset
return time, V_m
This simple example illustrates how neuromorphic computing principles can be applied to simulate a spiking neuron's behavior. As we delve deeper into this exciting field, we will encounter more advanced concepts and techniques that push the boundaries of our understanding of the human brain and its potential applications in artificial intelligence. ๐งช
Now, let's embark on an exhilarating journey through the world of neuromorphic computing! We'll explore its building blocks, advantages, applications, and challenges, as well as the future directions of this fascinating field. Are you ready? Let's go! ๐
2. Neuromorphic Computing Building Blocks¶
2.1 Neurons and Synapses: The Core of the System¶
The human brain is a marvelous computing machine, capable of processing vast amounts of information through interconnected cells called neurons. These neurons are connected by specialized structures called synapses, which allow electrical and chemical signals to flow between them. The flow of information between neurons through synapses is the foundation of our cognitive abilities. In neuromorphic computing, we aim to replicate the function of neurons and synapses to create artificial systems that can process information in a similar way.
A biological neuron can be modeled mathematically using the Hodgkin-Huxley model, which describes the electrical activity of the neuron membrane using a system of differential equations:
$$ \begin{aligned} \frac{dV}{dt} &= \frac{1}{C_m} \left( I_{\text{ext}} - I_{\text{ion}}\right) \\ I_{\text{ion}} &= g_{\text{Na}} m^3 h (V - E_{\text{Na}}) + g_{\text{K}} n^4 (V - E_{\text{K}}) + g_{\text{L}} (V - E_{\text{L}}) \\ \frac{dm}{dt} &= \alpha_m (1 - m) - \beta_m m \\ \frac{dh}{dt} &= \alpha_h (1 - h) - \beta_h h \\ \frac{dn}{dt} &= \alpha_n (1 - n) - \beta_n n \end{aligned} $$Here, $V$ represents the membrane potential, $C_m$ is the membrane capacitance, $I_{\text{ext}}$ is the external current, $I_{\text{ion}}$ is the ionic current, $g_{\text{Na}}, g_{\text{K}}, g_{\text{L}}$ are the maximum conductances of sodium, potassium, and leak channels, respectively, and $E_{\text{Na}}, E_{\text{K}}, E_{\text{L}}$ are their corresponding reversal potentials. $m, h, n$ are gating variables that control the opening and closing of ion channels, and $\alpha$ and $\beta$ are rate constants.
When constructing a neuromorphic system, we can use an abstracted version of the Hodgkin-Huxley model called the leaky integrate-and-fire (LIF) model to represent artificial neurons. The LIF model is described by the following differential equation:
$$ \tau_m \frac{dV}{dt} = - (V - V_{\text{rest}}) + R_m I_{\text{ext}} $$Where $\tau_m$ is the membrane time constant, $V_{\text{rest}}$ is the resting membrane potential, and $R_m$ is the membrane resistance. When the membrane potential $V$ reaches a threshold $V_{\text{thresh}}$, the neuron generates a spike and its potential is reset to $V_{\text{rest}}$.
Synapses in neuromorphic systems can be modeled using various plasticity rules that dictate how the synaptic weights change over time based on pre- and post-synaptic activity. One well-known plasticity rule is the Hebbian learning rule, which can be formulated as:
$$ \Delta w_{ij} = \eta (x_i - \bar{x}_i)(x_j - \bar{x}_j) $$Where $\Delta w_{ij}$ is the change in synaptic weight between neurons $i$ and $j$, $\eta$ is the learning rate, $x_i$ and $x_j$ are the firing rates of the pre- and post-synaptic neurons, and $\bar{x}_i$ and $\bar{x}_j$ are their respective average firing rates. This rule is often summarized as "neurons that fire together, wire together," reflecting the notion that correlated activity between neurons strengthens their connection.
2.2 Spiking Neural Networks: A New Way of Thinking¶
Spiking Neural Networks (SNNs) are a class of artificial neural networks that incorporate the principles of neuromorphic computing, utilizing artificial neurons and synapses to process information through spikes or action potentials. SNNs offer a more biologically plausible model of computation compared to traditional artificial neural networks (ANNs), where neurons communicate using continuous values instead of discrete spikes. The use of spikes allows SNNs to process information in a more energy-efficient and event-driven manner, making them ideal for certain applications.
One way to describe the behavior of SNNs is by using the Spike Response Model (SRM), which can be expressed mathematically as:
$$ V(t) = \sum_{t^f_i < t} K(t - t^f_i) + \int_{-\infty}^{t} K(t - s) I_{\text{syn}}(s) ds $$Where $V(t)$ is the membrane potential at time $t$, $t^f_i$ are the firing times of the neuron, $K$ is the spike response function, and $I_{\text{syn}}(s)$ is the synaptic input current at time $s$. The spike response function $K$ is usually chosen to mimic the shape of a biological post-synaptic potential.
One popular learning algorithm for SNNs is Spike-Timing-Dependent Plasticity (STDP), which adjusts the synaptic weights based on the precise timing of the pre- and post-synaptic spikes. The STDP rule can be defined as:
$$ \Delta w_{ij} = \begin{cases} A_{\text{pos}} e^{-\Delta t / \tau_{\text{pos}}} & \text{if } \Delta t > 0 \\ -A_{\text{neg}} e^{\Delta t / \tau_{\text{neg}}} & \text{if } \Delta t < 0 \end{cases} $$Where $\Delta w_{ij}$ is the change in synaptic weight, $\Delta t = t^{\text{post}} - t^{\text{pre}}$ is the time difference between post-synaptic and pre-synaptic spikes, $A_{\text{pos}}$ and $A_{\text{neg}}$ are the potentiation and depression amplitudes, and $\tau_{\text{pos}}$ and $\tau_{\text{neg}}$ are the time constants for potentiation and depression.
A simple example of an SNN in Python using the Brian2 simulator can be found below:
from brian2 import *
# Set parameters
tau_m = 10*ms
v_rest = -70*mV
v_thresh = -50*mV
v_reset = -80*mV
R_m = 100*Mohm
I_ext = 2*nA
# Define the LIF neuron model
eqs = '''
dV/dt = (-(V - v_rest) + R_m * I_ext) / tau_m : volt
'''
# Create a single LIF neuron
G = NeuronGroup(1, eqs, threshold='V > v_thresh', reset='V = v_reset', method='exact')
G.V = v_rest
# Define the synaptic connections
syn = Synapses(G, G, on_pre='V_post += 0.5*mV')
syn.connect(i=0, j=0)
# Set up the monitoring
state_mon = StateMonitor(G, 'V', record=True)
spike_mon = SpikeMonitor(G)
# Run the simulation
run(200*ms)
# Plot the results
import matplotlib.pyplot as plt
plt.plot(state_mon.t/ms, state_mon.V[0]/mV)
plt.xlabel('Time (ms)')
plt.ylabel('Membrane potential (mV)')
plt.show()
This example creates a single LIF neuron with a self-looping synapse and simulates its behavior over 200 ms. The membrane potential of the neuron is plotted over time, showing the typical spiking behavior of an LIF neuron.
In conclusion, neuromorphic computing seeks to emulate the human brain by constructing artificial systems with neurons and synapses that process information using spikes. This approach offers several advantages over traditional computing architectures, including energy efficiency, scalability, and a more biologically plausible model of computation. By understanding the building blocks of neuromorphic computing and harnessing the power of SNNs, we can develop more advanced AI systems that could potentially revolutionize various fields, including robotics, healthcare, and computer vision. ๐ง ๐ก๐
3. Advantages of Neuromorphic Computing¶
3.1 Energy Efficiency: Brain Power on a Budget¶
๐ฑ One of the most striking advantages of neuromorphic computing is its energy efficiency, which is crucial for AI and other demanding applications. This efficiency arises from the fact that neuromorphic systems are fundamentally designed to emulate the human brain, which is itself an astonishingly energy-efficient organ. To put things into perspective, the human brain consumes around 20 watts of power, whereas traditional computing systems require orders of magnitude more power to perform similar tasks.
Neuromorphic computers achieve this energy efficiency through several ingenious mechanisms, such as event-driven processing, sparse coding, and local memory storage. In event-driven processing, computations are only triggered by significant changes in input data, rather than being executed at a fixed clock rate. This approach minimizes power consumption by avoiding unnecessary computations. Sparse coding, on the other hand, represents data with a minimal number of non-zero values, thereby reducing the overall computational workload. Finally, local memory storage reduces the need for energy-intensive data transfers between processing units and memory.
The energy efficiency of neuromorphic systems can be quantified using metrics such as energy per operation (EPO) and operations per second per watt (OPS/W). For example, consider a traditional computing system with an energy consumption of $P_{traditional}$ watts and a neuromorphic system with an energy consumption of $P_{neuromorphic}$ watts. If both systems perform $N$ operations per second, their EPO and OPS/W values can be calculated as follows:
$$ \text{EPO}_{traditional} = \frac{P_{traditional}}{N}; \quad \text{OPS/W}_{traditional} = \frac{N}{P_{traditional}} $$$$ \text{EPO}_{neuromorphic} = \frac{P_{neuromorphic}}{N}; \quad \text{OPS/W}_{neuromorphic} = \frac{N}{P_{neuromorphic}} $$Given that neuromorphic systems are typically more energy-efficient, we can expect $\text{EPO}_{neuromorphic} < \text{EPO}_{traditional}$ and $\text{OPS/W}_{neuromorphic} > \text{OPS/W}_{traditional}$.
3.2 Scalability: Building Bigger (and Smarter) Brains¶
๐ Another key advantage of neuromorphic computing is its scalability, which allows researchers to build increasingly powerful systems that can tackle more complex tasks. Neuromorphic architectures are inherently modular and can be easily expanded by adding more neurons and synapses, thereby increasing their computational capacity. This is in stark contrast to traditional computing systems, which often struggle to scale due to issues such as power consumption, heat dissipation, and interconnect complexity.
Examples of large-scale neuromorphic projects include IBM's TrueNorth chip, which contains over a million programmable neurons and 256 million programmable synapses, and Intel's Loihi, which features 128 neuromorphic cores and supports up to 130,000 programmable neurons. These projects demonstrate the potential for neuromorphic systems to grow in size and complexity, pushing the boundaries of what is possible in the realm of artificial intelligence.
The scalability of neuromorphic systems can be analyzed using metrics such as neurons per unit area ($\text{NPUA}$) and synapses per unit area ($\text{SPUA}$). For example, consider a neuromorphic system with an area of $A_{neuromorphic}$ square millimeters, containing $N_{neurons}$ neurons and $N_{synapses}$ synapses. Its $\text{NPUA}$ and $\text{SPUA}$ values can be calculated as follows:
$$ \text{NPUA} = \frac{N_{neurons}}{A_{neuromorphic}}; \quad \text{SPUA} = \frac{N_{synapses}}{A_{neuromorphic}} $$As neuromorphic technologies advance, we can expect these metrics to increase, enabling the creation of even more powerful and brain-like AI systems.
So, with energy efficiency and scalability on our side, what can we achieve with neuromorphic computing? ๐ค Let's dive into some fascinating applications and use cases that showcase the true potential of this groundbreaking field! ๐
4. Applications and Use Cases¶
4.1 Robotics: Giving Machines a Brain of Their Own¶
Neuromorphic computing has been a game-changer in the world of robotics, providing them with a more efficient and biologically plausible means of processing information. This has led to the development of intelligent, autonomous robots that can navigate complex environments, adapt to new situations, and interact with humans in a more natural way ๐ค.
One example of such a robot is the DARPA-funded SyNAPSE project, which has developed a neuromorphic chip that can be integrated into robotic systems. This chip uses spiking neural networks to process sensory data, enabling robots to recognize objects, track moving targets, and perform other complex tasks in real-time with low energy consumption.
Another promising application of neuromorphic computing in robotics is the development of robotic limbs and prosthetics. By mimicking the human brain's sensorimotor integration, neuromorphic systems can provide more accurate and responsive control over these devices, improving the quality of life for amputees and individuals with disabilities. Researchers at the University of Michigan have developed a life-like robotic hand that utilizes neuromorphic hardware to achieve precise and smooth control.
4.2 AI-Driven Healthcare: Mimicking the Human Brain to Save Lives¶
The potential of neuromorphic computing in healthcare is immense, particularly in the realms of diagnostics and treatment planning. By emulating the human brain's processing capabilities, neuromorphic systems can analyze vast amounts of medical data with unparalleled speed and accuracy, leading to more accurate diagnoses and better patient outcomes ๐.
For instance, neuromorphic systems can be applied to the analysis of medical images, such as X-rays, MRIs, and CT scans. By leveraging the inherent parallelism of spiking neural networks, these systems can perform complex image processing tasks, like feature extraction and pattern recognition, with a fraction of the energy consumption of traditional computing architectures. This has led to the development of advanced computer-aided diagnosis (CAD) systems that can detect diseases such as cancer at earlier stages and with greater accuracy Schuman et al.
In addition, neuromorphic computing has shown promise in the field of personalized medicine, enabling the development of AI-driven treatment plans tailored to individual patients' genetic profiles and medical histories. By incorporating the patient-specific information into the neuromorphic models, these systems can predict the optimal treatment strategy, minimizing side effects and maximizing therapeutic efficacy.
4.3 Vision and Pattern Recognition: Seeing the World Through an AI's Eyes¶
Neuromorphic computing has made significant strides in the field of computer vision and pattern recognition, thanks to its ability to mimic the human brain's processing of visual information ๐. By utilizing the energy-efficient and event-driven nature of spiking neural networks, neuromorphic systems can perform complex image and video processing tasks in real-time and with minimal power consumption.
One notable example of neuromorphic computing's application in computer vision is the development of the Dynamic Vision Sensor (DVS) Lichtsteiner et al, which is a silicon retina that mimics the human eye's photoreceptor cells. Unlike traditional cameras that capture static frames at fixed intervals, the DVS records pixel-level changes in brightness as asynchronous events, resulting in a highly efficient and low-latency visual processing system. This has led to numerous applications, such as high-speed motion tracking, optical flow estimation, and event-based object recognition.
In pattern recognition, neuromorphic computing has demonstrated its prowess in tasks like handwriting recognition and speech processing. For example, researchers at the IBM Research Lab have developed a spiking neural network-based system for real-time speech recognition. By utilizing the temporal dynamics of spiking neurons, this system can process speech signals with high accuracy and minimal power consumption, outperforming traditional deep learning models in terms of energy efficiency.
Another exciting application of neuromorphic computing in pattern recognition is the development of intelligent sensor networks. By incorporating neuromorphic processors into sensor nodes, these networks can perform complex, real-time analysis of sensory data, such as detecting anomalies in industrial systems or monitoring environmental conditions. This allows for more efficient data processing and decision-making, ultimately leading to smarter and more responsive sensor networks ๐.
In conclusion, the applications and use cases of neuromorphic computing are vast, spanning across robotics, healthcare, computer vision, and pattern recognition. By harnessing the power of spiking neural networks and emulating the human brain's information processing capabilities, neuromorphic systems can revolutionize various fields, leading to the development of more intelligent, energy-efficient, and biologically plausible AI systems. As we continue to push the boundaries of neuromorphic computing, the potential for groundbreaking innovations and advancements in AI seems limitless ๐.
5. Challenges and Future Directions¶
5.1 Overcoming Technical Hurdles: No Pain, No Gain¶
๐ง While neuromorphic computing has shown tremendous promise, it is not without its fair share of technical challenges. Some of these hurdles include:
Hardware implementation: Designing and fabricating neuromorphic hardware that accurately emulates biological neurons and synapses is no walk in the park. Researchers need to develop novel materials and devices, such as memristors or phase-change memory, that can replicate the complex behavior of these biological structures.
Programming and algorithms: Traditional computing paradigms, such as the von Neumann architecture, rely on well-established programming languages and algorithms. Neuromorphic computing, however, demands a fundamental shift in how we think about computation, requiring the development of new programming paradigms and learning algorithms tailored to spiking neural networks (SNNs).
Accuracy and precision: Neuromorphic systems often exhibit inherent variability and stochasticity due to their analog nature, which can impact the accuracy and precision of computations. Balancing this trade-off between energy efficiency and computational fidelity is a key challenge in the field.
Interconnects and communication: As neuromorphic systems scale, managing the communication between neurons and synapses becomes increasingly complex. Researchers need to devise efficient and scalable interconnect solutions to maintain the desired levels of performance and energy efficiency.
Let's consider the challenge of hardware implementation. Suppose we want to design a neuromorphic system with $N_{neurons}$ neurons and $N_{synapses}$ synapses. It is necessary to minimize the area, power consumption, and fabrication complexity, represented by $A_{neuromorphic}$, $P_{neuromorphic}$, and $C_{neuromorphic}$, respectively. An optimization problem can be formulated as follows:
$$ \begin{aligned} & \text{minimize} & & A_{neuromorphic}(N_{neurons}, N_{synapses}) \\ & \text{subject to} & & P_{neuromorphic}(N_{neurons}, N_{synapses}) \leq P_{max} \\ & & & C_{neuromorphic}(N_{neurons}, N_{synapses}) \leq C_{max} \end{aligned} $$Here, $P_{max}$ and $C_{max}$ are the maximum allowable power consumption and fabrication complexity, respectively.
Addressing these challenges requires a multidisciplinary approach, involving experts from fields such as materials science, electrical engineering, computer science, and neuroscience. By working together, we can push the boundaries of what is possible in neuromorphic computing and unlock its full potential. ๐ช
5.2 The Road Ahead: A New Frontier for AI¶
๐ฎ As neuromorphic computing continues to evolve, it is poised to transform the landscape of artificial intelligence and other fields. Some predictions for the future of neuromorphic computing include:
Integration with deep learning: Combining the energy efficiency and brain-like computation of neuromorphic systems with the powerful representation learning capabilities of deep learning could lead to a new class of AI algorithms and models that are both more capable and more efficient.
Emergence of cognitive computing: Neuromorphic computing may pave the way for cognitive computing, where AI systems can learn, reason, and interact with humans in a more natural and intuitive manner. This could revolutionize fields such as natural language processing, robotics, and human-computer interaction.
Bio-inspired AI: As our understanding of the human brain advances, we can expect neuromorphic computing to incorporate more sophisticated and biologically plausible models of neural computation. This may lead to AI systems that exhibit more human-like intelligence and behavior.
Ubiquitous AI: The energy efficiency and scalability of neuromorphic systems make them ideal candidates for embedding AI into everyday objects and devices, enabling a world where AI is truly ubiquitous and seamlessly integrated into our lives.
One possible avenue for integrating deep learning with neuromorphic computing is through the use of spiking deep neural networks (SDNNs), which combine the hierarchical structure of deep learning models with the event-driven processing of SNNs. A recent study by Lee et al. presents a novel SDNN architecture, trained using a modified version of the popular backpropagation algorithm.
As we venture into the uncharted territories of neuromorphic computing, we must remember that the journey is just as important as the destination. ๐ So, let's embrace the challenges and uncertainties that lie ahead, and work together to build the ultimate thinking machine! ๐ง ๐ค๐ก
6. Conclusion¶
6.1 The Quest for the Ultimate Thinking Machine¶
As we reach the end of our thrilling exploration into the realm of neuromorphic computing, it's time to take a step back and reflect on the awe-inspiring potential of this groundbreaking technology. ๐ By emulating the intricate and elegant workings of the human brain, we are gradually inching closer to building the ultimate thinking machine that could revolutionize not just artificial intelligence, but our very understanding of what it means to be intelligent.
The journey has been long, and at times, arduous. We've delved into the building blocks of neuromorphic computing, unraveling the mysteries of neurons, synapses, and spiking neural networks. We've marveled at the energy efficiency and scalability of these brain-inspired systems, and their potential to transform fields like robotics, healthcare, and computer vision. But the road ahead is still filled with challenges and uncertainties, as we strive to overcome technical hurdles and push the boundaries of what is possible with AI. ๐ง
In the pursuit of the ultimate thinking machine, we must remember that the beauty of neuromorphic computing lies not just in its ability to mimic the human brain, but in its potential to transcend its biological limitations. As we embark on this quest for artificial intelligence that rivals, or even surpasses, human intelligence, let us embrace the spirit of exploration and discovery, guided by the words of the great mathematician Alan Turing:
$$ \text{"We can only see a short distance ahead, but we can see plenty there that needs to be done."} $$Let's take a moment to appreciate the immense progress that has been made in the field of neuromorphic computing. From humble beginnings as an ambitious idea, it has grown into a vibrant and diverse research area, attracting the brightest minds from around the world. ๐ But our work is far from over. In fact, it has only just begun.
So, dear researchers, enthusiasts, and dreamers, it is time to pick up the mantle and carry on this noble pursuit. The quest for the ultimate thinking machine awaits! ๐ช๐ Are you ready to embark on this grand adventure, to defy the odds and redefine the frontiers of artificial intelligence? If so, then let us join forces, and together, write the next chapter in the exciting saga of neuromorphic computing. ๐โจ
As we continue to push the boundaries of neuromorphic computing, let's also not forget to remain humble and open-minded, learning from the wisdom of nature and the human brain, while venturing into uncharted territories. For it is by embracing the unknown and challenging the impossible that we will truly realize our potential as creators, innovators, and thinkers. ๐ฑ๐ง
So, as we stand on the cusp of a new era in AI, let us forge ahead with courage, curiosity, and a spirit of collaboration. The future of neuromorphic computing is as bright as the stars that light up the night sky, and it is up to us to seize this opportunity and shape the destiny of our world. ๐
Onward, brave explorers, to the frontiers of artificial intelligence and beyond! ๐๐ซ
7. References¶
Mead, C. (1989). Analog VLSI and Neural Systems. Addison-Wesley.
Indiveri, G., Linares-Barranco, B., Hamilton, T. J., van Schaik, A., Etienne-Cummings, R., Delbruck, T., ... & Moradi, S. (2011). Neuromorphic silicon neuron circuits. Frontiers in neuroscience, 5, 73.
Furber, S. B. (2016). Large-scale neuromorphic computing systems. Journal of Neural Engineering, 13(5), 051001.
Schemmel, J., Fieres, J., & Meier, K. (2008). Wafer-scale integration of analog neural networks. 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence).
Merolla, P. A., Arthur, J. V., Alvarez-Icaza, R., Cassidy, A. S., Sawada, J., Akopyan, F., ... & Modha, D. S. (2014). A million spiking-neuron integrated circuit with a scalable communication network and interface. Science, 345(6197), 668-673.
Hwu, T., Isbell, J., Oros, N., & Krichmar, J. L. (2017). A self-driving robot using deep convolutional neural networks on neuromorphic hardware. 2017 International Joint Conference on Neural Networks (IJCNN).
Amir, A., Taba, B., Berg, D., Melano, T., McKinstry, J., Di Nolfo, C., ... & Andreopoulos, A. (2017). A low power, fully event-based gesture recognition system. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
Anumula, J., Neil, D., Delbruck, T., & Liu, S. C. (2018). Feature representations for neuromorphic audio spike streams. Frontiers in neuroscience, 12, 92.
Diehl, P. U., & Cook, M. (2015). Unsupervised learning of digit recognition using spike-timing-dependent plasticity. Frontiers in computational neuroscience, 9, 99.
Thakur, C. S., Molin, J. L., Cauwenberghs, G., Indiveri, G., Kumar, K., Qiao, N., ... & Wang, R. (2018). Large-scale neuromorphic spiking array processors: A quest to mimic the brain. Frontiers in neuroscience, 12, 891.
Davies, M., Srinivasa, N., Lin, T. H., Chinya, G., Cao, Y., Choday, S. H., ... & Zhang, Y. (2018). Loihi: A neuromorphic manycore processor with on-chip learning. IEEE Micro, 38(1), 82-99.
Benjamin, B. V., Gao, P., McQuinn, E., Choudhary, S., Chandrasekaran, A. R., Bussat, J. M., ... & Seo, J. S. (2014). Neurogrid: A mixed-analog-digital multichip system for large-scale neural simulations. Proceedings of the IEEE, 102(5), 699-716.
Liu, S. C., Delbruck, T., Indiveri, G., Whatley, A., & Douglas, R. (2015). Event-based neuromorphic systems. Wiley.
Silver, D., Huang, A., Maddison, C. J., Guez, A., Sifre, L., van den Driessche, G., ... & Hassabis, D. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587), 484-489.
Esteva, A., Kuprel, B., Novoa, R. A., Ko, J., Swetter, S. M., Blau, H. M., & Thrun, S. (2017). Dermatologist-level classification of skin cancer with deep neural networks. Nature, 542(7639), 115-118.
Litjens, G., Kooi, T., Bejnordi, B. E., Setio, A. A. A., Ciompi, F., Ghafoorian, M., ... & Sánchez, C. I. (2017). A survey on deep learning in medical image analysis. Medical image analysis, 42, 60-88.
Deng, L., & Yu, D. (2014). Deep learning: Methods and applications. Foundations and Trends in Signal Processing, 7(3-4), 197-387.