Great! Thank Subutai. Much appreciated. 

On Aug 19, 2014, at 3:32 AM, Subutai Ahmad <[email protected]> wrote:

> Hi Nick,
> 
> I believe your understanding is exactly right. If we are predicting 10 steps 
> into the future, the classifier has to keep a rolling buffer of the last 10 
> sets of active bits. The classifier sort-of outputs the conditional 
> probability of each bucket given the current activation. I say "sort-of" 
> because there's a rolling average in there, so it's really a "recent 
> conditional probability".  This is how the OPF outputs probabilities for each 
> set of predictions.
> 
> I believe the implementation stores the indices only for the historical 
> buffer.   The C++ code for this is in nupic.core, in 
> FastClaClassifier.hpp/cpp.  
> 
> --Subutai
> 
> 
> On Sat, Aug 16, 2014 at 6:14 AM, Nicholas Mitri <[email protected]> wrote:
> Hi Subutai,
> 
> So we’re using the predictive state of the cells as a middle step (during 
> learning) to encode context into the representation of the input pattern 
> using only active bits? But that’s the extent of their practical use as far 
> as the CLA classifier is concerned. 
> 
> I understood the point you made about the fact that context encoded into 
> active bits gives us all the information we need for prediction, but there’s 
> still one issue I’m having with the operation of the CLA classifier. 
> 
> If we’re only using active bits, then the RADC matrix we’re storing should 
> maintain and update a coincidence counter between the current bucket and the 
> active bits from a previous time step during its leaning phase. In that way, 
> when the classifier is in inference mode, the likelihood becomes the 
> conditional probability of a future bucket given current activation. In other 
> words, the classifier learning phase creates a relation between past info 
> (active output of TP at time = t - x) and current input value (bucket index 
> at time t) so that during inference we can use current information (at time = 
> t) to predict future values (at time = t + x). (The document attached isn’t 
> very clear on that point).
> 
> If that’s the case, then the active state of the region should be stored for 
> future use. Is any of that accurate? and if so, would we be storing the state 
> of every cell or only the index of the active ones?
> 
> best,
> Nick
> 
> 
> 
> On Aug 15, 2014, at 9:18 PM, Subutai Ahmad <[email protected]> wrote:
> 
>> Hi Nick,
>> 
>> That’s a great question, and one we worked through as well. The classifier 
>> does really only use the active bits.  If you think about it, the active 
>> bits include all the available information about the high order sequence. It 
>> includes the full dynamic context and all future predictions about this 
>> sequence can be derived from the active bits. 
>> 
>> For example, suppose you've learned different melodies and start listening 
>> to a song. Once the first few notes are played, there could be many 
>> different musical pieces that start the same way. The active state includes 
>> all possible melodies that start with these notes. 
>> 
>> Once you are in the middle of the melody and it’s now unambiguous, the 
>> active state at any point is unique to that melody as well as the position 
>> within that melody. If you are a musician, you could actually stop 
>> listening, take over and play the rest of the song. Similarly, a classifier 
>> can take that state as input and predict the sequence of all those notes 
>> into the future with 100% accuracy.  This is a very cool property. It is a 
>> result of the capacity inherent in sparse representations and critical to 
>> representing high order sequences.
>> 
>> As such, the classifier only needs the active state to predict the next N 
>> steps.
>> 
>> So what is the predictive state? The predictive state is in fact just a 
>> function of the active bits and the current set of segments. It doesn’t add 
>> new information. However it has other uses. The predictive state is used in 
>> the Temporal Memory to update the set of active bits given new sensory 
>> information. This helps fine tune the active state as you get new 
>> information. It also helps the system refine learning as new (possibly 
>> unpredicted) information comes in.  
>> 
>> —Subutai
>> 
>> 
>> 
>> On Fri, Aug 15, 2014 at 7:40 AM, Nicholas Mitri <[email protected]> wrote:
>> Hi Subutai, 
>> 
>> Again, thanks for forwarding the document. It was really helpful. 
>> 
>> I have a quick question before I delve deeper into the classifier. 
>> The document mentions that the classifier makes use of the ‘active’ bits of 
>> the temporal pooler. Are we grouping active and predictive bits under the 
>> label ‘active' here?
>> 
>> If the predictive bits are not mapped into actual values by the classifier, 
>> then what module is performing that task when I query for the predicted 
>> field value at any time step?
>> 
>> If they are, what process is used to decouple multiple simultaneous 
>> predictions and map each to its corresponding value to compare it against a 
>> value after X time steps? Is it as simple as looking at the normalized RADC 
>> table and picking the top 3 buckets with the highest likelihoods, mapping 
>> them into their actual values, then attaching the likelihood to the 
>> prediction as a confidence measure?
>> 
>> There are clearly some major holes in my understanding of the algorithms at 
>> play, I’d appreciate the clarifications :).
>> 
>> thanks,
>> Nick
>> 
>> On Aug 13, 2014, at 8:39 PM, Subutai Ahmad <[email protected]> wrote:
>> 
>>> Hi Nick,
>>> 
>>> Nice diagram!  In addition to the video David sent, we have a NuPIC issue 
>>> to create this document:
>>> 
>>> https://github.com/numenta/nupic/issues/578
>>> 
>>> I found some old documentation in our archives. Scott is planning to update 
>>> the wiki with this information. I have also attached it here for reference 
>>> (but warning, it may be a bit outdated!)
>>> 
>>> --Subutai
>>> 
>>> 
>>> On Wed, Aug 13, 2014 at 9:03 AM, cogmission1 . <[email protected]> 
>>> wrote:
>>> Hi Nicholas,
>>> 
>>> This is the only source with any depth I have seen. Have you seen this?
>>> 
>>> https://www.youtube.com/watch?v=z6r3ekreRzY
>>> 
>>> David
>>> 
>>> 
>>> On Wed, Aug 13, 2014 at 10:46 AM, Nicholas Mitri <[email protected]> 
>>> wrote:
>>> Hey all, 
>>> 
>>> Based on my understanding of the material in the wiki, the CLA algorithms 
>>> can be depicted by the figure below. 
>>> There’s plenty of info about SP and TP in both theory and implementation 
>>> details. 
>>> I can’t seem to find much information about the classifier though. 
>>> If I’ve understood correctly, this is not a classifier in the Machine 
>>> Learning sense of the word but rather a mechanism to translate TP output 
>>> into values of the same data type as the input for comparison purposes. 
>>> 
>>> I’d really appreciate some more involved explanation of the process in 
>>> terms of what data is stored step to step and how the look-up/mapping 
>>> mechanics are implemented. 
>>> 
>>> best,
>>> Nick
>>> 
>>> <Screen Shot 2013-12-02 at 4.00.01 PM.png>
>>> 
>>> _______________________________________________
>>> nupic mailing list
>>> [email protected]
>>> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> nupic mailing list
>>> [email protected]
>>> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>>> 
>>> 
>>> <multistep_prediction.docx>_______________________________________________
>>> 
>>> nupic mailing list
>>> [email protected]
>>> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>> 
>> 
>> _______________________________________________
>> nupic mailing list
>> [email protected]
>> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>> 
>> 
>> _______________________________________________
>> nupic mailing list
>> [email protected]
>> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
> 
> 
> _______________________________________________
> nupic mailing list
> [email protected]
> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
> 
> 
> _______________________________________________
> nupic mailing list
> [email protected]
> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org

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

Reply via email to