BIO-INSPIRED SPIKING CONVOLUTIONAL NEURAL NETWORK USING LAYER-WISE
SPARSE CODING AND STDP LEARNING

arXiv:1611.03000v4 [] 24 Jun 2017

Amirhossein Tavanaei, Anthony S. Maida
University of Louisiana at Lafayette
The Center for Advanced Computer Studies, Bio-inspired AI Lab
301 E. Lewis Street, Lafayette, LA 70503, USA
{tavanaei,maida}@louisiana.edu
ABSTRACT

Hierarchical feature discovery using non-spiking convolutional neural networks (CNNs) has attracted much recent
interest in machine learning and computer vision. However,
it is still not well understood how to create a biologically
plausible network of brain-like, spiking neurons with multilayer, unsupervised learning. This paper explores a novel
bio-inspired spiking CNN that is trained in a greedy, layerwise fashion. The proposed network consists of a spiking
convolutional-pooling layer followed by a feature discovery
layer extracting independent visual features. Kernels for the
convolutional layer are trained using local learning. The
learning is implemented using a sparse, spiking auto-encoder
representing primary visual features. The feature discovery
layer extracts independent features by probabilistic, leaky
integrate-and-fire (LIF) neurons that are sparsely active in response to stimuli. The layer of the probabilistic, LIF neurons
implicitly provides lateral inhibitions to extract sparse and
independent features.
Experimental results show that the convolutional layer is
stack-admissible, enabling it to support a multi-layer learning. The visual features obtained from the proposed probabilistic LIF neurons in the feature discovery layer are utilized
for training a classifier. Classification results contribute to the
independent and informative visual features extracted in a hierarchy of convolutional and feature discovery layers. The
proposed model is evaluated on the MNIST digit dataset using clean and noisy images. The recognition performance for
clean images is above 98%. The performance loss for recognizing the noisy images is in the range 0.1% to 8.5% depending on noise types and densities. This level of performance
loss indicates that the network is robust to additive noise.
Index Terms— Biologically plausible learning rule,
Spiking convolutional neural network, Sparse representation,
Probabilistic STDP, Stack-admissible network

1. INTRODUCTION
Hierarchical neural architectures resemble the ventral visual cortex of the primate brain [1]. Although deep learning [2, 3, 4, 5] and specifically convolutional neural networks
(CNNs) [6, 7] have shown breakthrough performance in pattern recognition, the question of learning the hierarchical architecture of biologically plausible neural layers has not been
solved. Additionally, most CNNs are trained by backpropagation, which cannot be computed locally. This paper, as
the extended version of our previous research [8], addresses
the challenge of equipping spiking CNNs with biologically
plausible multi-layer learning. In addition to improved biorealism, spiking CNNs have better prospects for extremely
low-power implementations in appropriate hardwares [9].
One of the challenges in using spiking CNNs is that they
are difficult to train. This can be seen among researchers
who attempt to use spiking networks on neuromorphic hardware. To avoid the difficulties of directly training a spiking
CNN, these networks are usually trained as a conventional
(non-spiking) CNN and then, after training, are translated to
a spiking network [9, 10, 11]. For instance, Cao et al. (2014)
developed a spiking CNN by converting an already trained,
rate-based CNN to a spike-based implementation [9]. Diehl et
al. (2015) extended the conversion method introduced in [9]
to reduce the performance loss during the conversion using a
weight adjustment approach [11]. Our interest is in developing spiking CNNs which directly use multi-layer learning.
A number of spiking CNNs [12, 13, 14, 15] trained by
spike-timing-dependent plasticity (STDP) [16] currently exist. One of their limitations is that they utilize only one
trainable layer of unsupervised learning. That is, they avoid
multi-layer learning. The network of Masquelier and Thorpe
(2007), which is possibly the earliest spiking CNN, has this
property [12, 17]. It consists of a convolutional/pooling layer
followed by a feature discovery layer and a classification
layer. Only the feature discovery layer uses unsupervised
learning. Wysoski et al. (2008) used a similar design which
extracted initial features using difference of Gaussian (DoG)

filters in different orientations [13]. This network also had
only one trainable layer for unsupervised learning. Furthermore, neither of these networks trained the earlier feature extraction layer, but instead used handcrafted Gabor or
DoG filters. Recent extensions of [12] providing multi-layer
STDP-based networks still utilize the handcrafted filters for
primary visual feature extraction [18, 19]. The recent works
of [20] and [21] develop the multi-layer learning in deep
spiking networks using backpropagation. However, the backpropagation algorithm is not biologically plausible. Our
paper introduces a novel bio-inspired spiking CNN in which
both the convolutional (feature extraction) and feature discovery layers are trained locally using layer-wise, unsupervised
learning. Learning the convolutional layer corresponds to
learning the convolutional filters using a sparse, spike-based
visual feature coding. The feature discovery layer consists of
probabilistic LIF neurons equipped with a probabilistic local
learning rule to extract independent features for classification.
Our first contribution is to train convolutional filters with
learned detectors acquired by a biologically plausible, stateof-the-art, sparse coding model. The acquired detectors represent the model receptive fields whose shapes resemble those
found in primate visual cortex (area V1). Sparse representations, where each input state is coded by a few active units,
are a compromise between extremely localized representations and fully distributed representations, while being easy
to analyze [22]. Each unit represents one component or feature of the pattern. The construction of sparse representations
that resemble V1 receptive fields has been achieved by different methods such as feedforward Hebbian units interconnected by lateral anti-Hebbian feedback synapses [22], minimizing reconstruction error combined with a sparsity regularizer [23], independent components analysis (ICA) [24],
and minimizing the energy function of neural activity distribution [25]. In terms of sparse spike code formation, recent
work has used spiking networks to study the acquisition of
visual sparse code comparable to visual features found in cortical area V1 using inhibitory interneurons [26], ICA [27],
mirrored STDP [28], and canceling the correlations between
filters (matching pursuit, MP) [29]. Zylberberg et al. (2011)
introduced the sparse and independent local network (SAILnet) of spiking neurons to produce the sparse representations
of visual features for natural image patches represented by
1356 units [30]. Specifically, the output units exhibited three
types of receptive fields: “small unoriented features, localized and oriented Gabor-like filters, and elongated edge detectors” [30, p. 5]. Based on this assumption that these detectors can be used as convulutional filters, we use a modified
architecture of the SAILnet to train orientation selective convolutional kernels.
Our second contribution is to learn a feature discovery layer consisting of probabilistic neurons. This layer
is stacked on the convolutional-pooling layer. The probabilistic neurons implement a winners-take-all competition

to extract independent features. This layer uses an unsupervised probabilistic STDP learning rule. Previous studies
provide evidence that Bayesian analysis of sensory stimuli
occurs in the brain [31, 32, 33, 34]. In Bayesian inference, the hidden causes are inferred using prior knowledge
and the likelihood of the observation to obtain a posterior
probability. The plausible learning rules based on the joint
distribution of perceptions and hidden causes have attracted
much interest in many areas such as adapting the spontaneously spike sequences close to the empirical distribution
of actual ones [35], expectation maximization (EM) approximation in recurrent SNNs [36], probabilistic information representation [37], Markov chain Monte Carlo sampling [38],
and probabilistic association between neurons generated by
STDP [39]. Nessler et al (2009 and 2013) showed that their
STDP variation implements a stochastic online EM algorithm [40, 41]. Later, this STDP rule was used in reservoir
computing [42], spatio-temporal pattern recognition in a
hidden Markov model (HMM) [43], and Gaussian mixture
model (GMM) training embedded in the HMM states [44].
One drawback of Nessler’s STDP rule is that its ‘excitatory’
connections use negative weights. Tavanaei et al (2016)
modified Nessler et al’s STDP rule, based on positive excitatory connections, for visual feature acquisition in a spiking
CNN [45]. Here, the feature discovery layer in the spiking CNN is implemented as a single layer network of novel
probabilistic neurons equipped with the probabilistic STDP.
Relative likelihood of the proposed STDP components (LTP
and LTD) specifies a Bayesian computation occurring in the
synaptic weight plasticity.
Finally, the pipeline of convolutional and feature discovery layers is trained layer-wise in a spiking framework that
results in a spiking CNN extracting independent features for
pattern recognition task. Our approach falls within the framework of a stacking paradigm for deep belief networks because
the filter weights for the feature extraction layer are frozen after they are trained. The spiking CNN used in this study is a
multi-layer architecture of visual feature extraction modules
that have two layers of bio-inspired learning.
2. METHOD
This section specifies the details of our spiking CNN architecture. As previously mentioned, the two learning layers
are trained in a greedy, layer-wise fashion. The first learning layer is trained using the sparse coding algorithm. These
trained weights are then used as filters in the convolutional
layer of the spiking CNN. The convolutional layer projects
to a pooling layer to reduce the feature map size and to improve invariance to local translation and scale. Spike trains
generated by the pooling layer neurons project to the feature
discovery layer. This layer is trained according to the spikes
received from the pooling layer using an unsupervised STDP
rule.

Section 2.1 describes how the convolutional filters are
trained and Section 2.2 describes how they are used to transfer spike trains to the pooling layer (Section 2.3). Section 2.4
explains the feature discovery layer’s architecture and its
learning rule to provide visual features for classification as
described in Section 2.5.

are applied after each 20 ms stimulus presentation, are given
below.
inh
∆Wim
= α(ni nm − ρ2 )
ex
∆Wik

= βni (xk −

(2a)

ex
ni Wik
)

(2b)

∆θi = γ(ni − ρ)

(2c)

2.1. Convolutional Filters
The convolutional layer is represented by D filters. It extracts
visual features across the image, resulting in one feature map
from each filter. The SAILnet architecture was modified and
used to train the required filters. It learns to represent an image as a set of sparse, distributed features of visual area V1.
The network has an input layer and a representation layer as
shown in Fig. 1a. The representation layer is fully connected
laterally by inhibitory weights, denoted W inh . The LIF neurons in the representation layer receive an image patch with
p × p pixels via fully connected excitatory weights (W ex ).
A set of p2 excitatory weights projects to each neuron in the
representation layer and determines a specific filter. Fig. 1a
shows the SAILnet architecture for training D filters projecting an image patch to D different spiking neurons. Each filter
stands for synaptic weight sets connected to a unit. D in our
model is very smaller than the SAILnet.

ni (or nm ) is the number of spikes emitted during a stimulus
presentation. Eq. 2a implements an anti-Hebbian rule among
the inhibitory synapses. Eq. 2b implements a Hebbian rule
among the feedforward synapses. The sparsity parameter, ρ,
is the target average value for the number of spikes per image
patch. ρ is set to 0.05 in the experiments. Learning rules 2a
– 2c are obtained by the Lagrange function (Eq. 3) where the
reconstruction error is minimized while the output units have
a low, fixed, average firing rate, ρ, with minimal correlation
between neurons [30].
L=

X
k

xk −

X
i

X
 X
ex 2
ni Wik
+
ζi (ni −ρ)+
φim (ni nm −ρ2 )
i

i6=m

(3)
In the above, ζi = −γi and φim = −αim are unknown Lagrange multipliers.

2.1.1. Stimulus presentation for SAILnet

2.1.3. Representation Properties

A p×p, normalized, non-spiking patch is presented to the network via fully connected excitatory synapses initialized with
uniformly distributed noise in the range (0, 1). The stimulus is
presented to the LIF neurons (simulated by circuit in Fig. 1b)
in the representation layer for T = 20 simulation time steps
(T = 20 ms). The pixel intensity, xk , in combination with
lateral inhibition from the other neurons formulate the membrane potential of neuron i as shown in Eq. 1.

The sparsity parameter, ρ, and inhibitory connections, W inh ,
ensure that activity of the representation neurons remains
sparse and independent after training. For instance, after
training, an image patch with p2 = 52 pixels is represented
as p2 · ρ = 1.25 spikes of activity across the representation
layer.

dUi (t)
+ Ui (t) = I(t)
dt
X
X
ex
inh
I(t) =
Wik
xk −
Wim
zm (t)
k

(1a)
(1b)

m6=i

For implementation, the above continuous equation is discretized into 1 ms time steps. The binary value zm (t) = 1
if and only if unit m in the representation layer spikes at time
t.
2.1.2. SAILnet learning rules
The SAILnet algorithm incorporates excitatory weights
(W ex ), inhibitory weights (W inh ), and thresholds (θ) as adaptive parameters. W inh ’s and W ex ’s are initialized to zero and
uniformly distributed noise in the range (0,1), respectively.
Thresholds, θi , are initialized to 5. The learning rules, which

2.2. Convolution
We now return to describing how the convolutional filters are
used. The convolutional layer uses weight sharing to reduce
the number of parameters as in a conventional CNN. However, the information in a spiking CNN is transferred via spike
trains instead of real values. The input image is represented
by spike trains whose rates are determined by the normalized
gray scale pixel intensities in the range (0, 1). The image is
presented to the network for T = 20 ms divided into 1 ms
time steps.
The first layer of the network (labeled convolution), seen
in Fig. 2, shows the convolution process. To generate feature
maps, a set of D filters are independently convolved with the
image over the 20 time step presentation interval (explained
in Section 2.2.1). The values of the parameters, like D, are
given in Table 1. Once trained, these filter weights are frozen
and no longer trained when used in our spiking CNN. When
a filter is convolved with the input image, it generates its own
feature map representing a specific image characteristic. Each

(b)

(a)

Fig. 1: a: SAILnet architecture for training D representation units to become detectors for V1-like features. The D filters
are represented as D excitatory weight sets, W ex . Each representation unit receives p2 pixel intensity values. b: RC circuit
modeling an LIF neuron with injected current I(t), resistor R, capacitor C, and a threshold-based (θ) switch that instantly
discharges the circuit to reset potential (zero) and emits a spike.
image is represented by D feature maps corresponding to the
D approximately independent filters.
2.2.1. Convolutional neuron model
An LIF neuron in a feature map accumulates the convolution
results for a particular image patch over T = 20 time steps
and fires a spike when reaching threshold. The membrane
potential is reset to the resting potential (zero) upon firing.
Eq. 4 calculates the membrane potential, U , of neuron m in
feature map k at time t.
k
(t)
dUm
k
k
+ Um
(t) = Im
(t)
dt
k
k
if Um
(t) ≥ θconv , then Um
(t) = 0

(4a)

2.3. Pooling

(4b)

The pooling layer selects a neuron with the highest activity in
a square neighborhood of lp × lp presynaptic neurons (max
pooling). Parameter lp also serves as the stride value for the
pooling layer. Activities of the neurons in a feature map can
be characterized by their spike rate. Hence, a feature map
with size of r × c is transferred to a smaller feature map with
size of r/lp × c/lp . The max pooling layer helps provide robustness against local changes in translation and scale. The
pooling layer is shown as the second layer of the network (labeled pooling) in Fig. 2. The connections from the convolutional maps to the pooled maps are non-adaptive.

k
Im
is defined below.
k
Im
(t)

=

p X
p
X

Wkex (i, j) · sm (i, j, t)

(5)

i=1 j=1
k
The Im
(t) value determines the convolution of the filter, Wkex ,
and the presynaptic spike train, sm , in T = 20 time steps.
This value is considered as an injected current in the underlying RC circuit, which simulates the LIF neuron. sm (i, j) is
the binary-valued spike train conveying a pixel value located
in (i, j) coordinate of patch m. The inputs to each neuron
are represented as p2 spike trains with λij rate parameters.
At time step t, the expected value of the injected current, obtained by filter k for neuron m, is given by

k
E[Im
(t)]

=

p X
p
X
i=1 j=1

Wkex (i, j) · λij

This is analogous to I = (wex )T · x (wex is a filter and x denotes pixel intensities) in which the x is scaled to the average
firing rates. Thus, the convolution over T time steps is able to
simulate the conventional convolution.
The last item in the convolutional layer is the stride value,
lc , which controls the sliding overlaps of a filter over the image and consequently the feature map size. A convolutional
network with stride lc = 1 transfers the original image (r × c
pixels) to feature maps with r × c neurons (by considering
borders) or (r − p + 1) × (c − p + 1) neurons (by ignoring
borders). Larger strides result in smaller feature maps.

(6)

2.4. Feature Discovery Layer
The spike trains emitted from the pooling layer carry diverse
visual features of the image distributed across the D feature
maps. The feature discovery layer processes these features to
recognize and discover more complex features. This layer is
implemented in a fully connected feedforward fashion using

Fig. 2: Spiking CNN architecture. The first layer convolves the D pretrained filters to the image (presynaptic spike trains)
to generate D feature maps. A patch in the input image is represented by a neuron in the feature map. The second layer is
a non-adaptive, max-pooling layer. The third layer is the fully connected, feature discovery layer whose output is sent to a
classifier.
H output neurons. In our experiments, H can be either 8, 16,
32, 64, 128, 256, or 512 (see Table 1). Thus, the feature discovery layer reduces the dimension of the information in the
feature maps. The third layer of the network in Fig. 2 shows
the feature discovery layer where the units receive spike trains
emitted from the pooled feature maps.
The units in this layer are probabilistic LIF neurons such
that their firing times depend on both membrane potential and
firing probability. The next sections explain the probabilistic
LIF neuron model, learning process, and stimulus representation of the network architecture.

the membrane potentials (U (t)) computed in all the neurons:
P {zh (t) = 1|U1 (t), U2 (t), ..., UH (t)}

Since the neurons in the feature discovery layer fire independently, the joint distribution of the case in which J neurons
fire at the same time, t, is calculated by

P z1 (t) = 1, ..., zJ (t) = 1|U1 (t), ..., UH (t) = (9)
e

PJ

j=1

Uj (t)

eU1 (t) + ... + eUH (t)
2.4.1. Feature discovery neuron model
The units in this layer are LIF neurons (Eq. 4). However, their
firing times depend on both the usual threshold, θh , (Eq. 4b)
and firing probability in combination with a second threshold, θp . A neuron fires if its membrane potential reaches the
θh and its firing probability is greater than the θp . The probability of neuron h firing at time t given input spike vector yt
and weights W from the pooling layer to the hidden layer is
given by Eq. 7.

(8)

J

such that by increasing J from 1 up to H, the probability
value decreases. This follows from Eq. 7 by multiplying the
firing probabilities of individual neurons because they are
conditionally independent. The features discovered by the
neurons in this layer exhibit low correlation. In contrast,
the LIF neurons, which only fire based on their membrane
potential, can fire simultaneously whenever they reach the
threshold. Because the neural firing can be simultaneous,
there may be a high correlation between acquired features.

T

eWh ·yt
P (zh (t) = 1|W, yt ) = PH W T ·y
t
j
j=1 e

(7)

The above equation is a softmax function of the net input to
the units at time t. For units that reach threshold, θh , they fire
according to this softmax probability, although mutual exclusivity is not enforced. The softmax probability implements inhibition in this layer. Each unit in the feature discovery layer
has a chance to fire according to the probability given.
Furthermore, the probability in Eq. 7 specifies that the firing probability of neuron h is a conditional probability given

2.4.2. Learning
We use the STDP rule defined in Eq. 10 for feature acquisition.
(
a+ e−whi , if i fires in [t − , t]
(10)
∆whi =
−a− ,
otherwise.
a+ and a− are LTP and LTD learning rates such that a+ /a− =
4/3. When a postsynaptic neuron h fires, an STDP event occurs. LTP occurs if the presynaptic neuron i fires briefly (e.g.

within  = 5 ms) before the postsynaptic neuron h. Otherwise, LTD occurs. The current value of the synaptic weight
in the LTP rule controls the changed value. It is proven in
our previous study [45] that the synaptic weights are directly
related to the log odds with respect to the probability at which
LTP occurs (derivations are provided in [45]). Weights fall
in the range (0, 1). The synaptic weight, whi , connecting
presynaptic neuron i and postsynaptic neuron h is defined as

whi = ln

P (yi = 1|zh = 1) 
a+ 
+ ln
−
a
1 − P (yi = 1|zh = 1)

(11)

where P (yi = 1|zh = 1) is the LTP probability and [1 −
P (yi = 1|zh = 1)] = P (yi = 0|zh = 1) is the LTD
probability. Minimum and maximum LTP probabilities (for
the synaptic weights 0 and 1) are controlled by the relative
learning rate (a+ /a− ). If a+ = a− , the LTP probability is
shown as the logistic sigmoid function (Eq. 12). The log odds
value, in this case, specifies the minimum probability of 0.5
for LTP. The minimum LTP probability of 50% shows that the
synapses are able to undergo the LTP even if their weights are
zero (currently inactive synapses).
1
(12)
1 + e−whi
Weights are initialized randomly between 0 and 1. After training, the weights are fixed to be utilized for complex
feature discovery task.
P (yi = 1|zh = 1) =

2.4.3. Bayesian inference
The probability of LTP versus LTD determines a binary classification in which the LTP probability can be formulated by
the Bayesian theorem [46] as follow:
P (yi = 1|zh = 1) =

(13)

P (zh = 1|yi = 1)P (yi = 1)
P (zh = 1|yi = 1)P (yi = 1) + P (zh = 1|yi = 0)P (yi = 0)
where, P (yi = 1) can be interpreted as the presynaptic Poisson spike rate such that P (yi = 0) = 1 − P (yi = 1). The
firing probability, P (zh = 1|y), defined in Eq. 7, depends
exponentially on the neuron’s membrane potential [47, 41].
Additionally, Eq. 13 can be written as
P (yi = 1|zh = 1) =
q = ln

1
1 + e−q

(14)

P (yi = 1|zh = 1) 
P (yi = 1|zh = 1) 
= ln
P (yi = 0|zh = 1)
1 − P (yi = 1|zh = 1)

which is equivalent to Eq. 12 obtained at equilibrium point of
the probabilistic STDP rule. Therefore, the odds ratio of the
LTP reflects Bayesian computation (Eq. 13) in which the likelihood of the LTP is obtained by a logistic sigmoid function
of the LTP/LTD likelihood ratio.

2.4.4. Input Representation in Feature Discovery Layer
Each stimulus is represented by H neurons. The feature discovery layer receives spike trains emitted from neurons in the
pooling layer through trained weights, W . Thus, an image
can be recoded to a vector with H attributes. The vector attributes are measured as neural activities of the feature discovery layer. The neural activity can be specified as neuron’s
membrane potential or emitted spike train. In this paper, we
use accumulated membrane potential that is obtained by integrating the net input of neuron over T = 20 time steps.
2.5. Classification
The samples with H attributes obtained by the feature discovery layer are used for training the classifier. In this investigation, we use support vector machine (SVM) classifiers to
show the network ability in extracting independent and prominent features. The SVM classifiers allocate hyper-planes with
maximum margins between class pairs of the data in a supervised learning fashion.
The procedural architecture of the spiking CNN is shown
in Fig. 3. The convolutional and feature discovery layers are
trained layer-wise. The classifier is trained on samples obtained from the feature discovery layer.
3. EXPERIMENTS AND RESULTS
The MNIST dataset containing normalized handwritten digits
was used in the experiments. An MNIST image consists of
28×28 (r×c) grayscale pixel values. Each image was divided
into overlapped 5 × 5 (p × p) patches with a stride of 1. For
simplicity, we ignored image borders (margin size=bp/2c).
Thus, each image was represented by (r−p+1)×(c−p+1) =
242 = 576 overlapped patches.
The training and information flow through the network
are as follows. First, the convolutional filters are trained to
represent the V1 visual features. Second, the filters generate the feature maps by the convolutional and pooling layers.
Third, the feature discovery layer is trained to extract complex features by combining the preliminary visual features.
Finally, the SVM classifies the samples represented by the
feature discovery layer. The parameters used in the experiments are shown in Table 1.
3.1. Convolutional Filter
The present experiment used 576 patches of size 5 × 5 sampled from the MNIST data set. The 28 × 28 images were
normalized to have zero mean and unit standard deviation.
3,000 images (3, 000 × 576 = 1, 728, 000 patches) were used
to train the convolutional filters. As seen in Fig. 1, a patch
(with 25 pixel values) was projected into D representation
neurons to train D convolutional filters. Three filter sets of
size D = {16, 32, 64} were trained. One iteration is a batch

Fig. 3: The spiking CNN architecture for pattern recognition. The network is trained layer-wise (shown by shaded boxes).
Table 1: Parameter values of the spiking CNN used in the
simulations.
Parameter
D
T
p×p
r
c
α
β
γ
ρ
C
R
lc
lp
θconv
H
a+
a−
θh
θp
τ

Description
# of convolutional filters
Simulation time
Patch size
# of image rows
# of image columns
Hebbian learning rate
Anti-Hebbian rate
Threshold adjustment rate
Average firing rate
Capacitance
Resistance
Convolution stride
Pooling stride
Convolution threshold
# of feature discovery units
LTP amplification rate
LTD amplification rate
Feature discovery neuron’s threshold
Feature discovery softmax threshold
Decay time constant for LIF neurons

Value
16, 32, or 64
20 ms
5×5
28
28
0.01
0.0001
0.02
0.05
0.001 F
1Ω
1
2
1
8, 16, 32, ..., 512
0.001
0.00075
0.5
0.5
1 ms

of 3,000 image presentations. 10 training iterations were run
and weights were updated after each patch representation (totally 17, 280, 000 training trials). Fig. 4 shows trained filters
(synaptic weights) discovering V1-like visual features. The
filters are orientation selective. The filter sets containing more
units depict a larger variety of orientations.
The feedforward weights of the units (5 × 5 squares) discover specific bars (light pixels) in different scales and orientations surrounded by the negative values (dark pixels). The
positive and negative regions demonstrate the visual receptive fields in response to the image patches. The surrounding
negative values discover edges corresponding to the filter orientation.
Fig. 5 shows the net inputs of eight randomly selected output units in response to the overlapped patches of the MNIST
digits 0 to 9. The light pixels correspond to positive values
showing the object. The gray pixels show zero value because
the neuron does not receive any spike. The black pixels correspond to negative values next to the positive values in which
edges were detected.

Fig. 4: Convolutional filters trained by the SAILnet algorithm
to extract visual features. Either (A) 16, (B) 32, or (C) 64
filters were trained. 5 × 5 patches taken from MNIST images
where used for the training.

Fig. 5: Net inputs of eight randomly selected units in the
SAILnet representation layer in response to the overlapped
patches. Each column shows one digit in which eight convolutional filters (trained weights) were convolved to the image.
Black, gray, and light pixels specify the negative, zero, and
positive values, respectively.

3.2. Convolution and Pooling Results
The convolutional filters obtained above were used as the
weights transferring presynaptic spikes to neurons in the feature maps. The presynaptic spikes are Poisson spike trains
with rate of pixel intensity divided by 255 to obtain normalized intensities in the range (0, 1) for each of T = 20 time
steps. Each filter is convolved to the spike trains of the original image over 20 time steps and results in a feature map with
24 × 24 = 576 postsynaptic LIF neurons. As the D convolutional filters are independent, the feature maps are computed
independently. For the case where 64 convolutional filters are
applied, the convolutional layer represents an image by 64
independent feature maps such that each map contains 576
LIF spiking neurons. Spikes emitted from the neurons of a
feature map indicate a particular visual feature. We applied
30,000 MNIST digits to the convolutional layer to generate
representative spike trains for the next layer. For final evaluation, a complete version of the MNIST dataset containing
60K training and 10K testing samples was used.
The pooling layer receives spike trains from the nonoverlapped neuron sets (2 × 2) in the feature maps and reduces the map size by using a max-pooling operation with
stride of 2. Only one out of four neurons with maximum
spike frequency is selected. Thus, a feature map with 24 × 24
neurons is converted to a map with 12 × 12 neurons. Thus,
the cardinality of the feature set provided by the pooling layer
is D × 144. In our experiments, D can be 16, 32, or 64,
so the output of the pooling layer will have a minimum of
2,304 features. Neurons in this layer also indicate the visual
features through their spiking patterns over 20 time steps.
Fig. 6 shows 64 pooled feature maps obtained from randomly
selected digits 0 to 9. Pixel intensity codes a neuron’s (one
out of 144) spike rate. The maximum intensity (white) denotes 19 spikes and the minimum intensity (black) denotes
0 spikes emitted from the LIF neurons in the pooled feature
maps. The feature maps for each digit, shown in Fig. 6, exhibit particular visual features. For instance, 64 feature maps
of the digit ‘zero’ show different orientations, scales, and
local translations of the curved lines composing the image of
‘zero’. Digit ‘four’ also is represented by different vertical
and horizontal lines.
These results indicate that the network can be extended
by another layer which either combines the extracted features
or discovers more features representing more details of the
original image.

ple. For different experiments, we varied the number of feature discovery units with H = {8, 16, 32, 64, 128, 256, 512}.
We used the accumulated membrane potential of the feature
discovery neurons as feature values for feature analysis and
for later computations.
Our main feature analysis result is that neural activity in
the feature discovery layer, as measured by membrane potentials, becomes decorrelated with training. The weights,
W , and spike trains emitted from the pooling layer provide
input for the feature discovery neurons to generate feature
values. Lower correlations between pairs of the weight sets,
corresponding to the H neurons, result in more independent
feature values and consequently, better classification performance. Fig. 7 shows correlation matrices (H × H) computed
for weight sets trained by spike trains emitted from neurons
in D = 32 pooled maps. The correlation values are shown in
a symmetric matrix with elements between zero (black) and
one (white). The correlation matrices show the progress of ten
training iterations (3000 through 30,000 trials in increments
of 3,000). Fig. 7 shows that the neural activity of the feature
discovery layer with H = 8 or 16 is highly correlated and
does not change over training. However, the neural activity
in the feature discovery layers with H ≥ 32 units becomes
decorrelated with more training.
Fig. 8a shows the average correlations between weight
sets in ten training iterations for the networks with D = 32
feature maps and H = {2i , i = 3...9} feature discovery neurons. As described above, the average correlation decreases
with training iterations and converges to an equilibrium. The
correlation computed for the network with H = 8 or 16 neurons does not improve by training. The network with more
neurons (H = 32, 64 or 128) has lowest average correlation.
The plots in Fig. 8a show that the average correlations computed for the networks with H = {32, 64, 128, 256} neurons
are very close after 10 training iterations. Therefore, the network represents a stimulus in a feature space with minimum
correlation between attributes. We also calculated the average correlations for the networks with D = 16 and 64 feature
maps. As the trends in their graphs were virtually identical,
we only showed the plots for the network with H = 32 neurons. Fig. 8b shows the lowest average correlation calculated
for the networks with D = {16, 32, 64} feature maps. The
network with 32 feature maps indicates minimum correlation
between feature discovery neurons.

3.3. Feature Discovery Results
The last unsupervised learning process is performed by the
feature discovery layer after receiving spike trains from the
pooling layer. Each hidden unit has D × 12 × 12 inputs.
Weights in this layer are feedforward, fully connected, and
initialized randomly in the range (0, 1). The set of feature discovery neurons represents a feature vector for each digit sam-

Fig. 9 shows the trained synaptic weights connecting
pooled maps (for D = 32 convolutional filters) to six randomly selected output units. Each square in this image
presents the synaptic weights connecting presynaptic neurons in one pooled map to one neuron. This layer represents
different digit variations.

Fig. 6: 64 feature maps of size 12 × 12 for each of 10 digits (after max pooling). Each pixel represents the respective neuron’s
observed number of spikes during the presentation interval. Each feature map indicates particular visual features. Digits 0 to 9
were randomly selected and applied to the network.

(a)

Fig. 7: Correlation matrices of the feature discovery weight
sets for networks using D = 32 feature maps and H =
{8, 16, 32, 64, 128, 256, 512} neurons over 10 iterations. A
synaptic weight set stands for the synapses connecting neurons in the pooled maps to a postsynaptic neuron of the feature discovery layer. Neural activity becomes decorrelated
with more training.

(b)

Fig. 8: a: Average correlations of synaptic weight sets versus
training iterations for the network with D = 32 feature maps.
b: Lowest correlation of synaptic weight sets after training for
the networks with D = {16, 32, 64} feature maps.

A

B

Fig. 10: Average classification accuracy for 10 training iterations. The convolutional layer has D = 32 filters.
3.4. Classification Results

C

D

E

F

Fig. 9: Weights connecting pooled maps to six randomly selected neurons in the feature discovery layer. Each square
shows the weights projecting from one pooled map (out of
32). Different digit variations appear in this layer.

The visual features obtained from the feature discovery layer
were applied to the SVM classifiers with four different kernel
functions: linear, polynomial (degree=2 and 3) and radial basis function. Since all the SVMs showed close accuracy rates,
we averaged over the SVM classifiers. Accuracy rates with
standard errors were reported after each iteration using 5-fold
cross validation. The initial results are reported for 30,000
MNIST digits.
Table 2 shows the performance of the spiking CNN
equipped with D = {16, 32, 64} filters after training (10
iterations). The network with H = 8 feature discovery neurons shows the lowest performance due to its small feature
vector dimension. The networks with H ≥ 32 show accuracy
rates above 95%. The overall accuracy rate of the network
architecture with D = 32 (above 97%) is slightly better than
the other models. Fig. 10 illustrates the model’s performance
at each training iteration for the network with D = 32 feature maps. The weight adjustment progress regarding the
handwritten digit classification suggests an analogous interpretation to the correlation reduction between postsynaptic
neurons in the feature discovery layer (Fig. 8a). Additionally,
the networks with H = 32 and 64 feature discovery neurons
were trained fast but their performances did not improve after
2 and 6 training iterations, respectively. In contrast, the network with H = 512 shows the lowest accuracy rate before 7
training iterations.
To assess the model’s robustness to noise, we evaluated
the network when classifying noisy MNIST digits. The net-

Table 2: The spiking CNN classification accuracy (with standard errors, n = 5) obtained by averaging over accuracy rates
reported for the SVM classifiers and 5-fold cross validation.
D
16
32
64

H
Acc
SE
Acc
SE
Acc
SE

8
82.25
0.25
81.66
0.26
82.96
0.16

16
92.99
0.12
93.35
0.16
92.90
0.10

32
95.69
0.12
95.82
0.10
95.37
0.14

work with D = 32, H = 128, and polynomial-2 SVM, which
reported 97.5% accuracy for clean images, was evaluated.
3,000 images that were not used for training were distorted by
three levels of Gaussian noise with 4, 9, and 25 percent noise
variances and three salt-and-pepper noises with 4, 9, and 25
percent noise densities. Table 3 shows the accuracy rates of
the network for noisy images in comparison with the case
that the clean images were classified. The Gaussian noise reduced the performance by at most 1.2% and salt-pepper noise
showed a maximum 8.5% performance loss. These results
show that the network is fairly robust against additive noise.
3.5. Control Experiments
Control experiments were performed to further analyze the
function of the feature discovery layer. Specifically, we tried
to assess the roles of the probabilistic STDP rule and the probabilistic LIF neuron, which implements the inhibition by a
winners-take-all version of softmax, in explaining the classification accuracy results. The architecture with D = 32 filters
and H = 128 feature discovery units was selected for further
analysis.
This section provides more experiments to compare our
feature discovery layer which is equipped with the probabilistic STDP rule and the probabilistic neuron model with the LIF
neurons and the sigmoidal STDP used in the feature discovery
layer of the network introduced by [12]. Four different feature discovery layers including 1) the proposed model, 2) LIF
neurons equipped with the probabilistic STDP, 3) LIF neurons equipped with the sigmoidal STDP, and 4) probabilistic
neurons equipped with the sigmoidal STDP were trained by
the same training set used for the previous experiments. The
performances of these spiking CNNs are shown in Figs. 11
and 12 for clean and noisy images respectively. The network with the feature discovery layer consisting of the probabilistic neuron models equipped with the probabilistic STDP
outperforms the other networks. As expected, the independent feature vectors represented by probabilistic neurons and
ability of the firing probabilities (measured by the neurons)
in feature enhancement (noise reduction) resulted in a significantly better performance of our spiking CNN. Additionally, the probabilistic neuron model performs better in the
networks that utilize either the probabilistic or the sigmoidal

64
96.75
0.11
96.73
0.09
96.59
0.11

128
96.97
0.08
97.09
0.07
96.89
0.09

256
97.14
0.08
97.15
0.09
97.01
0.09

512
96.95
0.06
96.97
0.07
96.95
0.08

Fig. 11: Accuracy rates for the spiking CNN with 32 convolutional filters and 128 LIF/probabilistic neurons (No Inhibition/Inhibition) in the feature discovery layer equipped with
the probabilistic/sigmoidal STDP rules recognizing clean
MNIST digits.

STDP rules. That means, the inhibition in the feature discovery layer significantly (two-tailed T-test, p∗ < 10e − 4) improves learning. The probabilistic STDP offers slightly better
performance than the sigmoidal STDP where inhibition occurs. However, the sigmoidal STDP performs better for the
LIF neurons (no inhibition).
4. DISCUSSION
The important part of multi-layer learning in a deep CNN
occurs in the feature extraction hierarchy, where increasingly complex, discriminative, and invariant features are
acquired [48, 49]. Previous studies regarding the similarity
between deep architectures and the feedforward structure of
the ventral visual pathway of the primate brain ask about the
biologically plausibility of the machine vision approach [1].
As biological neurons use sparse, stochastic, spike-based
communication, a spiking network can be an appropriate
starting point for modeling brain functionality.
Our work seeks to study multi-layer unsupervised learning in the emerging field of spiking CNNs. We used systematic experiments to show the stackability properties of
spike-based learning algorithms. Our spiking CNN resembles deep belief networks in the way that it is trained in a
greedy, layer-wise fashion [50]. Once a layer is trained, its

Table 3: Classification performance for noisy MNIST digits. Gaussian (Gauss) and salt-and-pepper (S-P) noises were added to
the test image dataset. The network consists of D = 32 feature maps (filters) and H = 128 feature discovery units.
Noise
Accuracy (%)

No
Noise
97.5

Gauss
4%
97.4

Gauss
9%
97.2

Gauss
25%
96.3

S-P
4%
97.3

S-P
9%
96.5

S-P
25%
89.0

probabilistic neurons (0.293). The independent features can
also be interpreted as sparse and independent neural activities
in response to specific stimuli. Fig. 14 shows the average
neural activities of the feature discovery neurons (H = 128)
in response to 3000 images of the digits 0 through 9. Each
digit activates only a subset of the postsynaptic neurons in
the feature discovery layer. Therefore, dependency between
the extracted features reduces while the inputs are sparsely
coded.

Fig. 12: Accuracy rates for the spiking CNN with 32 convolutional filters and 128 LIF/probabilistic neurons in the feature discovery layer equipped with the probabilistic/sigmoidal
STDP rules recognizing noisy MNIST digits. Two types
of Gaussian and salt-and-pepper noises were added to the
MNIST digits.
weights are frozen and its output spike trains serve as inputs
to the next layer. For stacking to work, the learned representations must be admissible such that the acquired representations in a given layer are rich enough in content and
statistical structure to support the next layer’s learning. The
proposed network consists of a convolutional layer, pooling
operation, and a feature discovery layer. The convolutional
layer, after training, showed promising intermediate results
(Fig. 6) such that it exhibits the stack-admissibility property.
Therefore, another layer can be stacked on this layer. The
next layer was fully connected and trained with the probabilistic STDP rule. The average correlations demonstrated in
Fig. 8 specifies the model’s ability to discover independent
features. Furthermore, the feature discovery layer with many
neurons converges to its minimum average correlation more
slowly than the networks with fewer neurons. Additionally,
the probabilistic neurons in this layer implemented inhibition by a winners-take-all competition governed by softmax.
The inhibition controls the correlation between feature values obtained from the postsynaptic neurons. In contrast, the
LIF neurons without inhibition do not control the correlation between features properly. The correlation matrices of
the synaptic weight sets for the network with D = 32 and
H = 128 LIF neurons in ten training iterations are shown
in Fig. 13. This figure in comparison with the correlation
matrices in Fig. 7 (fifth row) exhibits higher feature dependency. Also, the average correlation value of the LIF neurons
was 0.481 which is higher than the value reported for the

The classification performance showed that networks
with D = {16, 32, 64} filters and H = {64, 128, 256, 512}
feature discovery units produced high accuracy rates (average
97%). The network with few trainable parameters was trained
quickly. For example, the network with D = 16 showed
around 93.5% accuracy while the network with D = 64
showed 92% average accuracy at the first training iteration.
The network with few feature discovery units (H = 64)
was trained faster but its learning capacity was limited and
its performance plateaued after seven iterations. Thus, the
networks should have enough filters to extract a sufficiently
complete feature set. Also, the number of feature discovery
units control the network capacity for learning the complex
features.
The control experiments for the feature discovery layer
showed that the probabilistic neuron model implementing
inhibition significantly improves learning. The probabilistic
STDP performs slightly better than the sigmoidal STDP when
the inhibition was used. This improvement also has been confirmed by a convolutional network of IF neurons equipped
with a heuristic form of inhibition in our previous study [45].
Finally, the feature discovery layer of the probabilistic neurons equipped with the probabilistic STDP outperformed the
other networks (Figs. 11 and 12).
The spike trains emitted by the pooling layer indicate
sparse, visual features of the original image and the convolution operation can perform as a mean filter enhancing
(denoising) the noisy image. Thus, the network can be robust
to additive noise. Additionally, the feature discovery layer
combines sparse and independent features through sparse,
independent weight sets which are trained by the probabilistic STDP. The probabilistic LIF neurons equipped with the
probabilistic STDP fire based on both their membrane potential and firing probability. Additive noise changes the neuron
membrane potential but the softmax, that is implemented by
the firing probability, normalizes it according to the overall
background level. Thus, the firing probability controls the

Fig. 13: Correlation matrices for the synaptic weight sets transferring spike trains to the LIF neurons without inhibition over 10
training iterations. The average correlation value after 10 iterations is 0.481.

Input
digit
Feature discovery unit
Fig. 14: Sparsity of average neural activity of H = 128 feature discovery units. Lighter points indicate neuronal activity. 3000
images of the digits 0 – 9 were used after training.
additive noise by treating it as a background signal. The final results regarding the model’s performance in classifying
noisy images showed that our network is robust to additive
noise.
Finally, the best performing network architecture (D =
32, H = 128, and polynomial-2 SVM) was trained and evaluated on the full version of the MNIST dataset [51] (60K
training, 10K testing, 28 × 28-pixel images). Our spiking
CNN achieved 98.36% accuracy. This performance compares favorably to recent work regarding MNIST digit recognition using spiking CNNs and spiking deep belief networks
(DBNs). Diehl et al (2015) reported 99.1% accuracy for their
network converting an off-line trained CNN onto a spiking
network [11]. One drawback of their work is that the spiking
CNN is not trained directly. O’Connor et al. (2013) showed
that a DBN of LIF neurons performs well (94.1%) [52]. They
also mapped an off-line DBN onto an event-driven SNN.
Neftci et al. (2014) showed that a spiking restricted Boltzmann machine can be trained locally using an STDP learning
rule [53]. They reported performance of 93.6% on MNIST
using an STDP approximation to the contrastive divergence
algorithm. Our spiking CNN was trained via a layer-wise,
unsupervised strategy. The final features discovered by our
network were classified with about 98% accuracy.

layer’s immediate receptive fields. The results acquired from
the convolutional layer showed sparse, independent visual
features (resembling those found in V1) such that the stackadmissibility property of the layer was supported. The feature
discovery layer discovered complex, independent features using probabilistic LIF neurons equipped with the probabilistic
STDP rule. The high classification performance achieved
from the initial experiments on clean and noisy MNIST data
sets (maximum 97.5% for clean images and minimum 89%
for noisy images) showed that the spiking CNN can extract
effective and independent visual features while being robust
to additive noise. The final experiment on the MNIST dataset
(60K training and 10K testing sets) confirmed the initial
success by accuracy rate of 98.36%.
The promising results obtained from the convolutional
layer (V1 visual features) and feature discovery layer (independent features) warrant further study. Our future work
includes 1) adding more convolutional-pooling layers stacked
on the first layer and 2) implementing a final classifier using a
spike-based, supervised learning rule following the hierarchical feature extraction components. The combination of STDP
and anti-STDP in our previous study [54] can be a starting
point for developing the supervised classifier.
6. REFERENCES

5. CONCLUSION
Our work presents one of the few successful spiking networks directly trained by multi-layer, unsupervised learning.
The proposed bio-inspired spiking CNN trained by a local
learning rule is a starting point for implementing brain-like
computation. Due to the need for a biologically plausible
CNN, we proposed a spiking CNN. The multi-layer learning
implemented in the spiking CNN includes two components:
1) a convolutional-pooling layer and 2) a feature discovery
layer. The network was trained layer-wise. After training the
first layer, the weights were frozen to be used for the next

[1] Norbert Kruger, Peter Janssen, Sinan Kalkan, Markus
Lappe, Ales Leonardis, Justus Piater, Antonio J
Rodriguez-Sanchez, and Laurenz Wiskott. Deep hierarchies in the primate visual cortex: What can we learn for
computer vision? IEEE transactions on pattern analysis
and machine intelligence, 35(8):1847–1871, 2013.
[2] Jürgen Schmidhuber. Deep learning in neural networks:
An overview. Neural Networks, 61:85–117, 2015.
[3] Yann LeCun, Yoshua Bengio, and Geoffrey Hinton.
Deep learning. Nature, 521(7553):436–444, 2015.

[4] Taeho Jo, Jie Hou, Jesse Eickholt, and Jianlin Cheng.
Improving protein fold recognition by deep learning networks. Scientific reports, 5, 2015.
[5] Ian Goodfellow, Yoshua Bengio, and Aaron Courville.
Deep learning. MIT Press, 2016.
[6] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional
neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
[7] Tara N Sainath, Abdel-rahman Mohamed, Brian Kingsbury, and Bhuvana Ramabhadran. Deep convolutional
neural networks for LVCSR. In Acoustics, Speech and
Signal Processing (ICASSP), 2013 IEEE International
Conference on, pages 8614–8618. IEEE, 2013.
[8] Amirhossein Tavanaei and Anthony S Maida. Multilayer unsupervised learning in a spiking convolutional
neural network. In Neural Networks (IJCNN), The 2017
International Joint Conference on. IEEE, 2017.
[9] Yongqiang Cao, Yang Chen, and Deepak Khosla. Spiking deep convolutional neural networks for energyefficient object recognition. International Journal of
Computer Vision, 113(1):54–66, 2015.
[10] Masakazu Matsugu, Katsuhiko Mori, Mie Ishii, and
Yusuke Mitarai. Convolutional spiking neural network
model for robust face detection. In Neural Information
Processing, 2002. ICONIP’02. Proceedings of the 9th
International Conference on, volume 2, pages 660–664.
IEEE, 2002.
[11] Peter U Diehl, Daniel Neil, Jonathan Binas, Matthew
Cook, Shih-Chii Liu, and Michael Pfeiffer. Fastclassifying, high-accuracy spiking deep networks
through weight and threshold balancing. In Neural Networks (IJCNN), 2015 International Joint Conference on,
pages 1–8. IEEE, 2015.
[12] Timothée Masquelier and Simon J Thorpe. Unsupervised learning of visual features through spike timing dependent plasticity. PLoS Comput Biol, 3(2):e31,
2007.

[15] Saeed Reza Kheradpisheh, Mohammad Ganjtabesh, and
Timothée Masquelier. Bio-inspired unsupervised learning of visual features leads to robust invariant object
recognition. Neurocomputing, 205:382–392, 2016.
[16] Yang Dan and Mu-Ming Poo. Spike timing-dependent
plasticity: from synapse to perception. Physiological
reviews, 86(3):1033–1048, 2006.
[17] Timothée Masquelier and Simon J Thorpe. Learning to recognize objects using waves of spikes and
spike timing-dependent plasticity. In Neural Networks
(IJCNN), The 2010 International Joint Conference on,
pages 1–8. IEEE, 2010.
[18] Niall McCarroll, Ammar Belatreche, Jim Harkin, and
Yuhua Li. Bio-inspired hierarchical framework for
multi-view face detection and pose estimation. In Neural Networks (IJCNN), 2015 International Joint Conference on, pages 1–8. IEEE, 2015.
[19] Saeed Reza Kheradpisheh, Mohammad Ganjtabesh, Simon J Thorpe, and Timothée Masquelier. STDP-based
spiking deep neural networks for object recognition.
arXiv preprint arXiv:1611.01421, 2016.
[20] Priyadarshini Panda and Kaushik Roy. Unsupervised
regenerative learning of hierarchical features in spiking
deep networks for object recognition. In Proc. of the International Joint Conference on Neural Networks, pages
299–306, July 2016.
[21] Jun Haeng Lee, Tobi Delbruck, and Michael Pfeiffer.
Training deep spiking neural networks using backpropagation. Frontiers in Neuroscience, 10, 2016.
[22] Peter Földiak.
Forming sparse representations by
local anti-Hebbian learning. Biological cybernetics,
64(2):165–170, 1990.
[23] Bruno A Olshausen et al. Emergence of simple-cell receptive field properties by learning a sparse code for natural images. Nature, 381(6583):607–609, 1996.
[24] Anthony J Bell and Terrence J Sejnowski. The “independent components” of natural scenes are edge filters.
Vision research, 37(23):3327–3338, 1997.

[13] Simei Gomes Wysoski, Lubica Benuskova, and Nikola
Kasabov. Fast and adaptive network of spiking neurons
for multi-view visual pattern recognition. Neurocomputing, 71(13):2563–2575, 2008.

[25] Martin Rehn and Friedrich T Sommer. A network that
uses few active neurones to code visual input predicts
the diverse shapes of cortical receptive fields. Journal
of computational neuroscience, 22(2):135–146, 2007.

[14] Michael Beyeler, Nikil Dutt, and Jeffrey Krichmar. Categorization and decision-making in a neurobiologically
plausible spiking network using a STDP-like learning
rule. Neural Networks, 48:109–124, 2013.

[26] Paul D King, Joel Zylberberg, and Michael R DeWeese.
Inhibitory interneurons decorrelate excitatory cells to
drive sparse code formation in a spiking model of V1.
The Journal of Neuroscience, 33(13):5475–5485, 2013.

[27] Cristina Savin, Prashant Joshi, and Jochen Triesch. Independent component analysis in spiking neurons. PLoS
Comput Biol, 6(4):e1000757, 2010.

[39] Dejan Pecevski and Wolfgang Maass. Learning probabilistic inference through STDP.
eneuro, pages
ENEURO–0048, 2016.

[28] Kendra S Burbank. Mirrored STDP implements autoencoder learning in a network of spiking neurons. PLoS
Comput Biol, 11(12):e1004566, 2015.

[40] Bernhard Nessler, Michael Pfeiffer, and Wolfgang
Maass. STDP enables spiking neurons to detect hidden
causes of their inputs. In Advances in neural information processing systems, pages 1357–1365, 2009.

[29] Laurent Perrinet, Manuel Samuelides, and Simon
Thorpe. Sparse spike coding in an asynchronous feedforward multi-layer neural network using matching pursuit. Neurocomputing, 57:125–134, 2004.
[30] Joel Zylberberg, Jason Timothy Murphy, and
Michael Robert DeWeese. A sparse coding model
with synaptically local plasticity and spiking neurons
can account for the diverse shapes of V1 simple cell
receptive fields. PLoS Comput Biol, 7(10):e1002250,
2011.
[31] Rajesh PN Rao, Bruno A Olshausen, and Michael S
Lewicki. Probabilistic models of the brain: Perception
and neural function. MIT press, 2002.
[32] Kenji Doya. Bayesian brain: Probabilistic approaches
to neural coding. MIT press, 2007.
[33] Michael C Mozer, Harold Pashler, and Hadjar Homaei.
Optimal predictions in everyday cognition: The wisdom of individuals or crowds?
Cognitive Science,
32(7):1133–1147, 2008.
[34] Konrad P Körding and Daniel M Wolpert. Bayesian
integration in sensorimotor learning.
Nature,
427(6971):244–247, 2004.
[35] Danilo J Rezende, Daan Wierstra, and Wulfram Gerstner. Variational learning for recurrent spiking networks.
In Advances in Neural Information Processing Systems,
pages 136–144, 2011.
[36] Johanni Brea, Walter Senn, and Jean-Pascal Pfister. Sequence learning with hidden units in spiking neural networks. In Advances in neural information processing
systems, pages 1422–1430, 2011.
[37] Richard S Zemel, Rama Natarajan, Peter Dayan, and
Quentin J Huys. Probabilistic computation in spiking
populations. In Advances in neural information processing systems, pages 1609–1616, 2004.
[38] Lars Buesing, Johannes Bill, Bernhard Nessler, and
Wolfgang Maass. Neural dynamics as sampling: a
model for stochastic computation in recurrent networks
of spiking neurons. PLoS Comput Biol, 7(11):e1002211,
2011.

[41] Bernhard Nessler, Michael Pfeiffer, Lars Buesing,
and Wolfgang Maass. Bayesian computation emerges
in generic cortical microcircuits through spiketiming-dependent plasticity.
PLoS Comput Biol,
9(4):e1003037, 2013.
[42] Stefan Klampfl and Wolfgang Maass. Emergence of
dynamic memory traces in cortical microcircuit models through STDP. The Journal of Neuroscience,
33(28):11515–11529, 2013.
[43] David Kappel, Bernhard Nessler, and Wolfgang Maass.
STDP installs in winner-take-all circuits an online approximation to hidden markov model learning. PLoS
Comput Biol, 10(3):e1003511, 2014.
[44] Amirhossein Tavanaei and Anthony S Maida. Training
a Hidden markov model with a Bayesian spiking neural
network. Journal of Signal Processing Systems, pages
1–10, 2016.
[45] Amirhossein Tavanaei, Timothée Masquelier, and Anthony S Maida. Acquisition of visual features through
probabilistic spike timing dependent plasticity. In Neural Networks (IJCNN), The 2016 International Joint
Conference on, pages 1–8. IEEE, 2016.
[46] C Bishop. Pattern recognition and machine learning
(information science and statistics), 1st edn. 2006. corr.
2nd printing edn, 2007.
[47] Renaud Jolivet, Alexander Rauch, Hans-Rudolf
Lüscher, and Wulfram Gerstner. Predicting spike timing
of neocortical pyramidal neurons by simple threshold
models.
Journal of computational neuroscience,
21(1):35–49, 2006.
[48] Yoshua Bengio. Learning deep architectures for AI.
Foundations and trends in Machine Learning, 2(1):1–
127, 2009.
[49] Yann LeCun. Learning invariant feature hierarchies. In
European Conference on Computer Vision, pages 496–
505. Springer, 2012.
[50] Geoffrey E Hinton, Simon Osindero, and Yee-Whye
Teh. A fast learning algorithm for deep belief nets. Neural computation, 18(7):1527–1554, 2006.

[51] Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick
Haffner. Gradient-based learning applied to document
recognition. Proceedings of the IEEE, 86(11):2278–
2324, 1998.
[52] Peter O’Connor, Daniel Neil, Shih-Chii Liu, Tobi Delbruck, and Michael Pfeiffer. Real-time classification and
sensor fusion with a spiking deep belief network. Frontiers in neuroscience, 7:1–13, 2013.
[53] E Neftci, S Das, B Pedroni, K Kreutz-Delgado, and
G Cauwenberghs. Event-driven contrastive divergence
for spiking neuromorphic systems. Frontiers in neuroscience, 7:272–272, 2014.
[54] Amirhossein Tavanaei and Anthony S Maida. A spiking network that learns to extract spike signatures from
speech signals. Neurocomputing, 240:191–199, 2017.

