Simbrain Quick Start
Some quick things you can do to see things happen...
1: Open different workspaces using File > Open Workspace (open the .zip files) and press play in the in the workspace toolbar to see what happens.
2: Run different scripts using the the Scripts menu and either press the buttons in the button panel that appears, or press play in the in the workspace toolbar to see what happens.
To get rid of everything in the workspace, use File > Clear Workspace.
Add networks to the workspace
Click the network button in the main toolbar a few times. You should see a few networks show up. You can move them around however you like and resize them.
For a guide to what the symbols in a network mean, see the image and description here.
Add neurons to a network
Click in one of the networks you created (most of the next steps assume you have created a network and it is in focus). Now create some neurons, by presing the button or using the "p" key. Do this a few times to create a line of neurons. (For all network key commands, the network window must be selected for the command to work)
Select those neurons
Use the mouse to draw a lasso around the neurons so that they are selected. You can also press the "n" button to select all neurons. Green halos will show up around these neurons signifying that you have selected them.
Randomize the neurons
With the neurons selected, press the randomize button or pressing "r". Do this a few times to get a sense of what happens when neurons are randomized.
Copy and paste some neurons
Select some neurons, copy them using Edit > Copy (or command-c), click where you want to put a copy of those neurons, and then paste them there using Edit > Paste (or command-v). Press paste repeatedly to see multiple copies of these neurons appear.
Select all your neurons using "n", and press the delete button or the "backspace" or "delete" key.
Connect one neuron to another
1) Create two neurons. You will make a connection from a "source" to a "target" neuron.
2) Designate one neuron as a "source neuron", by selecting Edit > Connect > Set source neuron(s) or pressing the "1" key, which is a keyboard shortcut for selecting source neurons. Observe the red halo that appears around the neuron.
3) Select the target neuron just by lassong it using your mouse.
4) Connect the source to the target neuron using Edit > Connect > All to all or by pressing the "2" key. If a dialog appears just click "OK". This dialog will not appear if you click "2".
select source neurons > "1" > select target neurons > "2"
5) If you like, clear the "source neuron" halo by going to Edit > Clear source neuron(s) or by clicking outside any neurons or weights and pressing "1".
Add activation to one neuron
Select the source neuron you just created. Press the "up" arrow button, and observe the value of the neuron change upwards.
Iterate a network
Iterate the network once. This can be done by clicking the button in the desktop toolbar, or pressing the space-bar in the network (these are slightly different operations, but we can ignore the distinction for now).
Observe activation pass from the source to the target neuron. Iterate again and the activation clears out.
Select and randomize the weight
Select the weight you created by clicking on it (the weight or synapse is the red disk connecting one node to another; see the picture here) . If that is tricky, lasso over the connection line. You can also press "w", which selects all weights. A green halo will show up around the weight.
As with neurons, randomize by pressing the randomize button or pressing "r". Do this a few times to get a sense of what happens when synapses are randomized. If they are positive their color is red; if negative blue. The size of the weight is proportional the strength of the synapse.
Having randomized this weight, again add activation to the source neuron and iterate the network, to see that the activation propagates differently.
Make a layered network
(A layered network or "feedforward" network is one in which the nodes are organized in to a sequence layers, where each node in one layer connects to all the nodes in the next layer. Activation flows from an input layer to an output layer. There are no loops so these networks tend to "dissipate" activation.)
Let's make a new network. Delete everything you've done up until now (press "a" to select all and delete to delete).
1. Make a row of neurons by pressing "P" a few times.
2. Copy and paste those neurons and move them right above the first neurons.
3. Repeat. You should now have three rows or "layers" of neurons.
4. Select the bottom row and make them source neurons using Edit > Set source neuron(s) or by pressing the "1" key.
5. Select the middle row and connect using Edit > Connect > All to all or by pressing the "2" key.
6. Now immediately make the middle row the new source neurons by pressing "1" while they are still selected
7. Select the final row and press "2" to connect.
8. Activate the bottom row by selecting those neurons and pressing the "R" button to randomize them.
9.Iterate the network a few times pressing the space-bar, to see activation propoagate through the network
Make a recurrent network
(A recurrent network is a network which contains "loops" or "cycles", in the sense that one can begin at some nodes, follow connections, and end up back at the same node. Because activation can repeatly flow through the loops in recurrent networks, they can display interesting dynamics.)
1. Make a grid of neurons using Insert > Add Neurons... A dialog will show up asking you how many neurons you want to create. Say 9 and press OK.
2. Select all the neurons with "N"
3. Connect them all to themselves by pressing "1" then "2". (This works because in step 2 they were designated as target neurons, and by pressing "1" they were designated as source neurons, and pressing "2" connected all source to all target neurons).
4. Randomize the weights by first pressing "w" to select all weights, and then pressing "r" to randomize them.
5. Randomize the neurons by first pressing "n" to select all neurons, and then pressing "r" to randomize them.
6. Iterate the network using the spacebar. Observe the changing behavior. Periodically re-randomize the neurons using "N" followed by "R".
Edit a few neurons
1. Select all the weights in your network by pressing "w" or using Select > Edit Selected Neurons
2. Double click one of the neurons, or use Edit > Edit Selected Neurons. A neuron dialog will show up allowing you to edit these neurons. Click on the More drop-down, and change the Clamped property to Yes.
3. Randomize the network and iterate it, and observe that the neurons whose update rule is clamped do not change.
1. Select all the weights in your network by pressing "w" or using Select > Select All Weights.
2. Edit the weights using Edit > Edit Selected Synapse(s). A synapse dialog will show up allowing you to edit these weights. Change the learning rule to Hebbian.
3. Randomize everything by using Select > Select All or pressing "a" and then pressing "r" (this randomizes weights and neurons).
4. Press the play button . Periodically press "a" then "r" to re-randomize the network. Notice that the weights slowly change their size, becuse they are learning using the Hebb rule.
Create a bar chart
Don't delete the network you just created. We will now graph its activity using a bar chart.
1. Add a bar chart to the workspace using Desktop Menu: Insert > New Plot > Bar Chart or by clicking on the plot menu button in the desktop toolbar and selecting "Bar Chart"
2. Connect the network to the bar-chart using the coupling manager. Open the coupling manager using Couplings > Open Coupling Manager... On the left side of the dialog under Producers select the network you created. On the right side under Consumers select the bar chart you created. Select all the neurons on the left and all the bars on the right, and click Add Couplings.
3. Iterate the workspace a few times the step button , or run the workspace using the play button . While it's running periodically reset the network using select all and randomize ("A" then "R" while the network component is in focus), and observe the changing pattern in the bar chart.