%% MAIN
% Lo script seguente gestisce tutti i codici ausiliari per la generazione,
% addestramento e test della rete. Si consiglia di lanciare il programma
% sezione per sezione.
clear
close all
clc
N=20;
M=20;
numero_colonne=N*M;
SET_PATT = menu('Select the pattern:', 'SET1: Orthogonal fixed dimension', 'SET2: Orthogonal, variable dimension','SET3: not orthogonal fixed dimension');
load_patterns
%nella variabile "all_patterns" sono contenuti i pattern per colonna.
%parametri pilota:
train_flag=0;
t_sim=1.5; %impostare la durata della simulazione
%% ADDESTRAMENTO
test_flag1=0; %test di autoassociazione layer1, con visualizzazione di immagine dinamica (pattern corrotto)
L1_main
%A questo punto si avranno nel workspace Wp_L1L1, Wp_L2L1 addestrate e gli
%output di L1 per il training parziale di L2 sono pronti nella variabile
%yp1_train.
L2_main
%A questo punto si hanno A_L2L2, K_L2L2, A_L3L3, K_L3L3 (uguali a coppie) e
%Wp_L3L2. La rete è in grado di propagare l'info in avanti, ma le mancano
%ancora le connessioni a feedback per l'eteroassociazione L3-L2.
L3_main
%Training concluso. La matrice di sinapsi di feedback Wp_L2L3 è addestrata
%e la rete è pronta a lavorare.
%% CARICAMENTO SINAPSI (rilevante solo se non si sta addestrando)
%di default lo script esegue l'addestramento. Per caricare invece sinapsi
%già addestrate, si ponga train_flag (riga 18) a 0.
load_sinapsi
%% SIMULAZIONE
% ...
% Si vedano le sezioni di TEST_RETE. |