Neuromorphic computing refers to a type of computer architecture that is designed to emulate the structure and function of the human brain. Neuromorphic computing systems typically consist of networks of artificial neurons that are interconnected in a way that mimics the way neurons in the brain are connected.
One of the main advantages of neuromorphic computing is its ability to process information in a highly parallel and energy-efficient manner. This is achieved by exploiting the inherent parallelism and low power consumption of biological neurons and synapses. Neuromorphic computing systems can perform complex computations on large datasets with very low power consumption, making them potentially ideal for use in applications such as robotics, autonomous vehicles, and edge computing.
Neuromorphic computing is a computing approach that is influenced by the structure and function of the human brain. A neuromorphic computer/chip is any device that performs computations using physical artificial neurons (made of silicon). The term neuromorphic has recently been used to describe analog, digital, mixed-mode analog/digital VLSI, and software systems that implement neural system models (for perception, motor control, or multisensory integration).
On the hardware level, oxide-based memristors, spintronic memories, threshold switches, and transistors, among others, can be used to realize neuromorphic computing. Training software-based neuromorphic systems of spiking neural networks can be accomplished through error backpropagation, such as with Python-based frameworks like snnTorch, or through canonical learning rules from the biological learning literature, such as BindsNet.
Understanding how the morphology of individual neurons, circuits, applications, and overall architectures creates desirable computations, influences how information is represented, influences robustness to damage, incorporates learning and development, adapts to local change (plasticity), and facilitates evolutionary change is an important aspect of neuromorphic engineering.
Neuromorphic engineering is an interdisciplinary field that draws inspiration from biology, physics, mathematics, computer science, and electronic engineering to create artificial neural systems such as vision systems, head-eye systems, auditory processors, and autonomous robots with physical architecture and design principles based on biological nervous systems. Carver Mead proposed one of the first applications for neuromorphic engineering in the late 1980s.
Neuromorphic computing is a rapidly evolving field, with ongoing research focused on developing new hardware architectures, algorithms, and applications. Some of the key challenges in this field include developing efficient methods for training and optimizing neuromorphic systems, and ensuring that these systems are capable of processing and interpreting real-world sensory data in a robust and reliable manner.
While the interdisciplinary concept of neuromorphic engineering is still in its early stages, many of the same ethical concerns apply to neuromorphic systems as they do to human-like machines and artificial intelligence in general. However, the fact that neuromorphic systems are designed to mimic the human brain raises unique ethical concerns about their use.