# Regarding number of cells in minicolumns

I found a discussion in BAMI and HTM school about the effect of having 1 cell vs multiple cells in the minicolumn. The inference was that 1 cell can represent an input in only one context.
My thought is that since a cell can have multiple dendrite segments, its possible that just a single cell with multiple dendrites segments can learn the same input in different contexts (one segment learning one context and the next context of the input can be assigned to another segment with least connections). Isnt this possible? If possible, then it means even a single cell is sufficient to represent the input in different context (provided it has multiple dendrites).

3 Likes

@baymaxx, the difference is actually something I want to show in the followup of this blog post.. The code for the simple console application using htm.core is at the end of the post, in case you want to play around with the settings yourself.

The new post is not published yet, but here is a link to a video that will part of it. It shows htm.core TM in action with the following settings:
columnDimensions = 8,
cellsPerColumn = 1,
minThreshold = 1,
activationThreshold = 1,
initialPermanence = 0.4,
connectedPermanence = 0.5,
permanenceIncrement = 0.1,
permanenceDecrement = 0.1,
predictedSegmentDecrement = 0.0,
maxSegmentsPerCell = 2,
maxSynapsesPerSegment = 2

As you can see, having two segments per cell isnâ€™t sufficient enough, as the synapse permanence grows for both segments, one per different context. The cell with the green background is the winner cell and the predicted cell(s) do have a grey background.

Now, if you change the settings to two cellsPerColumnâ€¦
columnDimensions = 8,
cellsPerColumn = 2,
minThreshold = 1,
activationThreshold = 1,
initialPermanence = 0.4,
connectedPermanence = 0.5,
permanenceIncrement = 0.1,
permanenceDecrement = 0.1,
predictedSegmentDecrement = 0.0,
maxSegmentsPerCell = 1,
maxSynapsesPerSegment = 1

â€¦ you get the expected output

4 Likes

While your description about a column(which is essentially just a single cell in this case) recognising different â€ścontextsâ€ť is correct, it has no way of representing the context which makes it impossible to convey the context to the next time step.

3 Likes

A single cell can learn to become active in different contexts using different segments, yes. But in order for those different segments to represent different contexts they need to be able to connect to different groups of cells. Having just 1 cell per column really limits the number of total cells available to connect too.

1 Like

@sheiser1 thanks for your reply. I hope I am correct in saying that one cell can represent more than one pattern and the difficulty in using 1 cell is the limit to express the number of patterns.
I had another question on seeing this answer: consider a cell with multiple dendrites (where one dendrite can learn 100s of patterns) and the cellâ€™s axons are connected with another set of cells. Suppose one of the patterns occur and the cell becomes active. In that case, all the branches in the axon (including the connections which were made due to the other patterns) will be sending the action potentialâ€¦right? In that case, even if one of the patterns occur, all cells associated with other patterns are even triggered.

So, does that mean only similar kind of patterns (where its fine if all connections with others patterns are triggered) will be (or should be?) recognized by a cell?

Yes this is what I meant, having just 1 cell per column severely limits the systemâ€™s representational capacity.

When a pattern occurs which activates one of a cellâ€™s distal dendrite segments, that segment is considered active but the cell itself is not activated but only depolarized (put into the predictive state). The cellsâ€™s distal dendrite segments (managed by the TM) can only depolarize them. Itâ€™s the proximal dendrite segments (shared by all cells in each mini column & managed by the SP) that can activate them.

No I donâ€™t think so. When a cell which was predictive becomes active, only the segment that depolarized it is modified (the active synapses are incremented). Likewise when a cell which was predictive does not become active only the predictive segment is modified (the active synapses are decremented).

Yes. But I am confused about the axons part. I understand that when a pattern occurs and the proximal dendrites activate the cell, the dendritesâ€™ synapses reinforce. But the axon of the cell is connected to different group of cells (because of different patterns the cell is recognizingâ€¦like a set of cells for pattern X and another set of cells for pattern Y). Suppose the cell fires for a pattern (say X), wont the other cells which are connected to the axon of the cell for pattern (say Y) be receiving the action potential?

In other words, my query is that whether the action potential in the axon of a cell be sent (to the next timestep) to only a subset of branches in the axon? I hope I was clear.

So the when a cell activates, that action potential doesnâ€™t get sent to the preSynaptic cells on its dendrite segments â€“ only to its postSynaptic cells. The preSynaptic cells are those which a cell is monitoring (using its distal segments). The cell doesnâ€™t keep track of its postSynaptic cells (those which are monitoring it). The action potential only goes to those postSynaptic cells, which can active their distal segments.

The action potential goes to all postSynaptic cells it may have, to activate some other cellsâ€™ distal segments.

@sheiser1 thanks. just writing a summary of my understanding to confirm:

1. A predicted state of a cell cannot activate the cell. Instead, if the cell gets activated at the timestep when the cell has some predictions, the corresponding segment which predicted it will learn. And so, there is no link between a cell being predictive and a cell getting activated.
2. A single cell with multiple dendrites is sufficient to recognize different contexts. But just that the number of contexts it can represent is limited (255 by default).

A query to end â€¦I saw some info that predicted cells fire faster than other cells in the brain? Can you elaborate on the reason and whether its considered in HTM?

1 Like

But donâ€™t forget that when a minicolumn is activated (via the SP algorithm), if any of the cells in that minicolumn are in a predictive state, then only those cells will become active (and all others in that minicolumn will not become active). So there is technically a link here between a cellâ€™s predictive state and whether or not it may become activated. But true, this is not a direct link, and it is entirely dependent on what input is received in the subsequent time step.

This is related to what I mentioned above (if any of the cells in a minicolumn that is activated are in a predictive state, then only those cells will become active). Because the predicted cells fire a little faster than the other cells in the minicolumn, they are able to activate surrounding inhibitory cells to block the others from activating. HTM does not explicitly model the inhibitory cells, but it does model this behavior (and it is necessary for the TM algorithm to function).

4 Likes