Tools for Modelling Mental Imagery
4.3 Learning Algorithms
4.3.1 Hebbian: Supervised Learning
The Hebbian learning rule was derived from the famous quote “the cells that fire together wire together” postulated by Donald Hebb in 1949. The key idea is focusing on the existence of connections, synapses, between two neurons i.e., pre- and post-synaptic neurons. If the two neurons are connected, in order to make the post-synaptic neuron fire, an activation of the pre-synaptic neuron and a current action potential of the synapse have to meet a proper constraint, by means of multiplication. If the result is high enough to reach a setting threshold then the post-synaptic neuron will be fired.
In computation, the term synapse refers to a connection weight between two neurons which are normally represented by the constant value wij. The two equations
below illustrate how the connection weight is changed and updated. Note that, the equation 4.2 is called Oja rule (Oja, 1982), a Hebbian like equation that solves the problem of the basic Hebb rule causing a weight growing without bound.
∆wij = η ai (aj - wij) (4.2)
w(t)ij = w(t-1)ij + ∆wij (4.3)
where ∆wij denotes the weight change from neuron i to neuron j, ai and aj denote activation potential of neuron i and j respectively, η denotes the learning rate, and w(t)ij is a weight value at a particular time step.
In this thesis, several cortical areas of the brain are modeled as 2D neural maps. Hebbian learning was applied to learn the relation between specific neural maps e.g., information in the V1 that influences the neurons' activity of the parietal cortex. Figure 4.2 illustrate an example of the connection between two neural maps i.e., input and output.
Figure 4.2 An example of a 2D Hebbian network with all neurons from the input layer connect to all
neurons of the output (all-to-all connection).
In order to avoid drawing too many arrows as connection weight between the maps, the three arrows are used to illustrate sample connections from one neuron of the input
Input map (neuron xi)
Output map (neuron yj)
All-to-all
Connection (wji) Neuron
Connection weight
map to other three neurons of the output.
This kind of network requires pairs of input output to be its training patterns in order to learn the relation between them. After successfully trained, the feed forward process that propagates input information through the connection weights can generate desired output as a prediction. The feed forward process can be calculated using the equation below:
yj=F (
∑
ixi∗wji) (4.4)where yj is a final activation of the output neuron j. F is a transfer function (e.g., sigmoid or hyperbolic tangent) that transforms the summation of all input neurons' activity xi with their connection weights wji to the output neuron yj.
4.3.2 Kohonen: Competitive Learning
A Kohonen Self Organizing Map (SOM) (Kohonen, 1990) is a well-known neural network leaning technique. It is an unsupervised learning technique that is able to adjust the weight values without any desired output. This means only a set of inputs is needed in order that the SOM will generate an output map.
At the heart of SOM, there are two important steps needed. First is the calculation of the best matching units (BMU), typically using Euclidean distance technique. The BMUs will be the central unit of each cluster in the map (output). Typically, in a two dimension SOM map, each neuron will be located in a specific position (e.g., x,y coordination) with a random activity level. The latter step is a weight updating. For each training cycle, the input to the SOM network will be changed and these two techniques will form salient clusters in the map. It is important to note that, the output map is unpredictable. Therefore an output map needs a manual interpretation. The SOM
learning rule can be implemented using the following equation:
w(t)i = w(t-1)i + Θ(t-1) i η(t-1) i (v(t-1) i -w(t-1) i) (4.5)
where w(t)i denotes current weight value of neuron i at time t, w(t-1)i denotes an old weight value of the neuron i, Θ denotes the amount of influence on the distance between neuron i and the best matching neuron in a map, η denotes the learning rate, v denotes input value to the neuron i. Note that, Θ and η decrease over time.
A major processing characteristic of SOM is clustering. It transforms high dimensional inputs to represent in a low dimension known as data visualisation; normally in 2 or 3 dimensions. Each input will be represented in a unique area in the SOM map. We can apply this characteristic to create a neural map that represents identities among a number of input maps. A unique cluster and its input can be used for the mapping of a new training set for another learning process. In much work, a functional purpose of a SOM map is to provide an ability of complex mapping between input modalities.
Figure 4.3 An example topology of the Kohonen network.
Input map (neuron xi)
Output map (neuron yj) Lateral Connection wji One-to-one connection Neuron Connection weight
Connection weights of the SOM network refer to the lateral connection (dashed arrows in Figure 4.3) within the output map. They play a central role in this kind of network and training processes are involved mainly in this layer. The connection between the input and output maps (one-to-one connection) is only used to propagate the input signals in the training processes of the SOM. In Figure 4.3, the dashed arrows are used to show one sample that one neuron of the output map is connected to other neurons within the map including itself. The readout process for using the SOM
In addition, the algorithm for training Kohonen network can be listed as below:
1. Initialize the lateral connection weights with small random values.
2. Randomly select training input.
3. Calculate the best matching unit (BMU).
4. Update the connection weight (using Eq. 4.5).
5. Repeat step 2 for N iterations e.g., 10,000.
After training, the feed forward processes follow the similar processes as stated in Eq. 4.4. However, the actual activation of each output neuron (yi) has to be normalized using the below equation:
yj=yj/max ( y) (4.6)
where max is a function returning the value of the output neuron that has maximum activation.