Highlight

Short Paper on Virtual Neuron Published at ICRC 2023

Virtual neuron primitive for neuromorphic computing.
Virtual Neuron for two bit numbers. It takes two 2-bit numbers as input on the left. These numbers are encoded using binary encoding. The virtual neuron adds these numbers and returns the output on the right.
2023: Q3

Achievement

A short paper on the virtual neuron, a neuromorphic computing primitive for encoding and adding numbers, was published at the International Conference on Rebooting Computing (ICRC) 2022.

Significance and Impact

Neuromorphic computers are seen as accelerators that can perform machine learning operations by using spiking neural networks (SNNs). For performing any other operation (e.g., arithmetic, logical, relational), we still resort to CPUs and GPUs. These general-purpose operations are important for preprocessing data before it is transferred to a neuromorphic processor. In the current neuromorphic workflow (i.e., preprocessing on the CPU/GPU and inferencing on the neuromorphic processor) more than 99% of the time can be spent on data transfer. This is highly inefficient and can be avoided by preprocessing on the neuromorphic processor. To develop efficient mechanisms for preprocessing data on a neuromorphic processor, we must first have an efficient mechanism for encoding the data on the neuromorphic processor. The virtual neuron proposed in this paper is such an encoding mechanism. A few methods to encode numbers on neuromorphic processors exist in the literature, but their scope is restricted to the specific application they were designed for, and they are not suitable for general-purpose operations. Furthermore, no good mechanism exists for encoding negative integers and positive and negative rational numbers exactly on neuromorphic computers.

Research Details

Structurally, the virtual neuron is composed of LIF neurons and synapses that are connected in a particular way. Functionally, the virtual neuron mimics the behavior of an artificial neuron with identity activation. It leverages the binary encoding to encode numbers and performs addition operations similar to a ripple carry adder. For N-bit numbers, the virtual neuron uses O(N) neurons and synapses, can perform all its operations in O(N) time steps, and consumes O(N) energy. Other neuromorphic approaches for encoding numbers consume either exponential amount of time, space, or energy.

Overview

Neuromorphic computers perform computations by emulating the human brain and are expected to be indispensable for energy-efficient computing in the future. They are primarily used in spiking neural network-based machine learning applications. However, neuromorphic computers are unable to preprocess data for these applications. Currently, data is preprocessed on a CPU or a GPU-this incurs a significant cost of transferring data from the CPU/GPU to the neuromorphic processor and vice versa. This cost can be avoided if preprocessing is done on the neuromorphic processor. To efficiently preprocess data on a neuromorphic processor, we first need an efficient mechanism for encoding data that can lend itself to all general-purpose preprocessing operations. Current encoding approaches have limited applicability and may not be suitable for all preprocessing operations. In this work, we present the virtual neuron as a mechanism for encoding integers and rational numbers on neuromorphic processors. We evaluate the performance of the virtual neuron on physical and simulated neuromorphic hardware and show that it can perform an addition operation using 23 nJ of energy on average using a mixed-signal, memristor-based neuromorphic processor. The virtual neuron encoding approach is the first step in preprocessing data on a neuromorphic processor.

Last Updated: June 15, 2023 - 11:24 am