\documentclass{npcs}
%%\documentstyle[a4]{article}

\usepackage{graphics} %   <------- for LatTeX + PS
\usepackage{epsfig}
\usepackage{multicol}
\usepackage{amsmath}
\setcounter{page}{4}
\def\baselinestretch{1.}%<---------Scaling

\begin{document}
\runauthor{Akira Imada} \runtitle{A Random Behavior of Spiking Neurons: 
           Towards Associative Memory}
\begin{topmatter}
\title{A Random Behavior of Spiking Neurons: Towards Associative Memory}
\author{Akira Imada}
\institution{Departments of Computers and Computer Systems\\
             Brest State Technical University}
\address{Moskowskaja 267, Brest, 224017 Republic of Belarus}
\email{ai@brpi.unibel.by}


% We start with a random 
% configuration of synaptic weights which eventually are 
% to evolve to a biologically plausible solution and give 
% the network a function of associative memory.


\begin{abstract}
\noindent
We simulate an associative memory using spiking neurons.
Such models in which interaction among neurons are determined 
by, for example,  a Hebbian like learning algorithm already exist.
The Hopfield model is one of these examples. 
However, although we still have many interesting unknown issues 
in these models, we have some crucial drawbacks as well such as small storage capacity. 
To overcome these drawbacks, and more importantly, to pursue more biologically 
plausible models, we study dynamics of spiking neurons.
\end{abstract}
\end{topmatter}

\section{Introduction}
\noindent
Associative memory is a memory system in which we can store information
and later we can recall the stored information from its partial and/or imperfect stimuli. 
An information is stored as a number of stable states with a domain of attraction
around each of the stable states.
If the system starts with any stimuli within the domain 
it will converge to the attractor following hopefully a short trajectory.
This models human memory in the sense that
we can recognize our friends even without meeting for a long time, or
we can recall a song immediately after listening to a very beginning of the song.
Hopfield (1992) proposed a fully connected neural network model of 
associative memory in which a set of binary patterns is stored distributedly 
among binary neurons as attractors. The model had been fairly well studied
for more than a decade since then, and we now know it is not so practical 
partly due to its small storage capacity. 
Though we still have some interesting unknown issues in the model
such as the number and distribution of the solutions which give a network
a function of associative memory
and these issues still attract interests of some physicists,
we study another model using spiking neurons. The goal is to overcome issues
like small storage capacity and, more importantly,  
to look for more biologically plausible models of human memory.

\section{Spiking Neurons under Hodgkins-Huxley Model}
\noindent
Some regions in our brain such as {\it neocortex} or {\it hippocampus} are said to be 
made up of two categories of neurons, that is, {\it pyramidal cells} and {\it interneurons}.
The pyramidal cells typically send signals to both pyramidal cells and interneurons
via {\it excitatory synapses} (positive influences), 
while interneurons send signals to pyramidal cells via
{\it inhibitory synapses} (negative influences).
We now assume $N$ pyramidal cells and implicit number of interneurons. 
We simulate these pyramidal cells with spiking neurons which interact with each other
using electric current $i^{\mbox{\tiny pyr}}$ via plastic synapses $J_{ij}$.
Pyramidal cells are also interacted from interneurons by 
global inhibition $i^{\mbox{\tiny int}}$.
Note that when we say simply {\it ``neuron''} hereafter, it implies {\it ``pyramidal cell.''} \\

\noindent
The membrane potential $v_i(t)$ of neuron $i$ is expressed as: 

\begin{displaymath}
\frac{dv_i(t)}{dt}=f(v_i(t), a_{i1}(t), \cdots, a_{in}(t)) + i_i(t)
\end{displaymath}

\noindent
using $n$ parameters $a_{ij}$ specified as:

\begin{displaymath}
\frac{da_{ij}(t)}{dt}=g_j(v_i(t), a_{i1}(t), \cdots, a_{in}(t)) \hspace{.2in} (j=1,2, \cdots, n) 
\end{displaymath}

\noindent
which are necessary to determine the neuron's spiking behavior,
and electric current $i_i(t)$ defined as:

\begin{displaymath}
i_i(t) = i_i^{\mbox{\tiny pyr}}(t) + i^{\mbox{\tiny int}}(t) + i_i^{\mbox{\tiny ext}}(t) 
\end{displaymath}

\noindent
which will be described more in detail later. \\


\noindent
The number of parameters $n$, the function form $f(\cdot)$ and $g_j(\cdot)$
depend on the model, such as Hodgkins-Huxley or FitzHugh-Nagumo.
Here we assume Hodgkins-Huxley model in which $n=3$ and $f(\cdot)$ and $g_j(\cdot)$
are given as \\

\noindent
\hspace*{.2in}$f(v(t), a_1(t), a_2(t), a_3(t))$
\begin{displaymath}
= \frac{G_{\mbox{\tiny Na}} a_2^3a_1 (V_{\mbox{\tiny Na}} - v(t))
      + G_{\mbox{\tiny K }} a_3^4    (V_{\mbox{\tiny K }} - v(t))
      + G_{\mbox{\tiny L }}          (V_{\mbox{\tiny L }} - v(t))}
{C_m}
\end{displaymath}

\noindent
and\\

\noindent
\hspace*{.2in}$g_1(v(t), a_1(t), a_2(t), a_3(t))$
\begin{displaymath}
=   (1-a_1(t)) \cdot \frac{0.01 (10-v(t))}{\exp \{(10-v(t))/10\} -1} 
     - a_1(t) \cdot 0.125 \exp\{-v(t)/80\}
\end{displaymath}

\hspace*{1in}\\

\noindent
\hspace*{.2in}$g_2(v(t), a_1(t), a_2(t), a_3(t))$
\begin{displaymath}
= (1-a_2(t)) \cdot \frac{0.1 (25-v(t))}{\exp \{(25-v(t))/10\} -1)} 
     - a_2(t)\cdot 4 \exp\{-v(t)/20\}
\end{displaymath}

\hspace*{1in}\\

\noindent
\hspace*{.2in}$g_3(v(t), a_1(t), a_2(t), a_3(t))$
\begin{displaymath}
= (1-a_3(t)) \cdot 0.07 \exp\{-v(t)/20\}
     - a_3(t) \cdot \frac{1} {\exp \{(30-v(t))/10\} -1)}
\end{displaymath}

\hspace*{1in}\\
\noindent
where $a_1$ and $a_2$ are called {\it activation} and {\it inactivation}
parameters of the sodium current, respectively, and $a_3$ the activation potassium 
of the potassium current.\\

\noindent 
The values of the constants are given here as:
$V_{\mbox{\tiny Na}} = 50 \hspace{.05in}(mV)$, 
$V_{\mbox{\tiny K}} = -77 \hspace{.05in}(mV)$,
$V_{\mbox{\tiny L}} = -54.4 \hspace{.05in}(mV)$, 
$G_{\mbox{\tiny Na}} = 120 \hspace{.05in}(mS/cm^2)$,
$G_{\mbox{\tiny K}} = 36 \hspace{.05in}(mS/cm^2)$, 
$G_{\mbox{\tiny L}} = 0.3 \hspace{.05in}(mS/cm^2)$,
and $C_m = 1 \hspace{.05in}(\mu F/cm^2)$.\\

\noindent
Firing times of neuron $i$ is defined as the time when the membrane potential $v_i(t)$ 
exceeds the threshold value $v_{\mbox{\tiny threshold}}$,  and 
the $k$-th firing time of neuron $i$ is denoted by $t_i(k)$ which will be used 
for the following definitions of electric currents. \\

\noindent
The $i_i^{\mbox{\tiny pyr}}(t)$ is defined as a sum of synaptic electric currents
from other pyramidal cells via plastic synapses $J_{ij}$, that is,\\

\begin{displaymath}
i_i^{\mbox{\tiny pyr}}(t) = A^{\mbox{\tiny pyr}} \cdot \sum_{j=1}^N \sum_k J_{ij}
     S^{\mbox{\tiny pyr}}(t - t_j(k))
\end{displaymath}

\noindent
where $J_{ij}$ is a synaptic strength from neuron $j$ to neuron $i$ and $A^{\mbox{\tiny pyr}}$
is a parameter that specifies the intensity of the current, and

\begin{eqnarray}
\nonumber
S^{\mbox{\tiny pyr}} = \left\{
\begin{array}{ll}
0                                  & \mbox{for}\hspace{.1in} t<0 \\
\{1/(\tau_1^{\mbox{\tiny pyr}} - \tau_2^{\mbox{\tiny pyr}})\}\cdot
\{\exp(-t/\tau_1^{\mbox{\tiny pyr}})- \exp(-t/\tau_2^{\mbox{\tiny pyr}})\}
& \mbox{for}\hspace{.1in} t \ge 0.
\end{array}
\right.
\end{eqnarray}

\hspace*{1in}\\
\noindent
Here, $\tau_1^{\mbox{\tiny pyr}}$ and $\tau_2^{\mbox{\tiny pyr}}$ are
set to 10 and 5 (msec), respectively.

\hspace*{1in}\\
\noindent
Inhibitory postsynaptic potentials are assumed to be given independently on $i$ as 
\begin{displaymath}
i_i^{\mbox{\tiny int}}(t) = \frac{A^{\mbox{\tiny int}}}{N} \cdot 
     \sum_{j=1}^N \sum_k S^{\mbox{\tiny int}}(t - t_j(k))
\end{displaymath}

\noindent
where $A^{\mbox{\tiny int}}$ controls the global inhibition, and

\begin{eqnarray}
\nonumber
S^{\mbox{\tiny int}} = \left\{
\begin{array}{ll}
0                                  & \mbox{for}\hspace{.1in} t<0 \\
\{-1/(\tau_1^{\mbox{\tiny int}} - \tau_2^{\mbox{\tiny int}})\}\cdot
\{\exp(-t/\tau_1^{\mbox{\tiny int}})- \exp(-t/\tau_2^{\mbox{\tiny int}})\}
& \mbox{for}\hspace{.1in} t \ge 0
\end{array}
\right.
\end{eqnarray}

\hspace*{1in}\\
\noindent
with $\tau_1^{\mbox{\tiny int}}$ and $\tau_2^{\mbox{\tiny int}}$ being
set to 5 and 2.5 (msec) here, respectively.\\

\noindent
The membrane potential $v_i(t)$ of all the neurons $(i=1,2,\cdots,N)$ 
are set so that they maintain fixed values with $i_i(t) = 0$ during $t<0$.
Then external electric current $i_i^{\mbox{\tiny ext}}$ 
triggers initial firings at $t=0$, which evokes the dynamics afterwards.
Note that $i_i^{\mbox{\tiny ext}}$ are given only at $t=0$ and 
then set to be zero again. \\

\noindent
Finally, how we represent patterns to be stored among spiking neurons?
Our constraint is that every neuron should fire only once in one period $T$. 
That is to say, our $\mu$ patterns are stored as:

\begin{displaymath}
s_i^\mu \in \mbox{\bf [}\hspace{.05in} 0, \hspace{.05in} T \hspace{.05in}),
\hspace*{.1in}i=1, \cdots, N, \hspace*{.1in} \mu=1, \cdots, p.
\end{displaymath}

\noindent
In other words, a pattern is stored as a configuration of $N$ real values
between 0 and $T$.\\

\noindent
See Yoshioka (2001) more in detail. All of the definitions in this section 
is after his paper.

\section{Learning by Evolution}
The question is then whether the above simulation is biologically plausible indeed.\\

\noindent
Yoshioka (2001) proposed the following Hebbian like solution to store a set of patterns.
\begin{displaymath}
J_{ij} = \frac{1}{N} \sum_{\mu = 1}^p W(s_i^\mu - s_i^\mu)
\end{displaymath}
where 
\begin{displaymath}
W(t)=\frac{1}{\tau_1 - \tau_2} \{ 
\frac{e^{-t/\tau_1} - e^{-(T-t)/\tau_1}}{1 - e^{-T/\tau_1}}
- \frac{e^{-t/\tau_2} - e^{-(T-t)/\tau_2}}{1 - e^{-T/\tau_2}} \}
\end{displaymath}
adding a comment that it's not biologically plausible since these solutions for $J_{ij}$ 
take both positive and negative values, while the $J_{ij}$ should biologically
be all positive as mentioned in the previous section. \\

\noindent
Hence our proposition is to use an Evolutionary Computation to obtain
all positive $J_{ij}$ which store a number of patterns.
This is of course under an assumption that solutions are not unique though.
As Edleman (1987) once proposed Neuronal Evolution, we assume evolution
exists as neurons' level in our brain, which is not like a species' level
in the original sense. \\

\noindent
Evolutionary computation is a technique to solve problems, typically (but not necessarily)
NP-complete optimization problems, using an analogy of biological evolution.
See for example B\"{a}ck et al.~(2000). In our problem, we represent
a candidate solution by a string, named {\it chromosome} or {\it individual}, which is 
comprised of $N^2$ genes each of which represents each of $J_{ij}$. At the beginning,
a population of these candidate solutions, say a hundred, is created at random.
Since they are created at random, they do not perform well for the task
of storing a set of given patterns. However some individuals are comparatively a little better
than others. In order to evaluate the performance, we define a fitness 
function, or we might call it objective function, which evaluates how good is 
each individual. Then two individuals are selected as parents
with the selection scheme: the better fitness the more likely to be
selected. From selected two parents we pick up either of genes 
with equal probability from cite to cite of the two chromosomes ({\it uniform crossover}). 
Thus we obtain one child chromosome. Occasionally we replace
some of the genes of the child chromosome  with another random value ({\it mutation}). 
These procedures of obtaining one child chromosome are repeated until we create the next
generation. In this way, we can expect chromosomes with better performance
than the ones in the previous generation, and eventually we expect to obtain 
the solution(s) to a set of $J_{ij}$ which have the perfect performance
to store a set of given patterns as associative memory.

\section{Concluding Remarks}
We have described a realization of associative memory using spiking 
neurons. The simulation using spiking neurons is more biologically
plausible than the traditional binary state neurons. Expecting more
biologically plausible model we propose here to employ an evolutionary
computation. Since we have just started this study, we have had
no experimental result, but we hope many interesting phenomena
await our exploration.

\section*{Reference}
\begin{description}
\setlength{\itemsep}{0pt}

\item[]Hopfield, J. J. (1982) 
{\em Neural Networks and Physical Systems with Emergent Collective Computational Abilities.}
Proceedings of the National Academy of Sciences, USA 79,  pp.2554-2558.

\item[]Yoshioka, M (in press)
{\em The Spike-timing-dependent Learning Rule to Encode Spatiotemporal
Patterns in a Network of Spiking Neurons.}
Physical Review.

\item[]Edelman, G.\ M.\ (1987)
{\em Neural Darwinism: The Theory of Neuronal Group Selection}
Basic.

\item[]B\"{a}ck T,, D.~B.~Fogel, and T.~Michalewics (2000)
{\em Evolutionary Computation 1: Basic Algorithms and Operations.}
Institute of Physics Publishing.
\end{description}

\end{document}