Jeff, have you seen this? Marcus Petersson: Dendritic and axonal ion channels supporting neuronal integration. http://www.csc.kth.se/~mepeter/PhD_Thesis.pdf
It looks like there are several detailed computational models of mGluR mediation and the effects of the TRPC channel on temporal summation. A couple of quotes: "In both Paper I and Paper II we wanted to simulate realistic synaptic activation of mGluR1/5. An important problem we became aware of was the lack of data available for describing the dynamics of mGluR mechanisms, which was rather surprising, considering how important mGluR1/5 is for neuronal function, and considering how well the excitatory ionotropic receptors currents mediated by AMPA and NMDA can be modeled" "I speculate that the presence of branch-specific subthreshold long-lasting depolarizations might play a role in novelty detection, since the integration of synaptic input on a certain dendritic branch depends on whether identical input has arrived in a recent past." On Wed, Jan 22, 2014 at 12:22 PM, Chris Jernigan < [email protected]> wrote: > Hi Jeff, > > This idea of combining the SP and TP is interesting. Sometimes I think > about the visual process of recognizing objects in our environment. Your > example of walking through the rooms of your house in a different order > reminded me of some thoughts I’ve had. > > When you are looking around your office or your room and you see a > familiar object, there is a part of your brain that immediately sees the > whole object without studying it. Your brain knows that object. But say you > are unsure about this object, say a shirt, and want to make sure it’s > yours. Your eyes don't just look at the whole shirt in general. You study > specific features of it through a series of saccades. With each saccade > your brain verifies the familiarity of different features; the fabric, the > color, the label, the size, etc. This forms a temporal pattern, albeit a > very small one, but your cortex still recognizes it *regardless* of the > order in which you see each specific feature. > > My question is, is this similar to your idea of combining the temporal and > spatial poolers? > > -Chris > > On Jan 22, 2014, at 1:59 PM, Jeff Hawkins <[email protected]> wrote: > > Temporal Pooling, or TP, was described in the HTM/CLA whitepaper. > However, the mechanism I proposed for TP always had problems (both > biological and theoretical). It was close but we could never get it to > work cleanly. I now have a new proposal for how temporal pooling works. > It is more elegant and more powerful. I have not worked through all the > details yet, but several people asked to hear my current thinking on this > so that is what this email is about. Matt has also put this note on the > NuPIC wiki > here<https://github.com/numenta/nupic/wiki/New-Ideas-About-Temporal-Pooling> > . > > When working on the new temporal pooling mechanism I had further insights > that led me to a better understanding of why the cortex has multiple layers > of cells and how they interact. This is a major extension of HTM theory > and I will also briefly describe that. The new ideas on temporal pooling > and cortical layers in this email are untested; please consider them as > speculative and unproven. > > First a little background. The CLA consists of three components. > > *1) Spatial Pooler* > This SP converts a sparse distributed input into a new SDR with a fixed > number of bits and a relatively fixed sparseness. Each bit output by the > SP corresponds to a column of cells. > *2) Sequence memory* > The CLA sequence memory learns sequences of SDRs. It uses the columns to > represent inputs uniquely in different contexts. > *3) Temporal Pooler* > The TP forms a stable representation over sequences. > > (Unfortunately we got into the habit of using the term “temporal pooler” > for both the sequence memory and temporal pooling proper. In this document > temporal pooling will only refer to forming stable representations over a > sequence of patterns.) > > The basic idea of temporal pooling is patterns that occur adjacent in time > probably have a common underlying cause and therefore the brain forms a > stable representation for a series of input patterns. An example is a > spoken word. If we hear a word several times we learn the sequence of > sounds and then form a stable representation for the word. The input to > the ears is changing but elsewhere there are cells that are stable > throughout the word. Another example is when looking at an image of a > familiar face. Several times a second your eyes fixate on a different part > of the image causing a complete change of input. Despite this changing > input stream your perception is stable. Several levels up in the cortical > hierarchy there are cells that are selective for the particular person you > are seeing and these cells stay active even though the input from the eyes > are changing. (The most well-known of these experiments involve cells that > are selective for images of celebrities, such as Jennifer Aniston. They > were found while fully conscious humans had their brains exposed prior to > surgery.) Of course, a single cell cannot learn to recognize an entire > face. This requires a hierarchy where each level in the hierarchy is > temporal pooling. > > > In both these cases cells remain active for multiple distinct feedforward > input patterns. Cells learn to recognize and respond to different > feedforward patterns when those patterns occur one after another in time. > Temporal pooling is a deduced property, we can be confident it is happening > throughout the cortex. > > > *New Idea Number 1* > *Temporal pooling occurs between layers of cells, not just between > regions.* > In On Intelligence I wrote that temporal pooling occurs between regions in > the cortical hierarchy. As you ascend the hierarchy from region 1 to > region 2, region 2 forms a stable representation of the changing patterns > in region 1. Conversely, when a stable pattern in region 2 projects back > to region 1 it invokes sequences of patterns in region 1. > > <image007.png> <image008.png> > > In this diagram the dots represent SDRs and the row of dots represents a > sequence of SDRs over time. > > I now believe that temporal pooling is also occurring between layers of > cells within a region. The canonical feedforward flow of information in a > cortical region is from layer 4 to layer 3 then to layer 4 of the next > higher region. Layer 4 also projects to layer 5 and then to layer 6. I > believe layers 5 and 6 are using the same basic mechanism and I am making > some progress in understanding them. For now I will restrict my comments > to layers 4 and 3Here is what I think is happening in layers 4 and 3. > > <image009.png> > > Why have two layers of sequence memory, 4 and 3, in a region? What is the > difference between layer 4 and layer 3? > > A region of cortex is trying to build a predictive model of the changing > input it receives. Sensory input changes because of two fundamental > reasons. One is because your body and sensors move, the other is because > objects in the world change on their own. For example if you are walking > alone in a house then all the changes that occur on your sensors are > because you are moving your eyes, head, and body. If you stood still and > didn’t move your eyes there would be no changes in your sensory input. > Another example is as you are look at a picture the changes occurring on > your retinas are solely because your eyes are moving several times a > second. The second reason sensory data can change is because objects in > the world are changing on their own. For example if there were a dog > walking in the house with you or if it barked it would cause changes on > your sensors that were not caused by your own movement. > > As a general rule, sub-cortical neurons that generate behavior have split > axons. One branch generates the behavior and the other is sent to the > cortex. If the cortex didn’t get copies of motor commands you couldn’t > function. Every time you moved your eyes or turned your head it would > appear as if the world was spinning and shifting. > > I believe layer 4 models the changes in the input due to the body’s > behavior. Layer 3 models the changes in the input that cannot be predicted > by layer 4. I am able to show that if you take the standard CLA sequence > memory and feed it both sensory data and motor commands (such as a sparse > coding of a saccade’s direction and distance) it can learn to predict > changes due to behavior. For example it can learn to predict what the eyes > will see after a saccade (something known to occur in V1 and elsewhere). > If layer 4 can successfully predict changes due to the body’s own behavior > then the representations in the layer 4 sequence memory will be very sparse > (one cell per column). If we TP over these changing patterns then the > representation in layer 3 will be stable. If you were looking at a still > image layer 4 would change with each saccade and layer 3 would be > relatively stable. The representation in layer 3 would be independent of > where you are fixating on the image. (Again, to form a fully stable > representation of an image requires a hierarchy of regions.) > > Any change that a layer cannot predict will be passed on as a change in > the next layer. Any change that a layer can predict will be pooled and not > result in a change in the next layer. Put another way, any change that > cannot be predicted will continue up the hierarchy, first layer 4 to layer > 3 then region to region. If you were looking at a walking dog, layer 4 > would provide an input to layer 3 that after temporal pooling would be > partially stable (the image of the dog) and partly not stable because the > dog is moving. Layer 3 would try to learn the pure high order sequence of > walking. All these examples require a hierarchy, but applied to simple > problems you might not need a hierarchy. > > Note that in layer 4 the order of patterns does not have to be > repeatable. It does not have to be a high order sequence. The order and > direction of saccades does not have to follow a set pattern. Similarly if > I was walking through a house the order in which I do it, turning left or > right, can vary. Layer 4 can handle this because it has a copy of the > motor command generating the change. Layer 3 on the other hand does not > get a copy of a motor command. The only way it can model the data is to > look for high order sequences. > > The concept of modeling changes due to our own behavior can be applied to > touch, audition, and vision. It is a powerful idea that explains how we > form representations of the world that are not independent of our sensor or > body positions and why the world seems stable even though the patterns on > our sensors are rapidly changing. It explains how you perceive objects > independent of where the object is and how you are currently sensing it. > For example, imagine you reach into your purse to grab a pair of eye > glasses. The actual sensations on your skin are a short sequence of edges, > corners, and surfaces. But you perceive the entire glasses. This is > directly analogous to moving your eyes over an image. > > I am not going to go through exactly how I believe layer 4 works here. I > will do that another time. But it looks like that by changing the > contextual information available to the standard CLA sequence memory you > will get the desired result. Today NuPIC is equivalent to layer 3. > > This concept of layer 4 and layer 3 modeling different aspects of an input > stream requires temporal pooling between layers, not just between regions. > Layer 3 has to form a stable representation (temporal pooling) of predicted > changes in layer 4. > > *New Idea Number 2* > *Temporal Pooling can be combined with Spatial Pooling.* > You might have noticed in the diagram above I labeled the first operation > of a layer of cells “Spatial/Temporal Pooling”. It took me a long time to > realize that a small change to the spatial pooler will allow it to do > temporal pooling as well. And we need to do both spatial and temporal > pooling as information moves from layer to layer and region to region. The > required small change is to have the cells in a column to stay active > longer so they learn to recognize multiple input patterns over time. > > The standard SP does these steps. > - Receive as input a sequence of SDRs. > - Use a competitive process to learn a set of common spatial patterns in > the input sequence. > - Assign a column of cells to be active for each spatial pattern in the > set. > - Ensure each cell in a column learns the same feedforward response > properties. > > The trick to adding TP to the SP is the following. When the input to the > SP was correctly predicted in the previous layer we want the cells in the > column to remain active long enough to learn to respond to the next input > pattern. If the input to the SP was not predicted in the previous layer > then we don’t want cells in the column to remain active longer than the > current input (the existing SP behavior). Temporal pooling is achieved by > extending the activity of the cells in the column. But only when the input > to the column was predicted in the previous layer. > > It is easy to do this in software, but how might this happen with real > neurons? (If you don’t care about the biology you might want to skip the > next section.) > > *New Idea Number 3* > *Temporal pooling uses metabotropic synapses to distinguish predicted vs. > non-predicted inputs.* > One of the key requirements of temporal pooling is that we only want to do > it when a sequence is being correctly predicted. For example, we don’t > want to form a stable representation of a sequence of random transitions. > > The old TP mechanism, the one in the white paper, proposed that a cell > would learn to fire longer and longer in advance by predicting further back > in time. In this way a cell would stay active as long as the sequence was > predictable. There were several problems with this method that I couldn’t > resolve. > > The new proposal, described above, says that when a column of cells > becomes active due to feedforward input the cells in the column will remain > active for longer than normal if the feedforward input was from cells that > predicted their activity. If the input cells were not predicted then the > cells in the column should stay active only briefly. > > There is a biological mechanism for this that fits well, but I have not > been able to verify all the details. Here is the biological mechanism. > Active synapses open and close ion channels, this happens rapidly on the > order of a few milliseconds. The effect of an active synapse on the > destination cell is short lived. However many synapses are paired with > another type of receptor called a metabotropic receptor. If the > metabotropic receptor is activated it will have a long duration effect on > the destination cell, from 100s of milliseconds to several seconds. > Metabotropic receptors can provide the means for keeping a cell active for > a second or more, exactly what we need for temporal pooling. > > Metabotropic receptors are not always activated. They require a short > burst of action potentials to be invoked. As little as two action > potentials 10msec apart are sufficient. Without that short burst the a > metabotropic receptor will remain inactive. There is a lot of literature > on metabotropic receptors and these properties. They are common in > cortical neurons and the locations where they are not present also makes > sense from a theory point of view. > > Does a cell that is in a predictive state (depolarized) generate a small > burst of action potentials when it first fires? That is what is required > for the new TP mechanism to work. There is some evidence for this. Layer > 5 cells are well known for starting with a short burst of action potentials > under certain conditions. They are sometimes labeled “intrinsically > bursting neurons” to reflect this. Some scientists have reported short > bursts in layer 4 and layer 3 cells but not consistently so, unlike layer > 5. We wouldn’t expect to see bursts in layer 4 cells in an anesthetized > animal which is not generating behavior. The majority of experiments where > individual cells are recorded are done with animals that are anesthetized > and unable to move. Evidence for short bursts of action potentials under > the correct conditions is the biggest missing piece of the new proposed TP > mechanism. > > The new TP mechanism, the combination of SP and TP, and the ideas for > layers 4 and 3 are compelling. They explain a lot of things. So I am > going to try hard to find the biological mechanisms that support these > ideas. A lot of neuroscience details match up well but there are more I > need to verify. > > This year I want to empirically test the layer 4 ideas combined with > temporal pooling. It should be possible to build a powerful hierarchical > vision system. If we restrict it to spatial images and use saccades for > training we could build the entire thing with a hierarchy of layer 4-only > regions. Training such a system might be slow but inference should be > fast. Perhaps the NuPIC community could do this in collaboration with some > Grok engineers. > > Jeff H > > > _______________________________________________ > nupic mailing list > [email protected] > http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org > > > > _______________________________________________ > nupic mailing list > [email protected] > http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org > >
_______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
