Using magnetic tunnel junctions to compute like the brain
Computers, originally designed to do precise numerical processing, are now widely used to do more cognitive tasks. These include categorical challenges like image and voice recognition, as well as robotic tasks like driving a car and making real-time decisions based on sensory input. While the human brain does not do precise numerical processing well, it excels at these other tasks, leading researchers to look to the brain for inspiration on efficient ways to engineer cognitive computers. Of particular interest are energy and space optimization. Computers can now perform many of these cognitive tasks as well as humans, and often faster, but at the cost of much higher total energy consumption and much greater space. Some improvements are being found from algorithms that are more brainlike, and some from novel electronic devices that emulate features of the brain. However, the greatest progress can be found by working simultaneously across the computational stack integrating both.
Magnetic tunnel junctions have several features that make them attractive potential devices for these applications. One feature is that they are already integrated into fabrication plants for complementary-metal-oxide-semiconductor (CMOS) integrated circuits. They can be readily integrated with existing CMOS technology to take advantage of its many capabilities. Another feature is that they are multifunctional. With only slight changes in fabrication details, they can be modified to provide non-volatile memory, truly random thermal fluctuations, or gigahertz oscillations. Magnetic tunnel junctions can be used as a memory to store synaptic weights, but when the weights change too frequently the energy cost of repeatedly writing them becomes inefficient. Reducing the retention time of the memory reduces the cost of writing them, leading to a trade-off between energy efficiency and reliability. The seemingly random patterns of neural spike trains have inspired a number of computational approaches based on the random thermal fluctuations of superparamagnetic tunnel junctions. I discuss some of these approaches and the design choices we have made in implementing neural networks based on superparamagnetic tunnel junctions.