HopField/Brody Model : 1) Synchronized output from same frequency but asynchronous noisy input

Physical System

Temporal pattern recognition of sounds.

Model

Introduction to parts 1, 2, and 3

Sound patterns are encoded in a set of sound frequency channels by a single event in each channel that indicates when the channel is active. The network problem is for an output cell to be active only after presentation of a specific temporal pattern (defined by the list of single event times on each channel).

The network does this in three conceptual steps.

Each sound channel has a separate set of cells that, when triggered, fire with decreasing frequency. Each cell in a set has the same starting frequency but a different rate of frequency decay.

Part 2 of this group of exercises explores how such a triggered decreasing frequency cell can be implemented with an IntFire2 artificial cell.

Following presentation of a pattern, there is a short period of time in which the firing rates are the same for one cell from each sound frequency channel. Call these cells, whose firing frequencies are transiently matched, the pattern set.

All the decreasing frequency cells feed into a layer of (alpha) cells. In order to recognize the pattern, the network of alpha cells is constructed so that excitatory connections link all alpha cells that receive input from the pattern set. This subset of alpha cells is supposed to generate "synchronous" output only when its inputs have the same frequency.

Part 1 of this set of exercises explores how a network of IntFire3 artificial cells can be used to implement this behavior.
Synchrony of the subset of alpha cells is detected by a gamma cell that receives input only from that subset of alpha cells.
Part 3 of this set of exercises explores how this could be done with an IntFire1 artificial cell.

Synchronization in the presence of same frequency input

Alpha cells receive input characterized by spike frequency. The alpha cells are supposed to fire synchronously when their inputs all have the same frequency. Mutual excitation between alpha cells can be employed to make this happen.

Simulation

The entire HopField/Brody synchronization net involving alpha and beta cells can be implemented with the IntFire4 model.

The IntFire4 artificial cell treats excitatory input (positive weight) events as a sudden change in current which decays exponentially with time constant taue. Inhibitory input (negative weight) events are treated as an alpha function like change to the current. More precisely the current due to a negative weight event is the difference between two exponentials with time constants taui1 and taui2. In the limit as taui2 approaches taui1 then the current due to the event approaches the alpha function.

The current due to the input events is integrated with a membrane time constant of taum. At present there is a constraint taue < taui1 < taui2 < taum but this may become relaxed to taue, taui1 < taui2, taum.

When the membrane potential reaches 1, the cell fires and the membrane potential is re-initialized to 0 and starts integrating according to the analytic value of the current (which does NOT depend on firing). Excitatory events are scaled such that an isolated event of weight 1 will produce a maximum membrane potential of 1 (threshold) and an isolated inhibitory event of weight -1 will produce a minimum membrane potential of -1.

The principles of excitatory synchronization can be explored with just a few alpha cells. I recommend 4 in order to clearly see the nature of what is meant by "synchronization" in this context. This is not so many that the 12 all-to-all connections between 4 alpha cells are too tedious to build with the netgui tool.

I use taue=5 ms and taum=200 ms. (Don't worry about the taui1,2 since there are no inhibitory connections in this exercise). The name of my alpha type is A.

To use the net we need a stimulus frequency, which is most easily provided with a NetStim. I constructed a 100Hz stimulus by setting the interval to 10 ms, the number to 100000, the start to 0, and the noise to 0.1 . The name of my stim type is S.

With the NetGUI tool, I first constructed 4 S instances and then 4 A instances. Then connected the S to A, and finally all the A to A. Doing the connections in this order nicely groups the connections in the weight panel for easy setting.

An example of synchronization is with S->A of 0.1 and A->A of 0.1 .

Here is a sample net specification (but not yet instantiated). It is easiest to observe the connection pattern by dragging each cell around the scene.

1) After building the net, instantiate it and start a spike plot. Also plot the M (membrane) state of each of the A cells. This latter gives good insight into why the net synchronizes. Use a tstop of 2000 and the variable time step.

Here is a working exercise.

Note: The NEURONMainMenu/Tools/PointProcesses/Managers/PointGroup can be used to separately change NetStim parameters on an individual basis. However if you change the S type spec in the ArtCellGUI this will take precedence over the PointGroup values.


NEURON hands-on course
Copyright © 1998-2001 by N.T. Carnevale and M.L. Hines, all rights reserved.