Summary: This report summarizes work done as part of the Hippocampus Neuroscience PFUG under Rice University's VIGRE program. VIGRE is a program of Vertically Integrated Grants for Research and Education in the Mathematical Sciences under the direction of the National Science Foundation. A PFUG is a group of Postdocs, Faculty, Undergraduates and Graduate students formed round the study of a common problem.This module reproduces the work of A Lansner and E Fransen's "Modelling Hebbian cell assemblies comprised of cortical neurons". This work was studied in the Rice University VIGRE class CAAM 499 in the Fall of 2007.
Note: Your browser may not currently support MathML. See our browser support page for additional details. You can always view the correct math in the PDF version.
One hypothesis on how ideas are structured in the brain is that groups of cells form a unit called a cell assembly. The cells within the assembly are connected with strong excitatory synapses. Thus, when enough activity occurs in the neurons within the assembly, then the entire assembly will have the ability to activate. An active assembly would meet the definition that the cells within the assembly are firing at a high rate in the same time frame. Successions of assembly activation could be the basis of how to form thoughts and give a mental representation for different concepts. This idea was introduced by Donald Hebb in The Organization of Behavior. The assembly will eventually shut down if the source of stimulation ceases or a competing assembly can provide inhibition. This theory can be extended to explain how learning occurs and possible phenomena such as perspective-rivalry. For instance, in optical illusions, such as the nectar cube shown below, there are two different possible interpretations of the perspective. It is possible that two different assemblies represent the different perspectives. In order to switch perspectives one must shut down the current perspective assembly and activate the alternate perspective. There could also be a hierarchy of assemblies. Sub-assemblies could give rise to larger assemblies. Due to synaptic plasticity different sub-assemblies that are activated in similar orders through repetition allows new larger Assemblies to form. If sufficient clues that are represented by smaller sub-assemblies are activated, the brain will be able to activate the larger assembly.
|
To get some insight on whether this is plausible we want to construct biologically accurate computational models and test assembly activation and inhibition. This module will follow the paper Modeling Hebbian cell assemblies comprised of cortical neurons, by A Lanser and E Fransen. It will show how to reproduce the results contained in the paper and the mathematics involved.
Here is a brief summary of what is ahead:
1.) Go over the neuron models and the different ion channels.
2.) Show how synaptic input is modeled.
3.) Show how differential equations are solved with time stepping.
4.) Show how patterns which represent different assemblies are used to "train" a network and produce weights.
5.) Give parameters that are used and explain parameters that are dependent on simulations.
6.) Run simulations by going through the matlab prompt and display results.
Below is a quick description of the basic dynamics of neurons and how messages are relayed in neuronal networks. The mathematical model that is used in the simulations is given in detail.
The basic function of a neuron is the ability to relay information by means of an action potential. This is a quick depolarization burst which originates at the cell soma (main body) and travels down the axon reaching boutons. At a bouton the depolarization will cause neurotransmitters to be released into the synaptic cleft, a small space between the bouton and a spine of the target cell. The neurotransmitter then opens ion channels in the postsynaptic receptor area that can serve to excite or depress the post-synaptic neuron, depending on whether the sending neuron is excitatory or inhibitory. A cell achieves an action potential when it receive enough excitation from other cells. When the cell voltage reaches a certain threshold its firing mechanisms kick in and generate an action potential. The firing mechanism consists of voltage gated ion channels in the cell's soma membrane. These channels permability are dependent on voltage levels and are specialized to only allow specific ions to pass through. The standard action potential starts with stimuli which raises voltage sufficiently to open
There are two basic types of cells: excitatory and inhibitory. When excitatory cells fire they increase the potential in the neurons they synapse onto. Whereas, inhibitory decrease the potential. For our purposes we will use different parameters to the two cells different characteristics.
The excitatory cell model used has 4 compartments per cell. The first compartment represents the soma. The other three are a chain of dendrites, which represent a collapsed dendritic tree at different distances from the soma. In the case of an inhibitory cell there will only be 2 total compartments. Cells will synapse onto compartment 4 if it is a E (excitatory) to E connection. Compartment 1 if it is an I (inhibitory) to E connection. Compartment 2 if it is an E to I connection.
Below is the main differential equation that governs the cell voltage in a compartment. The first term in the fraction represents the leak current. The second term is the summation of current that comes in from neighboring compartments. The third term represents Ion channel currents; they are only present at the cell soma. The fourth term is current entering from synaptic input.
| Variable | Description |
| V | Compartment Potential |
|
|
Outside Potential |
|
|
Membrane conductance |
|
|
Neighbor compartment voltage |
|
|
Conductance between Compartments |
|
|
Ion channel current (only in soma compartment) |
|
|
Membrane capacitance |
The cell dynamics use a model that is derived from the Hodgkin-Huxley model. The ion currents take the general form of a driving force (which is due to the different concentrations of the ions on the inside and outside of the cell) being multiplied by a conductance term (the reciprocal of resistance) and a product of voltage dependant variables that indicate the fraction of the ion channels open. For example, the sodium current is:
Where
Here
The inactivation variable
The
For more details on the Hodgkin Huxley model visit http://www.caam.rice.edu/caam415/ or look at the series of papers this module is designed after.
The change in net potential due the calcium flow is negligible. However, we still need to track it in order to control the Calcium dependent Potassium channels. As cell repeatedly fires calcium will build up leading to stronger repolarizations this will help allow for firing rate adaptation and provide the assembly a mechanism through which it will die out eventually.
The Calcium dependent Potassium channels:
The second form of Calcium comes through NMDA channels that are located on the post-synapse. It is important to separate this Calcium source since it enters and leaves the cell with different time constants due to the different method it enters the cell. This contribution will be discussed in more details in the next section. The Calcium pool
Cells communicate with synaptic connections where the bouton and post-synapse meet. The firing cell releases neurotransmitter into the synaptic cleft. These chemical open up ion channels in the postsynaptic receptor cell. This allows either a gain in postsynaptic potential (if the presynaptic cell is excitatory) or a depression in potential (for a inhibitory cell). The model for the synaptic current is show below:
Here
The second type of receptor Channel is the NMDA channel. These receptor channels are blocked by
The NMDA channels are also permeable to
This term actually looks a little more complicated. There are generally many synapses where
There are several differential equations that need to be solved in order to advance the system. A time-stepping method is used and updates each variable given the selected step size (typically .01 milliseconds). A hybrid Euler scheme is used. In a differential equation the derivative is replaced with the approximation
Solving for
Update
The ion channels have the
The final result term after solving for
After constructing models for the individual neurons it is necessary to connect the cells. The mission is to have a small network (50 excitatory and 50 inhibitory neurons will be used in the simulations, more details on why in a bit) and have the cells trained with pre-selected assemblies/patterns. Given different patterns or events we want to construct a weighting scheme that will assign a proper weighting. Proper in the sense that cells within a pattern will have strong excitatory connections and cells that are ever in the same pattern will have inhibitory connections. The goal is to have the network able to activate patterns. This means that when a sufficient number of cells belonging a pattern are stimulated it will fully resolve.
The weighting algorithm will output weights that are effective in proportion to another, but will require proper scaling. Should the overall weighting magnitudes be too high the network will seizure (meaning all the cells start firing). If the weighting magnitudes are too low, the network will go dormant once stimulation is removed.
The term weight is used loosely; it signifies the choice of the measure of conductance at synapse where two neurons meet. This parameter will suffice as way of quantifying the strength of a synapse which is physiologically determined by the amount of neurotransmitter that would be released into the cleft and the number of receptor channels. Look back at the form for a synaptic current to see the conductance term we now will give more detail on:
The
The scheme used to produce weights will use a probabilistic approach. Using a simple intuitive approach we want to characterize the level of support a cell gets by the term:
Here
From conditional probability rule
arises Bayes Rule, which can then be iterated.
Taking the logrithm of this term gives us something in the form we wanted:
Thus we have that:
The method for computing the probabilities is now explicated. For single probabilities (such as
There exists a more complicated version in which different events/patterns carry more significance than others and are then weighted accordingly by
The method that produces the weight matrix
The output from the weight matrix will yield positive and negative entries. If the entry is positive we have an excitatory connection. If an entry is negative there is an inhibitory connection. If the absolute value is less than a chosen tolerance then there is no connection.
Now comes an important step that is not entirely biologically correct but serves to make the over network model simpler. The patterns that we used in constructing the weight matrix in fact will consist of all excitatory cells. For each of these excitatory cells we will now designate a inhibitory companion cell through that only synapses onto the excitatory cell. All inhibition of the excitatory cells is achieved by other excitatory cells that synapse onto the inhibitory companion. Thus, there are an equal number of E and I cells. (as mentioned earlier there will be 50 E and 50 I cells in the simulations produced ahead).
|
|
The bulk of the theory is completed. Now, the specifications for the simulations are presented. The parameters that are used in the biological model presented earlier are given values. Then there is a few examples of how to use the matlab code. The code used can be downloaded at http://www.caam.rice.edu/~cox/hippo.html#code .
In the simulations there will be 50 E-cells and 50 I-cells. The Network will be "trained" to encode assemblies by running the weight producing algorithm on a set of patterns, each which represents a cell assembly (remember weights are only produced between the E-cells initially). There will be 8 patterns that contain 8 E-Cells in each. Each "event" or pattern will carry equal significance when the weighting algorithm runs. To help visualize the patterns look at the diagram below.
Below are tables with parameter that are given exactly from A Lansner and E Fransen.
| Parameter | E-Cell | I-Cell |
| -50 | -70 | |
|
|
0.04 | 0.0638 |
| 0.0032 | 0.0016 | |
| 0.032 | 0.016 | |
| 0.0096 | 0.0096 | |
| 0.288 | 0.288 | |
|
|
40 | 50 |
|
|
1.0 | 1.0 |
|
|
-70 | -90 |
|
|
0.5 | 1.0 |
|
|
150 | 150 |
|
|
0 | 0 |
|
|
0.0017 | 0.01 |
| 4 | 0.013 | |
| .075 | .02 |
| m | h | n | q | p | ||
| A (mV |
0.2 | 0.08 | 0.02 | 0.08 | 0.7 (ms |
|
|
|
B (mV) | -40 | -40 | -15 | -25 | |
| C (mV) | 1 | 1 | 0.8 | 1 | 17 | |
| A (mV |
0.06 | 0.4 | 0.04 | 0.005 | 0.1 (ms |
|
|
|
B (mV) | -49 | -36 | -40 | -20 | |
| C (mV) | 20 | 2 | 0.4 | 20 | 17 |
| m | h | n | q | ||
| A (mV |
0.2 | 0.08 | 0.02 | 0.08 | |
|
|
B (mV) | -30 | -30 | -21 | -15 |
| C (mV) | 1 | 0.2 | 0.2 | 1 | |
| A (mV |
0.06 | 0.4 | 0.02 | 0.005 | |
|
|
B (mV) | -38 | -26 | -18 | -10 |
| C (mV) | 20 | 0.2 | 0.2 | 20 |
| 0 |
|
| -85 |
|
|
|
variable |
|
|
|
|
|
.02 |
There are a few parameters that remain to be given values. A Lanser and Fransen do not give exact values for these unknown parameters, but instead a desired range for EPSP's (Excitatory Post Synaptic Potentials) that the parameters help determine. By experimenting with a single neuron we can find the ideal range for these unknown parameters. Hence, we can then scale the resulting Weights from the algorithm so they are mapped to the ideal range. We need an overall weighting scale constant for connections from E to E cells (AMPA),
Most of these unfixed variables relate to the strength of connections between cells and the EPSPs or IPSPs they create. The reason they won't be fixed for all different size simulations is that the values should vary according to size of the networks and assemblies. For instance, if we model on large networks that have large assemblies we would desire that a cell would require synaptic input from more cells in order to fire, than when the network is small. By picking these numbers accordingly we will be able to roughly determine how many cells of an assembly need to be firing in order to fully activate the assembly.
In this section we will step through 2 different simulations using the matlab code. In the First simulation we will stimulate several cells in an assembly and several "noise" cells. Then the assembly will activate, shut down the noise and eventually die out. In the second we will have to different assemblies "compete".
I have created a code called pattern
>> help pattern_maker
pattern_maker.m - creates a pattern matrix. Each row represents a
pattern with 1's for active cells, 0's for inactive cells.
pattern = pattern_maker(n_cells,n_patterns,n_active)
where: n_cells = number of cells
n_pattern = number of patterns
n_active = number active units per pattern
output: pattern = n_patterns x n_cells matrix with each row a
randomized pattern with n_active units
Now lets create a variable pp which will store the pattern matrix.
>> pp = pattern_maker(50,8,8);
Now that we have a pattern we can run the main piece of code that will do the simulation: LF
>> help LF_network
LF_network.m - This function runs the Lansner-Fransen type simulations as
detailed in their paper - "Modelling Hebbian cell assemblies comprised of
cortical neurons". There are an equal number of excitory and inhibitory
cells. Each excitory cell has a companion inhibitory cell which synapses
onto it. The network is trained with different patterns loaded in. Then
its calls a code which produces connection strengths. Positive strengths
form Excitory to Excitory connections. Negative strengths form
connections from Excitory to Inhibitory cells.
[v_ex,v_in] = LF_network(dt,Tcutoff,Tfin,I0,stim_cells,Patterns)
where: dt = time step
Tcutoff = time cutoff for stimulated cells
Tfin = time end simulation
I0 = stimulation size for cells
stim_cells = vector of cells recieving stimulus
Patterns = matrix where each row is a pattern the network is
trained with
returns: v_ex = Voltages for excitory cells, indexed as
ve(cell,timestep,compartment)
v_in = Voltages for inhibitory cells, indexed as
vi(cell,timestep,compartment)
ex. pp = pattern_maker(50,8,8)
[v_ex, v_in] = LF_network(.01,50,350,1,[1 6 8 10 25],pp);
As explained in the help file above one must choose the cell numbers to stimulate. In order to pick several cells in one assembly we will enter the following command to get the indices of one of the patterns:
>> find(p(1,:)==1)
ans =
19 23 28 29 32 35 36 42
Thus we will choose to stimulate cells 19, 23, 28, 29 and add the noise stimuli of cells 45, 46, and 47. The simulation will last for 350 ms and the stimulation will last for 50 ms. A 1.5 nA stimulus is injected into each respective cell soma. After the output is saved we load the results in a code which displays the results: viewer.m.
>> [v_ex,v_in] = LF_network(.01,50,350,1.5,[19 23 28 29 45 46 47],pp);
>> help viewer
viewer.m takes in output from LF_network and plots voltage traces of all
the cells. If you wish to only look at one cell enter that as a
optional 3rd input.
viewer(v_ex,v_in,cell_trace)
>> viewer(v_ex,v_in)
|
We can get a better look by looking up close at the trace of cell 36, one of the cells in the assembly that did not receive a stimuli. Just type viewer(v
|
|
In this simulation we will stimulate cells in two different patterns and see if one will "win" by activating its full pattern and suppressing the competing pattern. We will use the pattern from above and also another pattern.
>> find(p(6,:)==1)
ans =
11 12 19 22 27 29 33 39
This pattern 6 should be interesting since it has two overlapping cells with pattern 1 (that is
>> [v_ex,v_in] = LF_network(.01,50,350,1.5,[11 12 19 28 32 35 22 36],pp);
|
We can now try stimulated 4 cells from pattern
>> [v_ex,v_in] = LF_network(.01,50,350,1.5,[11 12 19 22 27 28 32 35 ],pp);
|
This module has shown how results from the paper being followed can be reproduced. Hopefully, this will be helpful should future VIGRE students wish to pick up on these ideas. Extracting all the information out of the papers is difficult, so this module should serve as an easier way to follow the research we have done in the CAAM 499 Hippocampus Neuroscience Research Class in the Fall 07 and Spring 08 Semesters.
This work was partially supported by NSF DMS Grant 0240058. I would like to thank Dr. Steve Cox for leading our Hippocampus Computational Neuroscience research team. Also, thanks to the entire PFUG whose members included Chris Conner, Jay Raol, Tony Kellems, Charlie Peck, Jim Wang, Darren DeFreeuw, Eva Dyer, Paul Smolen, Michell Bettelheim, and Katherine Ward.
1. Hebb, Donald. (1949) The Organization of Behavior. (New York: John Wiley).
2. Lansner, A. and Ekeberg, Ö.. 1989. A one-layer feedback, artificial neural network with a Bayesian learning rule. Int. J. Neural Systems 1. p. 77-87.
3. Ekeberg, Ö., Wallen, P., Lansner, A., Traven, H., Brodin, L., and Grillner, S.. 1991. A computer based model for realistic simulations of neural networks. I: The single neuron and synaptic interaction. Biol. Cybern. p. 65 81-90.
4. Lansner, A. and Fransén, E.. 1992. Modelling Hebbian cell assemblies comprised of cortical neurons. Network 3. p.105-119.