%% Learning statistical structure
% This script sets the uniform sampler network and the network tuned to the
% input (read-out network, even though it is the network receiving the
% input)
clear
spontaneous = true; %boolean: spontaneous dynamics or training simulation
%% Set up weight matrix of recurrent networks
% the network parameters can be changed in the scripts
createUniform;
createReadOutRNN;
%% Set up connectivity between the recurrent networks
% the read-out network parameters can be changed in the scripts
wRE = zeros(REneuronNum,EneuronNum);
%% Parameters for neural and synaptic dynamics of E and I neurons
% standard parameters from literature
dynamics_parameters;
%% Short and long term plasticity
plasticity_parameters;
%% External input to E-RNN and I-RNN
external_input;
%% Launch simulation
dt = 0.1; %Euler discretization time step [ms]
T = 1000; %total simulation time [ms]
if spontaneous
test_setup; %set connectivity between networks
seq_nb = 1;
spontaneous_simulation; %no plasticity
else
nb_its = 100; %number of iterations
nb_samples = 5; %number of samples taken from target distribution in each iteration
test_setup; %set initial connectivity between networks
training_simulation; %supervisor input and plasticity
end
%% Plotting dynamics
if spontaneous
figure()
subplot(2,1,1)
plotUNIFORMRASTER
subplot(2,1,2)
plotReadOutRASTER
xlabel('Time [s]')
box off
end