ETIS / ANR Saturn - Neurons on FPGA     

Login
Forgot your Password?


Neurons on FPGA

In the first steps of our work, we explore a model based on Kohonen Self-Organizing Map (SOM) [1] implemented thanks to a FSM. In order to giver a satisfing behavior, this model supposed the neurons entries weights sorted relatively to theirs entries domain in respect with the network topology formed by their lateral connections.

From the pre-processing neurons, the amount of edges and movements in the image is extracted. In this experiment, these quantities are used as the criteria for adaptation.
An element of the SOM architecture is formed by four main modules (see Fig. 9):

In the first steps of our work, we explore a model based on Kohonen Self-Organizing Map (SOM) [1] implemented thanks to a FSM. In order to giver a satisfing behavior, this model suposed the neurons entries weights sorted relatively to theirs entries domain in respect with the network topology formed by their lateral connections.  From the pre-processing neurons, the amount of edges and movements in the image is extracted. In this experiment, these quantities are used as the criteria for adaptation. An element of the SOM architecture is formed by four main modules (see Fig. 9):      An internal memory (W s) to store the current weights of the entry synapses     A distance (Fd) computation block     An activation (Fa) function block     A program memory (PM) that contains the current pro-gram allocated to the cell.  Fig. 9. The Kohonnen neuron is implemented thanks to different VHDL modules. Fd is dedicated to handle the distances computing. Fa handles the activation function. Ws is used to store and compute the synaptic weights. Finally PM is responsible of the replication and configuration of the current program of the cell.  A finite-state machine is then responsible for controlling the functionality of the Kohonen cell. It is composed of five states depicted in Fig. 10.  Fig. 10. The finite state machine which controls the behavior of the self-organizing layer. The states are: 1) distance computation, 2) selection of the closer neuron to the input vector, 3) evaluation of the Manhattan distance from the winner of state 2, 4) learning step, 5) reconfiguration of the PEs. * represents a stimulus. ** represents the SOM. In the first state, the distance computation block Fd computes the current distance between the entries of the neuron and the weights’ vector. Then in the second state, Fd outputs the distance onto the D port toward all its neighbors.  At this step, all the neurons can simultaneously compare their own computed distance D with the ones outputted by their four direct neighbors (signal Ds). Because of the ordered initialization of the weight vectors and of the nature of the entries, there is only one winning neuron for each sample (that has a distance lower than its neighbors). In the third state, this neuron outputs on the A port the maximum activation value as it is the elected neuron. Then all the neurons compute the argmin function on the set of their activation inputs As incoming from theirs neighbors. This state is repeated over the number of discretization samples of the modulation function (the Mexican hat function of Fig. 7). Then in the forth state, the activation function block, that contains a discrete form of the Mexican hat function, gives to the distance block the modulation rate to compute the new weights of the neuron. Finally, on the fifth state, the programs of the corresponding computing cells are updated depending on the new positions and the new proximities of the neurons. The PM block is then able to read from port P the program of the neighbor cells, and outputs on port C its own program and reconfigures its relative computing cell through the Ci port.   As a resulting behavior, we can observe that the programs of the cells are replicated in their neighbor cells through the P, C and Ci ports.      [1] Teuvo Kohonen. "Self-Organization and Associative Memory". 1989 Springer-Veriag

Fig. 9. The Kohonnen neuron is implemented thanks to different VHDL modules. Fd is dedicated to handle the distances computing. Fa handles the activation function. Ws is used to store and compute the synaptic weights. Finally PM is responsible of the replication and configuration of the current program of the cell.

 

A finite-state machine is then responsible for controlling the functionality of the Kohonen cell. It is composed of five states depicted in Fig. 10.


Fig. 10. The finite state machine which controls the behavior of the self-organizing layer. The states are: 1) distance computation, 2) selection of the closer neuron to the input vector, 3) evaluation of the Manhattan distance from the winner of state 2, 4) learning step, 5) reconfiguration of the PEs. * represents a stimulus. ** represents the SOM. In the first state, the distance computation block Fd computes the current distance between the entries of the neuron and the weights’ vector. Then in the second state, Fd outputs the distance onto the D port toward all its neighbors.

At this step, all the neurons can simultaneously compare their own computed distance D with the ones outputted by their four direct neighbors (signal Ds). Because of the ordered initialization of the weight vectors and of the nature of the entries, there is only one winning neuron for each sample (that has a distance lower than its neighbors). In the third state, this neuron outputs on the A port the
maximum activation value as it is the elected neuron. Then all the neurons compute the argmin function on the set of their activation inputs As incoming from theirs neighbors. This state is repeated over the number of discretization samples of the modulation function (the Mexican hat function of Fig. 7). Then in the forth state, the activation function block, that contains a discrete form of the Mexican hat function, gives to the distance block the modulation rate to compute the new weights of the neuron. Finally, on the fifth state, the programs of the corresponding computing cells are updated depending on the new positions and the new proximities of the neurons. The PM block is then able to read from port P the program of the neighbor cells, and outputs on port C its own program and reconfigures its relative computing cell through the Ci port.



As a resulting behavior, we can observe that the programs of the cells are replicated in their neighbor cells through the P, C and Ci ports.


[1] Teuvo Kohonen. "Self-Organization and Associative Memory". 1989 Springer-Veriag