Using the dynamics of nanodevices for artificial intelligence
Artificial neural networks are performing tasks, image recognition and natural language processing, for artificial intelligence. However, these algorithms run on traditional computers and consume orders of magnitude more energy more than the brain does at the same task. One promising path to reduce the energy consumption is to build dedicated hardware to perform artificial intelligence. Nanodevices are particularly interesting because they allow for complex functionality with low energy consumption and small size. I discuss two nanodevices. First, I focus on stochastic magnetic tunnel junctions, which can emulate the spike trains emitted by neurons with a switching rate that can be controlled by an input. junctions can be combined with CMOS circuitry to implement population coding to build low power computing systems capable of controlling output behavior. Second, I turn to different nanodevices, memristors, to implement a different type of computation occurring in nature: swarm intelligence. A broad class of algorithms inspired by the behavior of swarms have been proven successful at solving optimization problems (for example an ant colony can solve a maze). Networks of memristors can perform swarm intelligence and find the shortest paths in mazes, without any supervision or training. These results are striking illustrations of how matching the functionalities of nanodevices with relevant properties of natural systems open the way to low power hardware implementations of difficult computing problems.