# Is it important to have segments within cells? How many temporal connections are needed for a cell to become predictive?

**URL:** <https://discourse.numenta.org/t/is-it-important-to-have-segments-within-cells-how-many-temporal-connections-are-needed-for-a-cell-to-become-predictive/8515>\
**Category:** Implementations\
**Created:** [April 29, 2021, 11:38am UTC](https://discourse.numenta.org/t/is-it-important-to-have-segments-within-cells-how-many-temporal-connections-are-needed-for-a-cell-to-become-predictive/8515 "2021-04-29T11:38:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![nick](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/nick/32/3872_2.png) [@nick](https://discourse.numenta.org/u/nick)\
**Post date:** [April 29, 2021, 11:38am UTC](https://discourse.numenta.org/t/is-it-important-to-have-segments-within-cells-how-many-temporal-connections-are-needed-for-a-cell-to-become-predictive/8515/1 "2021-04-29T11:38:14Z")

</div>

In my current implementation of HTM there are no segments within cells. That’s because I don’t know how segments contribute to the model.

Each cell has temporal connections to other cells. The **Temporal Pooler** checks for active columns and active cells within active columns. For each active cell it checks which temporal connections are connected (permanence \> threshold) and if they are, it sets the cell it is connected to to a predictive state.

I don’t think this is the right way. Just a single temporal connection from a currently active cell to another cell shouldn’t be enough to make that cell go in a predictive state. **How many temporal connection to a cell from currently active cells should be connected in order for it to become predictive?**

---

<div class="post-metadata">

**Author:** ![Paul\_Lamb](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/paul_lamb/32/2725_2.png) [@Paul\_Lamb](https://discourse.numenta.org/u/Paul_Lamb)\
**Post date:** [April 29, 2021, 12:22pm UTC](https://discourse.numenta.org/t/is-it-important-to-have-segments-within-cells-how-many-temporal-connections-are-needed-for-a-cell-to-become-predictive/8515/2 "2021-04-29T12:22:34Z")

</div>

> [@nick](#):
>
> In my current implementation of HTM there are no segments within cells

Other successful implementations of HTM have also used this optimization (such as [etaler](https://discourse.numenta.org/t/releasing-etaler-a-very-fast-and-flexable-htm-framework-with-full-gpu-support/6077) for example) @scott commented on this optimization idea on [another thread](https://discourse.numenta.org/t/htm-process-optimizations/2708/8). He mentioned that this is a reasonable optimization and that the algorithm would still work. The cost would be increased likelihood of false positives once you get up to around 10-15 predicted patterns, and he mentioned that this could be mitigated with the right learning rates.

> [@nick](#):
>
> I don’t know how segments contribute to the model

An important aspect is that segments support the reuse of a cell in multiple contexts, without those contexts conflicting and overwriting each other. This ability increases capacity and addresses “catastrophic forgetting”.

> [@nick](#):
>
> How many temporal connection to a cell from currently active cells should be connected in order for it to become predictive?

This is somewhat subjective to the use-case, but you are correct that in most cases one is not going to be a very good value to use. The setting in vanilla TM is called the activation threshold, and it is primarily associated with balancing capacity and noise tolerance. I did a quick analysis of this property in another thread [here.](https://discourse.numenta.org/t/how-are-the-cells-per-columns-and-length-of-sequence-related/6413/14)
