Some confusion about segments vs. synapses

I want to implement a HTM using the paper “Continuous online sequence learning with an
unsupervised neural network model” but I’m a little confused about some terminology.

Did I understand correctly that:

  • there can be multiple distal segments (and are in fact used in the simple test scenarios)
  • each segment has multiple synapses
  • to put the cell into the predictive state it is enough that a SINGLE segment to exceeding threshold
    Is that correct ?

In " 3.3. HTM activation and learning rules" the paper is sometimes talking about a permanence matrix for synapses (which makes sense to me) and a permanence matrix for segments (which I don’t really understand).
Is this a mistake ?

If a cell (column) is correctly predicted it is clear what to do, but in case a cell (column) is wrongly or not at all predicted leaves some questions:

  • when to create new segments (if at all) vs. adjust only permanences of synapses on existing segments (and which ones in case there are multiple)
  • what exactly does “not matching segments” vs, “matching segments” mean if they could not exceed the threshold to put the cell into a predictive state ?

Hope somebody can help me out a little.

Cheers and thanks in advance :slight_smile:

1 Like

Oh, i’m sorry. I just found this pseudocode ( which makes it much more clear.
Thank you anyway :wink: