Hebbian Learning

Donald Hebb (1949) speculated that “When neuron A repeatedly and persistently takes part in exciting neuron B, the synaptic connection from A to B will be strengthened.” In other words, simultaneous activation of neurons leads to pronounced increases in synaptic strength between them, or “neurons that fire together wire together; neurons that fire out of sync, fail to link".

For example, the well known classical conditioning (Pavlov, 1927) could be explained by Hebbian learning. Consider the following three patterns (see here):

The unconditioned response is: $F \rightarrow S$. Due to the repeated and persistent conditioning process $F \cap B \rightarrow S$, the synaptic connections between patterns B and S are strengthened as both are repeatedly excited simultaneously, i.e., the two patterns become associated, resulting the conditioned response $B \rightarrow S$.

Based on this theory of Hebbian learning, the Hebbian network can be considered as a supervised learning method that learns to establish the associative relationship between any pair of two patterns ${\bf x}_n$ and ${\bf y}_n$ in the given dataset $\{{\bf x}_1,\cdots,{\bf x}_N\}$ and $\{{\bf y}_1,\cdots,{\bf y}_N\}$, considered as the training set. This is a 2-layer network with $d$ nodes in the input layer to receive an input pattern ${\bf x}=[x_1,\cdots,x_d]^T$ and $m$ nodes in the output layer to produce an output ${\bf y}=[y_1,\cdots,y_m]^T$. Each output node is fully connected to all $d$ input nodes through its weights:

$\displaystyle y_i=\sum_{j=1}^d w_{ij} x_j={\bf w}_i^T{\bf x}\;\;\;\;(i=1,\cdots,m)$ (11)

where ${\bf w}_i=[w_{i1},\cdots,w_{id}]^T$, or in matrix form

$\displaystyle {\bf y}=\left[\begin{array}{c}y_1\\ \vdots\\ y_m\end{array}\right...
...ght]
\left[\begin{array}{c}x_1\\ \vdots\\ x_d\end{array}\right]
={\bf W}{\bf x}$ (12)

where ${\bf W}=[{\bf w}_1,\cdots,{\bf w}_m]^T$ is an $m\times d$ matrix.

twolayernet.gif

The Hebbian learning rule is inspired by Hebb's theory, i.e., when both neurons $x_j$ and $y_i$ are activated, the synaptic connectivity, here the weight $w_{ij}$, between them is enhanced:

$\displaystyle w_{ij}^{new}=w_{ij}^{old}+\eta\;x_j y_i\;\;\;\;(i=1,\cdots,m,\;j=1,\cdots,d)$ (13)

or in matrix form:

$\displaystyle {\bf W}^{new}={\bf W}^{old}+\eta\; {\bf y} {\bf x}^T$ (14)

Here $\eta$ is the learning rate, a parameter that controls how quickly the weights get modified.

As in all supervised learning, the Hebbian network is first trained and then used for association.