Home > Doc > Reti Neurali su .... > Algoritmo di apprendimento

Reti neurali su Personal Computer e Fuzzy Logic: Reti Neurali Error Back Propagation

Algoritmo di apprendimento

Il tipo di addestramento che si esegue su questa rete è chiamato "supervised" (supervionato) perché associa ogni input ad un output desiderato:

ciclo epoche:
{
per ogni esempio:
{


a)si fornisce l'input alla rete
b)si preleva l'output da questa fornito
c)si calcola la differenza con l'output desiderato

d)si modificano i pesi di tutti i collegamenti
tra i neuroni in base a tale errore con una
regola (chiamata regola delta) in modo che tale
errore diminuisca.
}


e)calcolo dell'errore globale su tutti gli esempi
f)si ripete il ciclo epoche finche l'errore non raggiunge
il valore accettato
}

Naturalmente per input e output si intende un insieme di n esempi ciascuno composto da k input (k sono gli input fisici della rete) e j output(j sono gli output fisici della rete). Ogni ciclo come quello sopraesposto viene chiamato "epoca" di apprendimento. Voglio ricordare il concetto che nel capitolo precedente avevamo chiamato "resistenza al rumore" (nel caso di memorie associative) e qui chiameremo "potere di generalizzazione" intendendone la capacità della rete dopo
l'addestramento di dare una risposta significativa anche ad un input non previsto negli esempi.

In pratica durante l'addestramento, la rete non impara ad associare ogni input ad un output ma impara a riconoscere la relazione che esiste tra input e output per quanto complessa possa essere: diventa pertanto una "scatola nera" che non ci svelerà la formula matematica che correla i dati ma ci permetterà di ottenere risposte significative a input di cui non abbiamo ancora verifiche "sul campo"
sia all'interno del range di valori di addestramento (interpolazione), che all'esterno di esso(estrapolazione).

Naturalmente l'estrapolazione è più difficoltosa e imprecisa che
l'interpolazione e comunque entrambe danno risultati migliori quanto più è completo e uniformemente distribuito il set di esempi. Potremmo insegnare ad una rete neurale di questo tipo a fare delle somme tra due valori di input fornendole in fase di apprendimento una serie di somme "preconfezionate" con risultato corretto in un range più vasto possibile: la rete riuscirà a fare somme anche di valori diversi da quelli degli esempi.

Addestrare una rete neurale a fare una somma è ovviamente inutile se non per motivi di studio o sperimentali in quanto essa è utile per studiare fenomeni di cui non sia conosciuta la correlazione matematica tra input e output (o sia estremamente complessa).

Luca Marchese

Successivo: La Regola Delta

Sommario: Indice