IJCNN10 A
IJCNN10 A
net/publication/224181224
CITATIONS READS
104 687
2 authors, including:
Murray Shanahan
Imperial College London
174 PUBLICATIONS 7,780 CITATIONS
SEE PROFILE
All content following this page was uploaded by Murray Shanahan on 19 May 2014.
4105
III. T HE S PIKING N EURAL N ETWORK ϑ1 ϑ2 ϑ3 ϑ4 e1 e2 e3
4106
Training Period Loutput
i=1:4 (ϑ̇1 ) is erroneously activated because the sets of
Current firing neurons Linput input
i=1:4 (ϑ1 ) and Li=5:7 (ė2 ) are individually
shown to be good predictors for Loutput i=1:4 (ϑ̇1 ), according to
Cartesian
Coordinates
Motor ϑt et the first and third pattern under learning. To address this
ERG
Commands
Forward
issue, we modify the population vector scheme and use many
ϑt+1 et+1
+ Kinematic - “bins” of neurons to represent a single value of a variable,
ϑt Equations
Proprioception et which means many possible “central neurons”. In this way,
ϑt
even when firing patterns have the above characteristic, the
erroneous firing in the output layers can be avoided when at
least one of the four central neurons representing Linputi=1:4 (ϑ1 )
is different in the first and second pattern, or Linputi=5:7 (ė2 ) in
SNN
the second and third pattern.
The aforementioned issues would not have been encoun-
Input Output tered if were following an alternative approach to represent-
Layers Layers
ing the input patterns. As has been discussed, we use N
STDP
independent neuronal layers to represent N variables, with
the population of neurons in each layer encoding the value
of a single variable. An alternative representation scheme
that would not cause the issues discussed above would be
to use a single N -dimensional array of neurons, where each
Performance Period instance of input pattern (i.e., N -tuple) would be represented
SNN
by stimulating a unique set of neurons. This representation
desired et however has the important drawback of poor scalability, since
spatial
direction Input Output
Motor
Commands
ϑt the population of neurons required increases exponentially
Proprioception
Layers Layers
with the number of variables represented. In particular, even
ϑt
if we had just 10 neurons representing a single variable, then
this scheme would necessitate the use of 100000 neurons for
5 variables, and ten times this number if we were adding just
a single variable. It is thus evident that such a representation
can only be considered when the number of variables is
Fig. 3. A diagram of the system during the training and the performance small, and is not suitable for our task.
period.
A. Neuron Model
Many models have been proposed in the literature in
period, the network has to learn that when the arm lies on an attempt to simulate the behaviour of real neurons. An
the joint configuration ϑ1 , the motor command vectors ϑ̇1 influential model was proposed by Hodgkin and Huxley [9]
and ϑ̇2 move the end-effector in the spatial directions ė1 and who translated their experimental observations on the giant
ė2 , respectively. This means that the synaptic weights should axon of the squid into a set of nonlinear ordinary dif-
adapt so that, the simultaneous stimulation of Linput i=1:4 (ϑ1 ) ferential equations. While their model is considered to be
and Linput
i=5:7 1(ė ) will result in the activation of Loutput
i=1:4 (ϑ̇1 ).
2
biophysically accurate, their simulation is computationally
Similarly, the simultaneous stimulation of Linput i=1:4 (ϑ1 ) and expensive. An alternative model is based on integrate-and-
Linput output
i=5:7 (ė2 ) should result in the activation of Li=1:4 (ϑ̇2 ). fire neurons which carry much less computational burden.
While this can be learned through STDP, a conflict is The shortcoming of this model however is its inability to
encountered if the network is subsequently called to learn reproduce the rich dynamics exhibited by cortical neurons.
that, when the arm rests in the new joint configuration ϑ2 , In this work, we simulate the individual neurons according
the motor command vector ϑ̇1 moves the end-effector in to Izhikevich’s “simple model” [10]. This model preserves
the spatial direction ė2 . That is, the simultaneous stimulation the biologically realistic behaviour exhibited by the Hodgkin-
of Linput input
i=1:4 (ϑ2 ) and Li=5:7 (ė2 ) should activate the neurons Huxley model, and at the same time is computationally effi-
output
in Li=1:4 (ϑ̇1 ). If the synaptic weights in the network are cient as the integrate-and-fire model. The low computational
modified to incorporate the last pattern, it is clear that the cost is especially important when it comes to simulate large
stimulation of Linput input
i=1:4 (ϑ1 ) and Li=5:7 (ė2 ) would erroneously networks. The efficiency of the model relies on the fact that
result in the activation of both neuron sets Loutput i=1:4 (ϑ̇1 ) and it uses only two equations and has only one non-linear term.
Loutput
i=1:4 (ϑ̇ 2 ), while it should only activate L output
i=1:4 (ϑ̇2 ), as
In particular, the equations describing the model are given
given by the second training pattern. The output firing pattern by:
2 L (θ )
v̇ = 0.04v 2 + 5v + 140 − u + I (7)
i 0 denotes the set of neurons in the i-th layer which represent the
value θ0 . u̇ = a(bv − u) (8)
4107
0.05
with after-spike resetting:
0.04
v←c
if v ≥ 30 then (9)
u←u+d 0.03
ΔS
recovery period of the neuron after spiking. The membrane 0
recovery variable u provides negative feedback to the mem-
brane potential v, and emulates the activation of K + ionic −0.01
4108
iteration 0: Random Synaptic Weights iteration 40: iteration 100:
)
n
io
t
c
e
ir
d
l
a
i
t
s a
n p
o s
r t
u e
e g
n r
t a
u t
p ,
n
in o
i
t
p
e
c
o
i
r
p
o
r
p
(
direction y: 0.7
e
c
io
r -0.7
p
o
r
0.7
direction z: -0.7
p
(
Fig. 5. The connectivity matrix between a set of input and motor neurons (see text). The matrix is shown for the iterations 0, 40, 100, 200, 400 and 700.
Darker color indicates lower synaptic weights. As can be seen, the synaptic weights start from random values before training, and their values change to
accommodate the correlation between input and output patterns. In the specific example, two different central neurons have been assigned to represent the
value 0 in the fifth input layer that represents the spatial direction x, as has been explained in the text.
in the respective neuronal layers. An interval of 50 msec is ϑ̇1 move the arm from the configuration ϑ1 in the direction
set between the firing patterns that represent two consecutive ė1 , and the motor commands ϑ̇2 move the arm from the
movements. In the simulation, a background noise of 3 Hz pose ϑ2 in the direction ė2 . Recall that we have 7 input
is used in both input and output layers in order to weaken layers and 4 output layers, and these layers are separated
the synaptic weights between uncorrelated neurons. in the connectivity matrix with thick yellow lines. As can
be seen in the upper-left corner of Figure 5, the synaptic
The connectivity matrix for a subset of the synaptic
weights are initially set to random values. As the training
weights between input and motor neurons during the training
takes place, we can observe that progressively the synaptic
stage is shown in Figure 5, where darker colors represent
weights between the correlated neurons (ϑ1 , ė1 ) and ϑ̇1
weaker synapses. The set of input neurons included in the
increase, while the synaptic weights between the uncorrelated
connectivity matrix shown represent the arm configurations
(ϑ1 , ė1 ) and ϑ̇2 decrease. At the 700th iteration, we can see
ϑ1 = [−50o , 23o , 0o , 42o ] and ϑ2 = [−30o , 53o , 30o , 22o ],
that the correlation between (ϑ2 , ė2 ) and ϑ̇2 has also been
as well as the spatial directions ė1 = [0, 0.7, 0.7] and ė2 =
established.
[0, −0.7, −0.7]. Similarly, the set of motor neurons included
represent the motor commands ϑ̇1 = [−1o , 5o , −4o , 5o ] and After training, the network is able to generate those motor
ϑ̇2 = [3o , −4o , −3o , 2o ]. We have selected this set of input commands which, for a given arm configuration, move the
and motor neurons for illustration, as the motor commands end-effector in the desired spatial direction. In particular,
4109
Output Layer: 1
800
600
Neuron
400
200
0 100 200 300 400 500 600 700 800 900 1000
Time (ms)
Output Layer: 2
800
600
Neuron
400
200
0 100 200 300 400 500 600 700 800 900 1000
Time (ms)
Output Layer: 3
800
600
Neuron
400
200
0 100 200 300 400 500 600 700 800 900 1000
Time (ms)
Output Layer: 4
800
600
Neuron
400
200
0 100 200 300 400 500 600 700 800 900 1000
Time (ms)
Fig. 6. Raster plot of the output layers. We consider three arm configurations, and for each configuration, we set five desired spatial directions. The
time windows [0,350], [350, 670], and [670, 1000] refer to the three arm poses. Note that the first desired direction in each pose is the same, but
different motor commands are required. The arm configurations considered are: [−50o , 23o , 0o , 42o ], [−30o , 53o , 30o , 22o ], [−20o , 65o , 40o , 60o ], while
the spatial directions given are: [0 0.7 0.7; 0 1 0; 0 0 1; 0 -0.7 -0.7; 0 -1 0] (for the first arm pose), [0 0.7 0.7; 0.7 0 -0.7; 0.7 0.7 0; -0.7 -0.7 0; 0 -0.7
-0.7] (for the second arm pose), and [0 0.7 0.7; 0 1 0; 0.5 0.5 -0.7; 0 -0.7 -0.7; 0 -1 0] (for the third arm pose).
we consider three arm poses, which have also been used as network provides when aiming to move the end-effector in
“home” positions during the training stage, and set, for each a certain spatial direction (i.e., [0 0.7 0.7]) for consecutive
pose, five desired spatial directions. The resulting raster plot steps.
of the output layers is shown in Figure 6, which is decoded
into motor commands in order to move the end-effector in V. C ONCLUSION
the desired spatial directions. It is worth noting that the same In this paper, we have presented a spiking neural network
spatial direction in the three arm poses requires different that autonomously learns to control a four degree-of-freedom
motor commands, and thus necessitates the activation of robotic arm in three dimensional space. The neural network
different output neurons. This is achieved in the proposed consists of approximately 12000 Izhikevich’s neurons, and
network, even though there is a partial overlapping in the has a feed-forward architecture. The input layers of the
input stimuli due to the fact that the input layers Linput i=5:7
network encode the joint positions of the arm and the desired
encode the same spatial direction. The desired directions spatial direction of the end-effector, and the output layers
and the actual directions of movement produced by the represent the corresponding motor commands. We have cho-
decoded motor commands can be seen in Figure 7, where the sen this architecture due to the fact that the set of motor
mean difference is 7o . The error can be decreased by using commands that drive the end-effector in a certain spatial
smaller discretization bins for the spatial direction during the direction is only valid in a local region of the joint space, and
training stage (currently, the bin size is 45o ). Finally, Figure 8 thus, the input firing pattern should encode the desired spatial
illustrates the joint angles of the arm that the spiking neural direction in conjunction with the current joint configuration
of the arm. The training takes place during a motor babbling
4110
ACKNOWLEDGMENT
This work was supported by an EPSRC Grant under
300 Project Code EP/F033516/1.
200 R EFERENCES
100 [1] D. Bullock, S. Grossberg and P.H. Guenther, “A Self-Organizing Neural
Model of Motor Equivalent Reaching and Tool Use by a Multijoint
0 Arm”, Journal of Cognitive Neuroscience, vol. 5, no. 4, pp. 408–435,
z
1993
−100 [2] P. Gaudiano and S. Grossberg, “Vector associative maps: Unsupervised
real-time error-based learning and control of movement trajectories”,
−200 Neural Networks, vol. 4, no. 2, pp. 147–183, 1991
[3] S. Grossberg, “Some nonlinear networks capable of learning a spatial
−300
pattern of arbitrary complexity”, Proceedings of the National Academy
−500 of Sciences of the United States of America, vol. 59, no. 2, pp. 368–372,
500
−400 400 1968
−300
−200
300 [4] G. Asuni, G. Teti, C. Laschi, E. Guglielmelli and P. Dario, “A Robotic
200
−100 100 Head Neuro-controller Based on Biologically-Inspired Neural Models”,
0 0 Proceedings of the IEEE International Conference on Robotics and
y
x Automation, pp. 2362–2367, 2005
[5] Q. Wu, T.M. McGinnity, L. Maguire, A. Belatreche and B. Glackin, “2D
co-ordinate transformation based on a spike timing-dependent plasticity
Fig. 7. The desired directions and the actual directions of movement
learning mechanism”, Neural Networks, vol. 21, no. 9, pp. 1318–1327,
produced by the decoded motor commands.
2008
60
[6] A.P. Davison and Y. Frégnac, “Learning Cross-Modal Spatial Trans-
formations through Spike Timing-Dependent Plasticity”, Journal of
50 Neuroscience, vol. 26, no. 21, pp. 5604-5615, 2006
40 [7] R. Borisyuk, Y. Kazanovich, D. Chika, V. Tikhanoff and A. Cangelosi,
“A neural model of selective attention and object segmentation in the
30
visual scene: An approach based on partial synchronization and star-
20 like architecture of connections”, Neural Networks, vol. 22, no. 5-6, pp.
707-719, 2009
joint angles (degrees)
10
[8] S.G. Wysoski, L. Benuskova and N. Kasabov, “Fast and adaptive
0 network of spiking neurons for multi-view visual pattern recognition”,
−10
Neurocomputing, vol. 71, pp. 2563–2575, 2008
[9] A.L. Hodgkin and A.F. Huxley, “A quantitative description of membrane
−20 current and its application to conduction and excitation in nerve”,
−30 Journal of Physiology, vol. 117, no. 4, pp. 500-544, 1952
[10] E.M. Izhikevich, “Simple model of spiking neurons”, IEEE Transac-
−40
tions on Neural Networks, vol. 14, pp. 1569-1572, 2003
−50 [11] S. Song and L.F. Abbott, “Cortical development and remapping
through spike timing-dependent plasticity”, Neuron, vol. 32, pp. 339-
−60
1 2 3 4 350, 2001
Motion Steps
[12] A. Pouget and P.E. Latham, “Population codes”, The Handbook of
Brain Theory and Neural Networks, 2nd edition. M. Arbib, MIT Press,
Fig. 8. The arm initially rests on the joint configuration 2003
[−50o , 23o , 0o , 42o ]. The figure depicts the joint angles as they have been [13] A.P. Georgopoulos, A.B. Schwartz and R.E. Kettner, “Neuronal popu-
updated by the neural network when moving the end-effector towards the lation coding of movement direction”, Science, vol. 233, no. 4771, pp.
spatial direction [0 0.7 0.7]. Symbols ‘*’, ‘o’, ‘’ and ‘’ correspond to 1416–1419, 1986
the first, second, third and fourth joint respectively. [14] S. Song, K.D. Miller and L.F. Abbott, “Competitive Hebbian learning
through spike-timing-dependent synaptic plasticity”, Nature Neuro-
science, vol. 3, pp. 919–926, 2000
period, and Spike Timing-Dependent Plasticity has been [15] G. Bi and M. Poo, “Synaptic Modifications in Cultured Hippocampal
used as the learning mechanism. We have shown that this Neurons: Dependence on Spike Timing, Synaptic Strength, and Postsy-
naptic Cell Type”, Journal of Neuroscience, vol. 18, no. 24, pp. 10464–
mechanism is able to temporally associate the input and 10472, 1998
output patterns, modify the synaptic weights accordingly, [16] D.E. Feldman, “Timing-based LTP and LTD at vertical inputs to layer
and train the network to perform the mapping from spatial II/III pyramidal cells in rat barrel cortex”, Neuron, vol. 27, pp. 45–56,
2000
commands to joint commands. An important feature of [17] M.A. Woodin, K. Ganguly and M. Poo, “Coincident Pre- and Postsy-
the proposed network is its scalability with respect to the naptic Activity Modifies GABAergic Synapses by Postsynaptic Changes
number of degrees of freedom, as the population of neurons in Cl− Transporter Activity”, Neuron, vol. 39, pp. 807-820, 2003
[18] B. Siciliano and O. Khatib, “Springer Handbook of Robotics”,
required increases linearly with the number of joints. The Springer-Verlag, 2008
current implementation of the network is computationally [19] A. Fidjeland, E.B. Roesch, M.P. Shanahan and W. Luk, “NeMo:
costly (several seconds of processing time are required per A platform for neural modelling of spiking neurons using GPUs”,
20th IEEE International Conference on Application-specific Systems,
arm movement). In future work, we aim to implement the Architectures and Processors, 2009
proposed network using our GPU architecture [19] in order
to achieve real-time performance.
4111
View publication stats