Implementation of STDP based learning rule in Neuromorphic CMOS Circuits Srinidhi P J1 ,Yashaswini T R2 , Uttunga N3 ,Syed Aslam Ali4 , Mohammed Riyaz Ahmed5 1,2,3,4
Department of ECE, REVA I.T.M., Bengaluru-64 School of ECE, REVA University, Bengaluru,India 560064
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] 5
Abstract—The circuits inspired by organising principles of brain has been proven to be faster and more energy-efficient than modern day Boolean CMOS computations. Investigations revealed that most of our limitations in current CMOS technology is due to architectural difference. Neuromorphic Engineering is one such alternative approach, which aims to reproduce spike-based computation of brain using custom VLSI circuits (as its subthreshold region operation resembles neural behaviour). Here we aim at developing neural circuits and system that emulate basic functions of sensory systems. We start with implementation of early sensory processing like detection and transformation of input stimuli and slowly move towards cognitive processing area with introduction of a neural network (neural oscillator) for sensory segmentation and finally to implement the neural model to exhibit learning which is fundamental in various sensory functions. The learning is governed by spike-timing dependent plasticity (STDP). The operation of the systems are investigated through theoretical analysis, numerical simulations and circuit simulations. Index Terms—CMOS VLSI, Learning, Neural segmentation, Neuromorphic Engineering, STDP.
I. I NTRODUCTION Though computers were designed to mimic humans but the industry was more obsessed with miniaturizing the things rather than exhibiting human like behavior.Nature has many things to offer and nervous system is one such inspiration. The bio-inspired approach attempts to mimic some of the perceived functions of brain which is most energy efficient as compared to conventional boolean CMOS based computers. The bio-inspired approaches attempts to mimic some of perceived functions of brain using conventional engineering techniques. Biological communication happens on completely different set of principles as compared to existing engineering approaches. The fundamental difference is input, which is in unspecified and non-linear format. The processing is not based on absolute value of input (as it happens in our computers) instead on the relative values of inputs. Recent computing approaches have taken a u-turn from the conventional Von Neumann architecture to brain inspired architectures that mimic the computations of human nervous system. Neuromorphic engineering is an art of implementing Spiking neurons on custom VLSI circuits[2]. Neuromorphic engineers try to exploit the similarity between transistor operation and synaptic plasticity to implement neural systems and architectures.
Fig. 1. Spike Timing Dependent Plasticity (Hebbian Learning)
The communication happens through spikes within the large network of neurons. The neurons are connected through synapses where new connections and pruning happens (exhibiting learning) and synaptic strength is locally stored(exhibiting memory) as shown in figure 1. The initial attempts in Neuromorphic engineering focused on approximating the behaviour of sensory systems especially sensory and auditory systems. These biological equivalent circuits of human nervous systems acts as a guiding path towards intelligence (in machines) as shown in figure 2. Here we aim to implement basic sensory system circuits using neural segmentation i.e. neural oscillator. The sensory system process the sensory information which consists of receptors, neural transmission lines, and part of brain involved in cognition and metacognition. Whenever there is a stimuli, it triggers an impulse in sensory receptor where the stimuli is transferred into pulses or action potentials. These action potentials are transmitted via neural pathways where they are processed and interpreted. We assume the initial preprocessing is done as part of early sensory processing. We focus on the cognitive processing area where we introduce two models: sensory segmentation or neural segmentation(to decompose the sensed data into coherent segments) followed by neural model for storage of temporal sequences. The remainder of the paper is arranged as below: section
Fig. 2. Neuron model simulated in LTSpice
Fig. 4. Neuron oscillator simulated in Cadence
II explains the model interpretation and it’s behaviour by discussing neural oscillator and STDP modelling for learning and storage. Section III describes the related work carried in this field followed by section IV which explores the similarity between neurons and semiconductor devices. Finally paper concludes in section V.
connection strength between the ith − j th activators, Wijuv is the connection strength between the ith activators and also j th inhibitor[1]. We included a typical model of a reaction diffusion system, called the Belouosov Zhabotinsky(BZ) reaction, because the oscillatory in RD system can be achieved through Belouosov Zhabotinsky(BZ) reaction. Using a RD phenomenon we are constructed artificial neural network consist of solid state media.
II. T HE MODEL I NTERPRETATION AND IT ’ S B EHAVIOR According to Wilson-cowan type activator and inhibitor pairs ui and vi [3], the dynamics is based on BZ(Belouosov Zhabotinsky) reaction referred as oregonator model N
τ
X dui = −ui + fβ1 (ui − vi + Wijuu uj dt
(1)
j6=1 N
X dvi = −vi + fβ2 (ui − θi ) + Wijuv uj dt
(2)
j6=1
where τ represent time constant, N represent Number of oscillators, ui is the activator, vi is the inhibitors, θi is the external input to the oscillator, fβi (x) defines the Sigmoid function wherefβi (x) = [1 + tanh(βi x)]/2, Wijuu is the
Fig. 3. Output of Neuron model
A. Neural Oscillator A neural oscillator is shown in figure 4. Segmentation network have ’N’ coupled neural oscillators which consist of a activator and inhibitor pairs which is of Wilson Cowan type. Neural oscillator produces periodic neural activities in the brain which reveal much about creation of cognitive processes such as memory, learning, perception, attention and high level consciousness. Resistive synapse couples together two neural oscillators in the network[3]. The oscillator contains two current mirror pairs(m1 − m2 and m6 − m7 ) in Eqs.(1) and (2), two differential pairs (m3 − m4 and m8 − m9 ) which
Fig. 5. Oscillator output waveforms
is illustrated in Eqs.(3), bias transistors (m5 and m10 ) and two capacitors (c1 and c2 ) which is shown in Eqs.(4) and (5). I1 = I01 evgs1 /nvT andI2 = I02 evgs2 /nvT
(3)
w2 I2 = I1 w1
(4)
I1 − I2 = Ib tanh
k(V1 − V2 ) 2VT
(5)
Fig. 6. Illustration of Reichardt’s correlation Neural Network a. The basic unit of Reichardt’s correlation b. The conceptional operation of Reichardt’s correlation
C. STDP
C1 u˙ = −gu +
Ib exp(ku/VT ) exp(ku/VT ) + exp(kv/VT )
(6)
C2 v˙ = −gv +
Ib exp(ku/VT ) exp(ku/VT ) + exp(kθ/VT )
(7)
I1 , I2 are respectively the input and output currents of m1 , m2. vgs1 , vgs2 are gate voltages of m1 , m2. C1 , C2 are capacitances be entitled as time constant and θ which is to be bias voltage. Oscillations are shown in figure 5. B. Reichardt’s Correlation The one of a realistic biological motion forceps is the Reichardt’s CNN and it is only applicable for CMOS analog implementation as shown in figure 6. Reichardt’s correlation is one dimensional network, it basically consist of three layers those are an input, hidden (delay) and output layers. Neurons in the first (input) layer accepts visual stimulus and potentiating occurs (generates signals which corresponds to the layers). One of these signals is connected with a neuron in the output layer, remaining are connected with the neurons in delay layer, where these neurons generates delayed signals with the time constant and those signals are given to neighbouring neurons in output layer via excitatory and inhibitory pre-synaptic connections[4]. In above figure when two activators or inhibitors are generates a delay of t1 with different time constant. The earlier delay is correlated and hence the spike is generated. The spikes produced by activator u1 or inhibitor v1 given to the neuron which in turn generates a blurred output Dout .The dynamics are given by t1
dDout = −Dout + u1 dt
(8)
t1
dDout = −Dout + v1 dt
(9)
where the above equation is based on state space model analysis, ’-’ sign indicates the initial condition which is used because memory affects the system characterization and subsequent behavior, t1 defines delayed time constants. Presenting two unit pairs with distinct delayed time constants, i.e.,t1 andt2 ( t1 ); Mexican hat with 2D and 3D is as shown in figure 7.
Short electrical pulses known as spike in a neural signal can be observed by placing fine R ∞electrode closer to the axon of a neuron. u(t) = η(t − tˆ) + 0 k(t − tˆ, s)I(t − s)ds where,tˆ is the time taken for firing the last spike of the neuron,η is the action potential, k linear response of an input,I(t) simulating current. Electrically excited pair of action potential with fixed time difference between pre and post synaptic potential changes the synaptic strength in neurons is called STDP. Spike based calculus in the surroundings of artificial learning algorithm is known as STDP learning mechanism. It as the capability of explaining cortical phenomenon over Hebbian correlation plasticity and it also achieved learning in hidden spiking pattern or competitive spike pattern learning. Let us explain the exchange of neuron information and the synaptic connections in the below figure 8. A pre synaptic spike is generated by pre synaptic neuron called Vmem−pre through one of its axon[5]. Neural spikes generates + − + is the whereVpre andVpre a membrane voltage called Vpre − outside of the cellular membrane w.r.t Vpre . The dynamics + − + − are Vmem−pre = Vpre − Vpre and Vmem−pos = Vpos − Vpos The additive effect of pre synaptic spike will ultimately trigger the generation of new spike at the post synaptic neuron. Synapse is represented by a synaptic strength(weight) ”W” which defines the efficiency of pre and post synaptic spike for the contribution of cumulative action . The synaptic weight ∆W in STDP can also be expressed as a time difference produces between pre-synaptic at tpre and post-synaptic spike at tpost . Explicitly ∆W=ξ(∆T ). According to the experimental data of Bi and Poo the STDP function ξ can be interpolated as. a) If pre and post synaptic post have high relevance then it
Fig. 7. Mexican hat: Matlab simulation in 2D and 3D
III. P REVIOUS W ORK
Fig. 8. STDP learning circuit
results positive ∆T and does the potential of synaptic weight ∆W>0, that will be stronger as | ∆T | decreases. b) If pre and post synaptic post have high irrelevance then it results negative ∆T and does the potential of synaptic weight ∆W