4.4 Prestazioni delle reti neurali
4.4.1 Denizione dei parametri di controllo delle reti neurali
Nel paragrafo 4.2 sono state descritte le tipologie di reti prese in esame, le quali si dierenziano fra loro per i dati di ingresso, il numero di neuroni negli strati nascosti e gli algoritmi di allenamento.
Il primo confronto tra le singole reti è stato fatto comparando gli errori massimi e medi che queste commettono nei punti di inviluppo (α, β, M∞).
Denito dunque un data set di punti, opportunamente suddiviso in training set, validation set e testing set, ed un'architettura base, sono state allenate tutte le reti appartenenti alle dierenti tipologie considerate.
Per spiegare la metodologia di calcolo degli errori commessi dalle singole reti, si prenda in considerazione quella relativa alla ricostruzione di uno qualsiasi
4.4 Prestazioni delle reti neurali 92 dei quattro valori di uscita, per esempio l'angolo di incidenza α. Consideran- do ogni singolo punto appartenente all'intero database di partenza, ogni rete elabora i propri ingressi e resituisce in uscita l'output desiderato, in questo caso α. Tutte le uscite sono state identicate con i pedici corrispondenti agli ingressi che le hanno generate, per esempio α12P P V, corrisponde alla
rete NN12P P V e così per tutte le reti descritte in tabella 4.1. L'errore che
ciascuna rete commette nel generico punto preso in esame, è la dierenza tra il valore α di test e quello ricostruito dalla rete stessa, ovvero per esempio α12P P V. L'errore viene dunque calcolato come:
rete = αdatabse− αrete
. Utilizzando questa procedura, sono stati calcolati gli errori commessi da ogni singola rete allenata su tutti i punti del database.
Il confronto tra le varie reti è stato in seguito esteso non solo ai valori di tutte le singole reti, ma anche sui valori consolidati dall'algoritmo di voting, avendo preso come riferimento quello descrito in [1] ed utilizzato anche nella procedura di tipo classico che si basa sull'approssimazione di funzioni polino- miali. La procedura di calcolo degli errori viene inoltre estesa alle tipologie di reti ad uscite multiple.
4.4.2 Prove per la determinazione dell'architettura delle reti neurali e dei parametri di allenamento
Come già evidenziato in precedenza, le prime prove svolte sulle dierenti tipologie di reti neurali decsritte in tabella 4.1, hanno avuto lo scopo di determinare la migliore architettura da adottare e di tarare i parametri dei metodi di allenamento (algoritmo di allenamento, numero di iterazioni e minimo della `cifra di merito').
Da quanto detto in 4.2, è evidente che, indipendentemente dalla scelta degli input delle reti, bisogna denire:
• il numero di neuroni degli strati nascosti • le funzioni di trasferimento di tali strati • il metodo di allenamento
4.4 Prestazioni delle reti neurali 93 • il valore di minimo della cifra di merito o goal
E' stato quindi necessario svolgere delle prove per poter stabilire quali, fra le seguenti variabili, siano quelle più adatte al ne di raggiungere il target che ci si è posti all'inizio del seguente lavoro di tesi, vale a dire quello di ottenere un'unica rete capace di ricostruire in uscita tutti e quattro i valori di interesse, tenendo ovviamente presenti anche le problematiche connesse all'impegno di memoria e alla rapidità di allenamento delle reti (si veda la tabella riassuntiva 4.5)3.
Caratteristiche e parametri delle reti neurali
Rete#1 Rete#2 Rete#3 Rete#4 Rete#5
N◦ neuroni strato ingresso 10 15 20 25 30
N◦ neuroni staro nascosto 10 15 20 25 30
N◦ neuroni strato uscita 4 4 4 4 4
Valore di taglio PCA 0.00001 0.00001 0.00001 0.00001 0.00001
N◦ ingressi rete neurale 3 o 4 3 o 4 3 o 4 3, 4 o 5 3, 4 o 5
Funzione strati ingresso e nascosto tansig tansig tansig tansig tansig
Funzione strato uscita purelin purelin purelin purelin purelin
Funzione di addestramento o trainbr, trainbr, trainbr, trainbr, trainbr,
training traingdm traingdm traingdm traingdm traingdm
Numero di epoche 2000 2000 3000 3000 3000
valore goal 10−6, 10−6, 10−6, 10−6, 10−6,
10−8 10−8 10−8 10−8 10−8
Tabella 4.5: Caratteristiche e parametri delle reti neurali
I risultati prodotti dalle prove, svolte utilizzando il training set denito da tabella 4.4, hanno portato alle seguenti considerazioni:
√
non è necessario un numero elevato di neuroni: una rete con molti neuroni infatti riesce a ricostruire molto bene il valore di riferimento utilizzato durante l'allenamento, ma ha scarsa capacità di generalizzare √
il numero delle epoche non deve essere eccessivamente alto perchè i metodi di allenamento, dopo 3000 cicli, arrivano alla saturazione, ovvero i parametri di training, quali la cifra di merito ad esempio, raggiunto un valore minimo, rimangono costanti
3La tabella citata descrive in dettaglio l'architettura interna delle reti neurali prese in
4.4 Prestazioni delle reti neurali 94 √
il numero di epoche tuttavia non deve essere troppo basso per non troncare l'allenamento
√
per quanto riguarda il valore di goal vale lo stesso discorso appena fatto per le epoche
√
entrambi i metodi di allenamento hanno dato risposte comparabili in termini di ricostruzione dei valori da database, tuttavia il model- lo basato sulla minimizzazione della discesa del gradiente (traingdm) ha tempi di training molto più brevi, riesce cioè a raggiungere molto più velocemente il goal prestabilito
Da quanto sino ad ora esposto, al termine di questa prima fase è stata denita un'unica architettura ritenuta più eciente, da utilizzarsi per tutte le tipologie di reti scelte, che consiste in (vedi gura 4.8):
- due strati nascosti da 20 neuroni ciascuno
- allenamento tramite metodologia della minimizzazione della discesa del gradiente (traingdm)
- funzione di trasferimento degli strati nascosti: tansig - funzione di trasferimento dello strato di uscita: purelin - numero di epoche ssato a 3000
- goal ssato a 10−8