Self-Organizing Map Network
An SOM network is a pre-configured subnetwork containing a SOM group with an input layer and training interface. The SOM group is where the learning algorithm and parameters are defined.

From the Simulations > Competitive > SOM network simulation. This SOM has been trained to distinguish different smells. Notice that the cheese sensors are near each other and the flower sensors are also grouped together.
For details on the algorithm, parameters, and theory, see the SOM group page.
Structure
The SOM network consists of:
- An input layer (clamped)
- A SOM group arranged in a hexagonal grid
- All-to-all connections from input to SOM layer
- Training data management for unsupervised learning
Creation
When creating an SOM network, you specify:
- Number of som neurons: Number of neurons in the SOM layer. These are laid out in a spatial grid.
- Number of inputs: Number of input neurons that will be fully connected to the SOM layer.
For SOM group parameters (learning rate, neighborhood size, decay rates), see the SOM group documentation.
Training
Training an SOM network involves specifying a set of input data and then running the algorithm. The general process is covered in Unsupervised Learning. Double-click the interaction box to open the training dialog.
The SOM learns by repeatedly finding the winning neuron (closest to each input) and updating weights in a neighborhood around the winner. Over time, the learning rate and neighborhood size decrease to zero, allowing the map to stabilize. The decreasing learning rate and neighborhood size are shown in the interaction box. See the SOM group documentation for algorithm details.
Right Click Menu
Common right-click items are described on the subnetwork page.
- Add Current Pattern to Training Data: Add the current input pattern to the training dataset.
- Train on current pattern…: Opens a dialog to train the network on the current input pattern for a specified number of iterations.
- Train once on current pattern: Train the network for one iteration on the current input pattern. Keyboard shortcut:
T - Edit / Train SOM: Opens the training dialog to train the SOM network.
- Randomize: Randomize synapses connected to the SOM group. Keyboard shortcut:
R - Reset SOM Network: Reset the learning rate and neighborhood size to their initial values.
- Recall SOM Memory: Set the input layer activations to match the weights of the most active SOM neuron.