Comparing expected semantic pointers to actual in Basal Ganglia models


I am trying to partially reproduce the results from: Reduction of dopamine in basal ganglia and its effects on syllable sequencing in speech: A computer simulation study

The “motor” neurons activity (from the thalamus) is supposed to represent an action for executing a syllable (ex : “BA”). Since dopamine depletion is simulated in experiments, not all syllables execute.

So far the best way I came up of measuring if a syllable is executed or not is to determine the “correct” syllable for a time period, then for each time step in that time period, check the similarity of the “correct” pointer with the observed activity in the motor ensemble.

The problem I currently face is how to calculate the time period to check if a syllable is present or not (I cannot check for example in the interval 0-200ms ,200-400ms ,400-600ms), since there are inherent delays in action selection which add up over time. I wrote the below code to count, but it under-counts. I am very possibly overthinking this.

def countCorrectSyllables(sim,model,initial_delay,delay,end_time):
    correct_syllables = 0 
    number_syllables = 0 
    sylCycle = cycle(li)
    for time in range(initial_delay,end_time,delay):
        elem = next(sylCycle)
        vocab = model.get_input_vocab('motor')
        correct_similarity = vocab.parse(elem).dot([motor][time:time+delay].T)
        print("start time " + str(time) )
        print("end time " + str(time+delay))
        max_sim = np.amax(correct_similarity)
            correct_syllables+= 1
            print('correct time ' + str(time))
    print("Number of correct syllables:"+str(correct_syllables))
    print("Number of  syllables:"+str(number_syllables))

I know some of the authors of the paper had accounts on the forum, so thought I would ask here.



I’d recommend directing the authors to this post over email, as they may not have seen it.