Hi
I have a thought on fox eats rodent.
In that experiment nupic was taught sequences. Every word had its sdr and nupic 
learnt a sequence.
for example elephant [100100] eats [001001]  grass [010010]
So 3 words formed a sequence and nupic learnt all of these n sequences. Later 
when it was given fox [101000] as an input, which was assigned a value somewhat 
semantically similar to something say cat [100100], which was followed by 
rodent [000110] i:e cat eats rodent, Nupic predicted that fox eats rodents. 
Nupic did not know what a fox is, or what animals are. But then I thought even 
humans dont really know what a fox is. Just coz we know 10 more things about a 
fox, we might say we are actually intelligent. But again intelligence doesnt 
lie in knowing more things about something, which if was true, google would be 
more intelligent than a 5 year old kid or myself.
So then I was thinking about wernicke and broca. If CLA could be used in 
layers, with higher order representations being more stable, it may be cool. 
One thought :
suppose we have 3 layers of CLA. The lowest [1] middle [2] and topmost [3].
If there is a sentence "How are you"  . CLA [1] would get a sequence H-O-W  
A-R-E  Y-O-U .
In the first word "HOW" , "W" has a representation in the CLA which is 
influenced by "H"  and "O" preceding it.  If the word was "COW" , "W" would 
have a different representation. different cells but same column would be 
active. So current representation of "W" can be taken as representing the word 
"HOW". This representation 'state of on cells' can be passed on to CLA [2].
Next word "ARE" would again have "E" which can be considered as representing 
the whole word "ARE" and passed again to CLA [2].
Next word "YOU" would again have "U" which can be considered as representing 
the whole word "YOU" and passed again to CLA [2].

Now CLA [2] would have a sequence of "W-E-U" . Here "U" will have a 
representation that is influenced by preceding "W-E" . So again "U" can be 
considered as representing "W-E-U". This representation of "U" can be 
transferred to CLA [3] which now would represent the whole sentence "HOW ARE 
YOU". So CLA[2] is actually representing sequence of words "HOW" - "ARE"- "YOU" 
. CLA[1] was representing sequence of letter "H-O-W" , "A-R-E" & "Y-O-U" and 
CLA [3] is representing the whole sentence "HOW ARE YOU".. 

But then I can cut all this crap and just use the last letter of every sentence 
as a semantic indicator which would be foolish, coz just a word "YOU" can also 
give "U" that has same representation, considering that 'YOU' is totally a new 
sequence and CLA has forgotten previous two words.
Also if the same pattern of cells is being transferred from one CLA to another, 
its soo redundant.

So a new thought:
I would love considering one CLA as a Mount Castle's cortical column. In CLA[1] 
there will be three patterns symbolizing three letters "H" "O" "W" of first 
word "HOW". Every cell in CLA[1]would have connections with 'n' random cells in 
CLA[2] which is higher to CLA[1]. Neurons have lot of connections anyways. 
Every ON cell in CLA[1] would excite all of its connected cells in CLA[2] 
putting them in a prediction state. So a pattern "H" "O" "W"  will create many 
predictive cells in CLA[2]. with local inhibition we choose 'g' number of cells 
to represent the word "HOW" as whole. Connections between these 'g' cells and 
those ON in CLA[1] is strengthened so next time they predict better. Same goes 
with other two sequences- "A" -"R"-"E" & "Y"-"O"-"U".
I think I am writting a lot, so I will make it short. 

Now CLA[2] would have 3 patterns each for a word "HOW" "ARE" "YOU".  Each of 
these 3 patterns would have 'n' ON cells. Again every cell in every CLA would 
have connections to 'k' random cells in the higher CLA. ON cells in CLA[2] 
would excite cells in CLA[3] and local inhibition can choose highest firing 'n' 
cells to represent the sequence at higher level.

So now we would have the whole sentence "HOW ARE YOU" represented in CLA[3]. 
Even when letters input on CLA[1] change quickly [ H O W A R E Y O U] CLA[3] 
will be stable. There can also be connections from cells in CLA[1] to CLA[3] 
for direct prediction. I have read such things somewhere in neuroscience.

Now comes ASSOCIATIVE MEMORY ::  cortex layer 1 has long horizontal 
connections.!!
Three similar CLA blocks lined parallel to the ones described above. These are 
for answering a question asked.Initially while learning, we answer the question 
ourself. Suppose the answer to "HOW are you" is as you predicted " I am 
fine".let These parallel CLA's be named answer_CLA.
Here we have 3 layers too. so answer_CLA[1],answer_CLA[2] & answer_CLA[3]. 
answer_CLA[[3] being the Topmost. While learning, when we provide a input "I AM 
FINE" it goes in the similar way through answer_CLA[1] as "HOW ARE YOU" goes 
through CLA[1]. 
At the top in answer_CLA[3] we have a group of cells representing "I AM FINE". 
these ON cells in answer_CLA[3] are connected with ON cells in CLA[3].  So next 
time there is a question " HOW ARE YOU" , we would have a prediction "I am 
fine".

I am not saying this would be making a computer understand the language 
completely,that I will say later ;), but I imagine this would be theoretically 
more satisfying. answer_CLA could also be trained to make voluntary eye 
movements, if the visual input is decoded in a way. It could also be used in 
more motor movements driven by input as mentioned by Jeff Hawkins. If eyes know 
where they are going to move, then first line of CLA would predict what its 
going to see, or how the input will change !! like If it knows the answer "I AM 
FINE" it can predict the question "HOW ARE YOU".
So I would like to know if connecting CLA's is possible in nupic. I have 
designed a working CLA prototype in python,its on github, but its not as cool 
as nupic.   Also I am completely new to the github code. It took me quit long 
even to get nupic running on my machine. If people can discuss the basic 
buildings and using of the code, it will be awesome. I am looking forward for a 
deep discussion on the above algorithm but those who are not interested in 
algorithms, I would appreciate any suggestions, instructions and help on the 
code.

Great Regards !!
Aseem Hegshetye



_______________________________________________
nupic mailing list
[email protected]
http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org

Reply via email to