Generation of stable heading representations in diverse visual scenes (Kim et al 2019)

 Download zip file 
Help downloading and running models
Accession:261585
"Many animals rely on an internal heading representation when navigating in varied environments. How this representation is linked to the sensory cues that define different surroundings is unclear. In the fly brain, heading is represented by ‘compass’ neurons that innervate a ring-shaped structure known as the ellipsoid body. Each compass neuron receives inputs from ‘ring’ neurons that are selective for particular visual features; this combination provides an ideal substrate for the extraction of directional information from a visual scene. Here we combine two-photon calcium imaging and optogenetics in tethered flying flies with circuit modelling, and show how the correlated activity of compass and visual neurons drives plasticity, which flexibly transforms two-dimensional visual cues into a stable heading representation. ... " See the supplementary information for model details.
Reference:
1 . Kim SS, Hermundstad AM, Romani S, Abbott LF, Jayaraman V (2019) Generation of stable heading representations in diverse visual scenes. Nature 576:126-131 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Connectionist Network;
Brain Region(s)/Organism: Drosophila;
Cell Type(s): Abstract rate-based neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Spatial Navigation; Synaptic Plasticity; Hebbian plasticity; Attractor Neural Network;
Implementer(s): Kim, Sung Soo [sungsoo at ucsb.edu];
function params = param_Ring_Attractor()

%% Parameters for the ring attractor, i.e., E-PG neurons, a.k.a. compass neurons

% See the Supplimentary Materials of Kim et al. 2017 Science paper for the
% variable naming convention in this script.

    
main_config();



%% This routine checks stability of the ring attractor dynamics
param_Ring_Attractor_check();






%% Weight matrix for the Ring Attractor (local model)
W_ring_attractor = -beta_discrete*ones(n_wedge_neurons, n_wedge_neurons);
for i = 1:size(W_ring_attractor,1)
    W_ring_attractor(i,i) = alpha_-2*D-beta_discrete;
    ind = [i-1, i+1];
    ind = mod(ind-1, n_wedge_neurons)+1;
    W_ring_attractor(i, ind) = D - beta_discrete;
end


%%
params.info.bump_width = bump_width;
params.info.D_cont = D_cont;
params.info.beta_cont = beta_cont;
params.info.S = S;
params.info.A = A;
params.info.omega = omega;
params.info.phi = phi;

params.n_wedge_neurons = n_wedge_neurons;
params.tau_wedge = tau_wedge*ones(n_wedge_neurons,1);
params.membrane_threshold = 0;
params.membrane_saturation = 1000;
params.W_ring_attractor = W_ring_attractor;




Loading data, please wait...