More importantly, spontaneity takes place at the neuron level in the human brain. There is some evidence to show that neurons in the brain can occasionally activate even when they have no input to them. For example, cells from a cat's brain have been taken out and kept alive in a Petri dish (in vitro), and they will produce irregular activity spikes even when there is nothing stimulating them (see the Bevan and Wilson paper).
What is the point of this spontaneous activity? Does it have a purpose, or is it just something that happens due to the way that neurons are constructed? It might even be counterproductive, and tend to prevent CAs from forming or disrupt them after they have formed. This part of the web site investigates some of the ramifications of spontaneous activity in the formation of CAs.
This particular page contains an experiment to see whether spontaneous activity alone can activate a cell assembly that has previously been trained. The applet is almost identical to the one used to implement associative memory (Click here for an explanation of how that program works), except the Test option works slightly differently. All the functions have been duplicated (well, I couldn't be bothered to take them out, to be honest!)
When you click on
, a cell assembly is trained in the centre of the grid. This is done by repeatedly activating about 20% of the cells in the centre square at random and hoping that the appropriate connections form.
Now, I'm sure you've noticed that there is a text field between the
button and the
button. This is where you enter the desired spontaneous activation level. Before you click on
, type a decimal value here between 0 (no spontaneous activity) and 1 (all cells guaranteed to activate) to indicate the probability of any given cell activating. A value of 0.05 (i.e. 5%) is typical - indeed, if you forget to enter a value here, 0.05 is the default value assumed by the program.
We don't need a
icon any more - the program clears the activity of the grid (but not the connection strengths, obviously!) before it tests it automatically.
You will also notice the absence of the
/
icon. Since during testing the program only accepts cell input randomly from spontaneous activation of cells, there is no point in being able to set the values of the cells directly. Now, whenever you click on a cell, you are shown the connections from that cell.
When you click on
, the program does a test run of TESTING_RUNS cycles (currently 100). All the cells in the grid have the same probability of being set, so don't expect activity to be concentrated exclusively in the central region. At some point, you should notice the cell assembly that appeared during training will reappear. This indicates that the cells activated spontaneously have hit the right level of activity to fire up the cell assembly.
The program uses a simple algorithm to detect whether the cell assembly has fired. Just after training, a variable called activationLevel is set to the sum of all the activity of the cells within the central square region of the grid - the region that represents the training "pattern". During the testing, if the activity of the central square of cells goes over a proportion of that activity (given by ACTIVATION_THRESHOLD, currently 0.70 or 70%), then it assumes that the assembly has fired, and reports how many time steps it took.
One other icon you won't recognise is the
icon. This randomises the connections and destinations of the grid, then trains it. After the training it then performs 50 test runs with increasing spontaneous probability activation probabilities: 0.001, 0.002, 0.003 etc. up to 0.05. The results are displayed with the probability followed by the number of time steps before the cell assembly fired (a minus sign indicates that the assembly didn't fire within the TESTING_RUNS time steps available).
By running the Full Test option 100 times and averaging the results for each probability value a clear relationship emerges between the spontaneous activation probability value and the number of time steps before the cell assembly fires.
This first graph shows the number of times that the assembly fired for any given spontaneous activation probability.

The second graph shows for each spontaneous activation probability value the average number of time steps required before the assembly fired. It ignores the test runs in which the assembly didn't activate (i.e. the average for the low probability values is based on fewer numbers).

You can see a clear pattern here. For lower probability values, the assembly rarely fires and even then only after a large number of time steps. With larger probability values the assembly is guaranteed to fire and the interval between the start of the test and ignition becomes shorter.
Back to Cell Assembly menu
The Bike-riding experiment