Sequential neuromodulation of Hebbian plasticity in reward-based navigation (Brzosko et al 2017)

 Download zip file 
Help downloading and running models
Accession:233396
" ...Here, we demonstrate that sequential neuromodulation of STDP by acetylcholine and dopamine offers an efficacious model of reward-based navigation. Specifically, our experimental data in mouse hippocampal slices show that acetylcholine biases STDP toward synaptic depression, whilst subsequent application of dopamine converts this depression into potentiation. Incorporating this bidirectional neuromodulation-enabled correlational synaptic learning rule into a computational model yields effective navigation toward changing reward locations, as in natural foraging behavior. ..."
Reference:
1 . Brzosko Z, Zannone S, Schultz W, Clopath C, Paulsen O (2017) Sequential neuromodulation of Hebbian plasticity offers mechanism for effective reward-based navigation. Elife [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type:
Brain Region(s)/Organism: Hippocampus;
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s): Acetylcholine; Dopamine;
Simulation Environment: MATLAB;
Model Concept(s): Reinforcement Learning; Reward-modulated STDP;
Implementer(s): Zannone, Sara [s.zannone14 at imperial.ac.uk];
Search NeuronDB for information about:  Acetylcholine; Dopamine;
function [conv, conv_decay, conv_rise] = convolution (conv_decay, conv_rise, tau_m, tau_s, eps0, X, w)
%input =    conv_decay = convolution, decay component
%           conv_rise = convolution, rise component
%           tau_m = decay time constant
%           tau_s = rise time constant
%           eps0 = multiplying constant, scales the whole convolution 
%           X = spike train vector, if there is a spike the convolution jumps by 1
%           w = multiplying constant for X (weights the input)
%
%output =   conv = total convolution 
%           conv_decay = convolution, decay component (updated)
%           conv_rise = convolution, rise component (updated)


%computes a convolution with both rise and decay exponentials

%in no input is given for w, set it all w to one
if nargin < 7
    w = ones(size(X))';
end

conv_decay = conv_decay + (-conv_decay)/tau_m + X.*w'; 
conv_rise = conv_rise + (-conv_rise)/tau_s + X.*w';
conv = eps0*(conv_decay-conv_rise)/(tau_m-tau_s);

end

Loading data, please wait...