A model of working memory for encoding multiple items (Ursino et al, in press)

 Download zip file 
Help downloading and running models
Accession:267297
We present an original neural network model, based on oscillating neural masses, to investigate mechanisms at the basis of working memory in different conditions. Simulations show that the trained network is able to desynchronize up to nine items without a fixed order using the gamma rhythm. Moreover, the network can replicate a sequence of items using a gamma rhythm nested inside a theta rhythm. The reduction in some parameters, mainly concerning the strength of GABAergic synapses, induce memory alterations which mimic neurological deficits. Finally, the network, isolated from the external environment simulates an“imagination phase”.
Reference:
1 . Ursino M, Cesaretti N, Pirazzini G (in press) A model of working memory for encoding multiple items and ordered sequences exploiting the theta-gamma code Cognitive Neurodynamics
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neural mass; Synapse; Realistic Network;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions: Gap junctions;
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Gamma oscillations;
Implementer(s): Ursino, Mauro [mauro.ursino at unibo.it];
% Lo script richiede che siano già costruiti i pattern; si faccia uso della prima sezione
% di MAIN a tal scopo.
%% test su L1 & Working Memory
clc

MAIN
t_sim=.8;
dt=0.0001;
t=0:dt:t_sim;

train_flag=0; 
load_sinapsi

INPUT_WM=zeros(numero_colonne,length(t));
buff=zeros(numero_colonne, round(0.05/dt));
pos=find(corrupt_pattern(all_patterns(:,1))==1);
buff(pos,:)=1;
INPUT_WM(:,51:550)=buff;
buff=zeros(numero_colonne, round(0.05/dt));
pos=find(corrupt_pattern(all_patterns(:,2))==1);
buff(pos,:)=1;
INPUT_WM(:,4051:4550)=buff;

WML1_sim, IN0=INPUT_WM*600+np0;

line = 1.5;
font = 14;
figure
subplot(311), title('Input to WM'), hold on, ylabel('Hz'),xlabel('time (s)')
plot(t,sum(IN0(pos1,:))/size(pos1,2),'linewidth',line), plot(t,sum(IN0(pos2,:))/size(pos2,2),'r','linewidth',line)
set(gca,'fontsize',font)
subplot(312), title('z_p_,_W_M'), hold on, ylabel('Hz'), xlabel('time (s)')
plot(t,sum(zp0(pos1,:))/size(pos1,2),'linewidth',line), plot(t,sum(zp0(pos2,:))/size(pos2,2),'r','linewidth',line)
set(gca,'fontsize',font)
subplot(313), title('z_p_,_L_1'), hold on, ylabel('Hz'), xlabel('time (s)')
plot(t,sum(zp1(pos1,:))/size(pos1,2),'linewidth',line), plot(t,sum(zp1(pos2,:))/size(pos2,2),'r','linewidth',line)
set(gca,'fontsize',font)