Modelling gain modulation in stability-optimised circuits (Stroud et al 2018)

 Download zip file 
Help downloading and running models
We supply Matlab code to create 'stability-optimised circuits'. These networks can give rise to rich neural activity transients that resemble primary motor cortex recordings in monkeys during reaching. We also supply code that allows one to learn new network outputs by changing the input-output gain of neurons in a stability-optimised network. Our code recreates the main results of Figure 1 in our related publication.
1 . Stroud JP, Porter MA, Hennequin G, Vogels TP (2018) Motor primitives in space and time via targeted gain modulation in cortical networks. Nat Neurosci 21:1774-1783 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Connectionist Network;
Brain Region(s)/Organism:
Cell Type(s): Abstract rate-based neuron;
Gap Junctions:
Receptor(s): M1;
Simulation Environment: MATLAB;
Model Concept(s): Learning;
Implementer(s): Stroud, Jake P [jp.stroud at]; Hennequin, Guillaume ; Vogels, Tim [tim.vogels at];
Search NeuronDB for information about:  M1;
%% Script to create and initial 'unstable' weight matrix and a stability-optimised circuit

% This code creates an initial 'unstable' weight matrix W according to
% (Hennequin et al., Neuron, 2014) and then creates the stability-optimised
% variant so that the resulting neuronal dynamics display rich activity transients.
% Written by Jake Stroud

% Create intial 'unstable' weight matrix
N = 200;            %Number of neurons
p = 0.1;            %Density of connections
R = 10;             %Initial approximate spectral abscissa prior to stability optimisation
gamma = 3;          %The inhibition/excitation ratio

W = initialnet(N, p, R, gamma); %Create initial 'unstable' weight matrix

% Create stabiliy-optimised circuit using the initial weight matrix W
rate = 10;              %Gradient-descent learning rate
desired_SA = 0.15;      %Ultimate desired spectral abscissa after stability optimisation

% Create stability-optimised circuit
Wsoc = soc_function(W, rate, desired_SA, gamma);

Loading data, please wait...