Nice, thanks! On Mon, Apr 4, 2016 at 4:19 PM, Yuwei Cui <[email protected]> wrote:
> Yes, that's right. > > Yuwei > > On Mon, Apr 4, 2016 at 1:33 PM, Sebastián Narváez <[email protected]> > wrote: > >> Hi Yuwei, Thanks for your response, things are much clearer now. I was >> refering to this "if": >> >> if permanence > 0 and self.predictedSegmentDecrement > 0: >> >> Now, if I understand what you said, the connected synapses must be taken >> into account as much as the non connected, but active ones, for the >> formation of the matchingSegments and matchingCells variables. Their >> decrement will only be made when the next element of the sequence arrives >> and the matchingCells~Segments do not match with the current active cells. >> Is that right? >> >> On Mon, Apr 4, 2016 at 12:50 PM, Yuwei Cui <[email protected]> wrote: >> >>> Hello Sebastián, >>> >>> Please see my answers below: >>> >>>> >>>> 1) What do the matchingSegments and matchingCells represent? >>>> >>> >>> I think we recently include the logic here to model "long-term >>> depression". That is if the segment has sufficient activity at time t, but >>> does not become active at time t+1, it represents a potential false >>> prediction and should be punished. "sufficient activity" here means number >>> of active inputs is above minThreshold. matchingSegments and matchingCells >>> are used to determine predicted but inactive cells at the next time step >>> (see line 376 of learnOnSegments). >>> >>> This logic speeds up the forgetting of false predictions, but it should >>> be used with caution. If your problems has multiple correct predictions, >>> then it is OK to have some false predictions. Generally speaking, the ratio >>> between permanenceIncrement and predictedSegmentDecrement determines how >>> many multiple predictions can the model make at any time. >>> >>> >>>> 2) minThreshold is supposed to be the minimum number of synapses a >>>> segment must have in order to be considered for bursting, what does it do >>>> here? >>>> >>> >>> activationThreshold is the threshold for activation of a segment: if a >>> segment has more than activationThreshold number of active synapses, it >>> will fire a dendritic spike and depolarize the cell body. >>> >>> minThreshold is typically lower than activationThreshold and is only >>> used in learning phase (not in inference phase). It are used in two places >>> as far as I know. >>> >>> 1. If the number of synapses active on a segment is at least this >>> threshold, it is selected as the best matching cell in a bursting column. >>> (see function bestMatchingSegment) >>> >>> 2. It is used to determine predicted but inactive cells and segments as >>> described above. >>> >>> >>>> 3) As I see it, the if also grabs the permanneces above the connected >>>> threshold, why is that? >>>> >>> >>> I am not sure which "if" you are referring to here. Could you clarify >>> your question? >>> >>> Yuwei >>> >>> >> >
