Thanks Seyyed. I've taken a look at it but couldn't figure out completely what are you doing with repetitions. Are you modifying the encoding for each item in the repetition?
2015-05-07 4:55 GMT+02:00 Seyyed Mohammad mohammadzadeh < [email protected]>: > This is not a direct answer but maybe usefull. I had similar problem but > in NLP context memorizing phrases. I've developed an special Sequence > Memorizer based on CLA which has not this problem. Any > repetitive/non-repetitive sequences can be memorized. Just note that in my > implementation there is no spatial pooler but just temporal pooler. > > View source at: https://github.com/softnhard/Adaptive-Sequence-Memorizer > El Mié 06/05/2015, 20:26, cogmission (David Ray) < > [email protected]> escribió: > >> Nevertheless, in this case, it looks like the implementation should >>> "protect" that. I.e. don't perform compute() in temporalMemory if >>> activeColumns in "t" are equal to "t-1". >> >> >> Repetitions are significant in the sequence. Remember, we're not >> "calculating", we're simply activating columns and cells in a pattern; >> reinforcing affinities of connections - not doing operations which yield a >> "final result". We're modeling neural circuitry not building an equivalent >> formula calculator? It takes some getting used to :-) >> >> Actually, the implementation is *totally* event-driven. If there are no >> inputs, nothing happens! :-) >> >> David >> >> >> On Wed, May 6, 2015 at 10:48 AM, Valentin Puente <[email protected]> >> wrote: >> >>> >>> >>> 2015-05-06 17:27 GMT+02:00 cogmission (David Ray) < >>> [email protected]>: >>> >>>> Valentin, >>>> >>>> >>>>> Perhaps, I have some crazy idea about what is going on. I think that >>>>> the notion of "t" and "t-1", implicitly asumes a synchronous circuit. >>>>> Nevertheless, biology don't have any clock around... definitely is >>>>> asynchronous. Under such assumption the previous sequence is not possible, >>>>> since all the repeated values are the same. Therefore, I think that the >>>>> "t" >>>>> and "t-1" should be redefined as the time where the "input changed". If we >>>>> feed the memory with the same input sequence in t and t-1 something is >>>>> going to be bad at the end. >>>> >>>> >>>> HTM Theory does not have any real "time" so to speak. We're talking >>>> about sequences, and yes in the biology (I just recently overheard this), >>>> there are "serial" cell/column events. Now, "t-1" refers to the state the >>>> cell/column was left in during the previous activation - cells "depolarize" >>>> making them quicker to fire (and subsequently beat out the race against >>>> inhibitory cell activations); the resulting "depolarization" is what is >>>> modeled as the state in t-1 (AFAIK). >>>> >>>>> >>>> >>> Thanks David. I understand now (being used to circuits, this is a bit >>> hard for me :-) >>> >>> Nevertheless, in this case, it looks like the implementation should >>> "protect" that. I.e. don't perform compute() in temporalMemory if >>> activeColumns in "t" are equal to "t-1". >>> >>> -- >>> vpuente >>> >>> PS: Perhaps the implementation is too "time-driven". I think that a >>> "event-driven" approach could be more close to the reality (besides have >>> better performance... especially given the sparsity of the problem). >>> >> >> >> >> -- >> *With kind regards,* >> >> David Ray >> Java Solutions Architect >> >> *cortical.io <http://cortical.io/>* >> Sponsor of: HTM.java <https://github.com/numenta/htm.java> >> >> [email protected] >> http://cortical.io >> > -- -- vpuente
