OZ
is an analog implementation of a NEF-inspired spiking neuron
(Figure 1, A ). In this circuit design, the input voltage is
transformed into a proportional current, driven into a voltage-amplifier
leaky integrated and fire (LIF) neuron circuit. The neuron produces a
spike train according to its response dynamic (tuning curve). Finally,
the spike train is introduced into an integrator circuit to provide
temporal integration. OZ neurons can be explicitly defined to feature
arbitrary tuning curves following NEF neuron specifications. In NEF, a
tuning curve is described with an intercept, the value for which the
neuron starts to produce spikes at a high rate and a maximal firing
rate. OZ response dynamic is defined by the values of \(V_{\text{lk}}\)and \(V_{\text{ref}}\). \(V_{\text{lk}}\) controls the discharge rate of\(C_{\text{mem}}\) (via the voltage-amplifier LIF neuron), thus
controlling the neuron’s intercept, and \(V_{\text{ref}}\) controls the
spikes’ refractory period, thus controlling the neuron’s firing rate. OZ
design was shown to have high predictability of the produced spike
trains and a complete correspondence with NEF across firing rates,
intercepts, and encoders .
Circuit simulation and
emulation
Circuit simulations in this work were executed using LTspice by Analog
Devices . The simulator is based on the open-sourced SPICE framework ,
which utilizes the numerical Newton–Raphson method to analyze nonlinear
systems . We used LTspice to evaluate the performance of our circuit
design on a small scale. To efficiently demonstrate our circuit design
on a larger scale, we designed a scalable Python-based emulator,
supporting the emulation of many OZ neurons and numerous PES-based
learning circuit blocks. We further compared our results to Nengo-based
simulations . The circuit simulation files and the emulator are
available in <will be provided upon
acceptance> .
Robotic arm simulation
We recently described our robotic arm simulation in . To simulate a
robotic arm, we used the Multi-Joint dynamics with Contact (MuJoCo)
physics simulation framework. The mechanical description of the robotic
arm and its accurate joint dynamics were specified using CAD-derived
specifications and inertia and mass matrices provided by Trossen
Robotics (USA). The arm provides 6 DOF, 82 cm reach, and 1.64 m span.
The simulation was developed using Python. Arm control was evaluated
using Nengo, a Python package for building, testing, and deploying
NEF-based neural networks and our circuit emulator described below.
Results
Circuit Design
Control Circuit
OZ neurons are configured using two control signals
(\(V_{\text{lk}},\ V_{\text{ref}}\); see Figure 1, A ), setting
the neuron’s intercept and maximal firing rate. However, individually
controlling each neuron is tedious and not feasible in a large-scale
design. We would therefore prefer programming the neurons to exhibit
different distributions of response dynamics. One way in which a
distribution can be configured is with simple resistor ladders (a
serially connected set of resistors) (Figure 1, B ). One ladder
sets the neurons’ intercepts, and the other sets their maximal firing
rate. In this simple control design, changing the voltages that feed the
ladders uniformly shifts the response of the controlled OZ ensemble in
the representation space. We simulated this control circuit to generate
various distributions of tuning curves, including a uniform and bounded
intercept distribution (by feeding different input values to both
resistor ladders) and a pure configuration in which the intercepts were
set to zero (Figure 1, C ). Each ensemble was driven by linear,
exponential, and sinusoidal inputs to highlight their different response
dynamics (Figure 1, D ). Note that in the design of OZ, a
preprocessing module generates a signal for positively encoded and
negatively encoded neurons. Therefore, by assuming symmetry of
activations (such as the one demonstrated in Figure 1, C ), only
four activations should be set for the configuration of eight neurons.
Learning Core
We propose a novel analog circuitry with which OZ neurons could be
utilized to learn neuromorphic representations, transformation, and
dynamics using the realization of the PES learning rule. This circuit
design aims at online learning with neuromorphic analog circuitry, and
it is scalable to comprise numerous OZ learning cores. The system
schematic is shown in Figure 2, A . In each learning core, a
normalized input signal is preprocessed to drive positively and
negatively encoded neurons. The preprocessing module is slightly
differently configured for each encoding modality, simplified here for
clarity. See for a full description.
With OZ neurons, the input signal is rate-coded (following the neuron’s
tuning curve) and temporally integrated. The integrated signal is driven
into a learning block alongside a normalized error signal and a learning
rate. The learning block (Figure 2, B ) processes the signal and
transforms it to an optimized value by minimizing the error signal using
hardware realization of PES learning. The learning block is also
responsible for the maintenance of the neuron’s weight. Finally, all
learning blocks’ outputs are summed by an adder block achieving an
estimated signal. The estimated signal is subtracted from the desired
signal, providing the error signal. The error signal is divided by the
number of neurons (via a voltage divider; not shown in the diagram) and
sent back to the learning block.