On Thu, Nov 14, 2013 at 11:09 PM, Chetan Surpur <[email protected]> wrote:
> I believe that if you provide the time as a field, it will be split up
> into components (day of week, is weekend, etc.) and encoded as any ordinary
> integer. So NuPIC won't treat this any differently than any other integer
> field. The learning occurs online with every record, whether 10 minutes
> have passed in the time field, or whether 1 hour has passed. Hope that
> makes sense.
>
Hmm, little bit, but not much. There seems to be space for improvements. I
like that time is not treated any different from other imputs. The scale
might be a problem (you mention days, weeks, I'd like to use seconds..but
it's just implementation.)
One the 10minutes and 1hour example, that is wrong... eg when I touch a hot
plate, pain arrives (split second) afterwards, so it's associated together.
While meeting a girlfriend 1 hr later does not relate to that. This is how
it works for humans, that's why they say you shouldn't beat dogs and
children :) a long time after they did something wrong...they won't link
it.
So there must be a minimal change to the pattern going into the SP for the
"reconstruction" to kick in.
For example:
{object | time} = input
{A____|***___} and {____A|_***__} "A flipped in one timestep" wouldn't
learn well, because the change is too big.
but moving slowly {A____|***___}, {_A___|_***__} and {__A__|__***_} would
learn well. Eg a rotating object on camera streamed every frame to CLA.
The changes to pattens are slow, so TP and SP can learn it. You can see
time always move to the right. We can tell ***___ and _***__ are similar
times, while ***___ and ___*** are far away, so should be the object's
representations at the givent times.
That got me little sidetracked, interesting note is, time encoding works,
because similar times have similar numbers (hrs, minutes, vary in seconds,
say), and similar numbers have similar representations in nupic, thus
similar patterns.
Sorry for OT.
>
>
> On Thu, Nov 14, 2013 at 2:06 PM, Marek Otahal <[email protected]>wrote:
>
>>
>> On Thu, Nov 14, 2013 at 10:57 PM, Chetan Surpur <[email protected]>wrote:
>>
>>> You would show many variants of the same object in a short period of
>>> time to the HTM. It will associate them together using temporal pooling,
>>> and that's what gives you an invariant representation. Basically, time acts
>>> as a supervisor to correlate the variations.
>>>
>> +1 on the time being correlation supervisor, as that's how our minds
>> perceive it.
>>
>> Btw, how do "timed streams" work in Nupic?
>>
>> Is it you provide a field {data | time} , and the OPF model takes care of
>> "when difference T - (T-1) is too big, supress connections"?
>>
>> Or in a sequential manner, eg sending a sample every 1 sec, degrading
>> connections a bit every step. So say in 10 steps a connection is unlinked
>> unless boosted by a "correlating" example on input?
>>
>>
>> --
Marek Otahal :o)
_______________________________________________
nupic mailing list
[email protected]
http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org