Associative memory

\includegraphics[clip,width=10cm]{memory.eps}

$\ma{W}_m$ is the weight matrix of the $m^{th}$ pattern association that maps $\ve{x}_m \to \ve{y}_m$ defined as:

\begin{displaymath}\ma{W}_m =
\begin{pmatrix}
w_{00}[m] & w_{01}[m] & \hdots &...
...\
w_{m0}[m] & w_{m1}[m] & \hdots & w_{mm}[m]\\
\end{pmatrix}\end{displaymath}

Where the neurons have no bias, and the index $m$ denotes the $m^{th}$ pattern association. The output vector $\ve{y}_m$ is given by the following equation in matrix notation:

\begin{displaymath}\ve{y}_m = \ma{W}_m \ve{x}_m\end{displaymath}

The memory matrix $\ma{M}$ of $N$ pattern associations is defined as:

\begin{displaymath}\ma{M} = \sum_{n=0}^{N-1} \ma{W}_n\end{displaymath}

Or with the recurrent relation:

\begin{displaymath}\ma{M}_n = \ma{M}_{n-1} + \ma{W}_n\end{displaymath}

Which can be estimated as the sum of outer products of $\vec{y}$ and $\vec{x}$:

\begin{displaymath}\ma{\hat{M}} = \sum_{n=0}^{N-1} \ve{y}_n \ve{x}_n^t = (\ve{y}...
...x}_1\\
\vdots\\
\ve{x}_{N-1}
\end{pmatrix}= \ma{Y}\ma{X}^t
\end{displaymath}

Or in a recursive way:

\begin{displaymath}\ma{\hat{M}}_n = \ma{\hat{M}}_{n-1} + \ve{y}_n \ve{x}_n^t\end{displaymath}

So $\ve{y}_n \ve{x}_n^t = \ma{\hat{W}}_n$ is an estimator of the weight matrix.
The memory associates perfectly when the set of input vectors is orthonormal, the upper bound of patterns that can be associated is the dimension of $\ma{M}$.

Pedro Larroy 2005-04-29