Oscillations, phase-of-firing coding and STDP: an efficient learning scheme (Masquelier et al. 2009)

 Download zip file 
Help downloading and running models
Accession:123928
The model demonstrates how a common oscillatory drive for a group of neurons formats and reliabilizes their spike times - through an activation-to-phase conversion - so that repeating activation patterns can be easily detected and learned by a downstream neuron equipped with STDP, and then recognized in just one oscillation cycle.
Reference:
1 . Masquelier T, Hugues E, Deco G, Thorpe SJ (2009) Oscillations, phase-of-firing coding, and spike timing-dependent plasticity: an efficient learning scheme. J Neurosci 29:13484-93 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Abstract integrate-and-fire leaky neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: Brian; Python;
Model Concept(s): Pattern Recognition; Activity Patterns; Coincidence Detection; Temporal Pattern Generation; Oscillations; Synchronization; Spatio-temporal Activity Patterns; Synaptic Plasticity; Long-term Synaptic Plasticity; Unsupervised Learning; STDP;
Implementer(s): Masquelier, Tim [timothee.masquelier at alum.mit.edu];
# Load all previously dumped variables
# Under development...

printtime('**************')
printtime('* Unpickling *')
printtime('**************')

# open pickle file
f = open(os.path.join('..','data','output.'+'%03d' % (randState)+'.pkl'), 'r')
endTime = pickle.load(f)
if monitorInput:
    print 'Unpickling inputSpike'
    inputSpike=pickle.load(f)
if computeOutput:  
    print 'Unpickling finalWeight'
    finalWeight=pickle.load(f)
if monitorOutput:    
    print 'Unpickling outputSpike'
    outputSpike=pickle.load(f)
if monitorPot:    
    print 'Unpickling potential'
    pot=pickle.load(f)
if monitorCurrent:    
    print 'Unpickling current'
    current=pickle.load(f)
if monitorRate:    
    print 'Unpickling rate'
    rate=pickle.load(f)
f.close()