Hi thogether,
I’m relatively new to HTM and currently studying the SPs learning phase, especially the boost factor update.
I watched Matts excellent HTM School, so I think I have a solid knowledge of the process as a whole. (My condolences for this great loss. I’d like to have gotten to know him.)
I found this paper linked in a post describing the math behind the algorithms (Mnatzaganian2016) and this Numenta paper (Cui2017).
Mnatzaganian et al. are describing the boost update like this:
using the boost function \beta
With:
b_0 is the user-defined Maximum boost,
\overrightarrow{\eta_i^{(a)}} is the active duty cycle for the i^{th} SP column,
\overrightarrow{\eta_i^{(min)}} \equiv \kappa_a ~\textrm{max}\left ( H_i \odot \overrightarrow{\eta^{(a)}} \right ) is the minimum active duty cycle for the i^{th} SP column, which equals the maximum active duty cycle of the neighborhood scaled by the user-defined minimum activity level scaling factor \kappa_a.
They mention that the calculation is done using a moving average of the active duty cycles, but don’t really describe it.
Cui et al. use a different way to update the boost factors:
With:
\overline{a}_i(t) = \frac{(T-1) \cdot \overline{a}_i(t-1)+a_i(t)}{T} is the average activity of the i^{th} column at time t,
<\overline{a}_i(t)> = \frac{1}{\left | N_i \right |} \sum_{j\in N_i}{\overline{a}_j(t)} is the average of the average activity in the i^{th} column’s neighborhood N_i at time t
Note: a_i(t) is the active state of i^{th} column at time t and T the user-defined duty cycle period.
I have two questions:
-
When i understand it right, \overrightarrow{\eta_i^{(a)}} in Mnatzaganian et al. must be the moving average of the active duty cycle of the i^{th} column so that \overrightarrow{\eta_i^{(a)}} \in \mathbb{R} ∣ 0 < \overrightarrow{\eta_i^{(a)}} < 1. Or am I getting this wrong?
(As they don’t have a time component it might was hard to express this as a equation.) -
Cui et al. state “The exact formula is not critical”. This sounds to me, like their nice e-function does not represent the real update? So to really define the boost factor update, it is better to use the equations of Mnatzaganian et al.
Many thanks in advance,
Qubitza