Che cos’e’ un algoritmo di apprendimento
Quando si studiano i modelli connessionisti, cioe’ le reti neurali artificiali ispirate al funzionamento del cervello, ci si imbatte presto nella domanda centrale: come fa una rete a imparare? La risposta sta negli algoritmi di apprendimento, procedure matematiche sviluppate da numerosi autori per ottimizzare le prestazioni di questi modelli. La regola delta rientra in quella grande famiglia che prende il nome di apprendimento supervisionato (supervised learning), in cui la rete viene guidata dal confronto con risposte note.
Il principio di base e’ semplice da enunciare. Pesi diversi di una rete neurale producono funzioni diverse dell’input: cambiando i valori delle connessioni, cambia il modo in cui la rete trasforma cio’ che riceve in cio’ che restituisce. Per addestrare la rete le si somministrano dei pattern di input e poi si confronta la risposta reale del sistema con la risposta target, ovvero cio’ che la rete dovrebbe idealmente produrre. La differenza tra questi due valori rappresenta l’errore (Floreano, 1996).
Il ruolo dei pesi e dell’errore
Il compito dell’algoritmo di apprendimento e’ aggiustare la matrice dei pesi in modo da ridurre l’errore che la rete compie sui pattern. In termini generali, la matrice dei pesi W a un dato istante di tempo viene calcolata a partire dalla matrice all’istante precedente, a cui si somma una correzione. Questa correzione e’ proporzionale all’errore commesso sul singolo pattern e a un parametro chiamato learning rate, o tasso di apprendimento, indicato di solito con la lettera greca eta. Il learning rate stabilisce quanto deve essere ampio ogni singolo aggiustamento: se troppo grande, l’apprendimento diventa instabile; se troppo piccolo, diventa lentissimo.
Origine e logica della regola Adaline
Il nome Adaline e’ l’acronimo di ADAptive LINear Element. L’algoritmo fu sviluppato da Bernard Widrow e Marcian Hoff (Widrow e Hoff, 1960) ed e’ uno dei pilastri storici delle reti neurali. La regola Adaline, conosciuta anche come regola delta, minimizza l’errore utilizzando una procedura di discesa del gradiente.
L’idea funziona cosi’: una volta che i pattern sono stati presentati alla rete, la correzione da applicare ai pesi e’ resa proporzionale all’errore. Si considera tipicamente una rete neurale di tipo feedforward, in cui l’informazione scorre in una sola direzione, con unita’ di output ad attivazione lineare. L’obiettivo, come accennato, e’ rendere l’uscita effettiva della rete il piu’ possibile uguale all’uscita desiderata.
La funzione di errore
Per misurare quanto la rete sbaglia si definisce una funzione di errore, detta anche funzione di costo. Dato un insieme di addestramento composto da molte coppie formate dal vettore di ingresso e dal vettore di risposta desiderata, questa funzione rappresenta lo scarto quadratico medio tra la risposta desiderata e la risposta ottenuta, calcolato per ciascuna unita’ della rete e poi sommato su tutte le unita’ e su tutte le coppie di apprendimento. Una frazione moltiplicativa viene di solito inserita davanti alla somma per semplificare alcuni passaggi di calcolo nelle derivazioni successive.
L’errore diminuisce quanto piu’ le risposte della rete si avvicinano al target. Ed e’ proprio la riduzione progressiva di questa funzione l’obiettivo dell’intero processo di apprendimento.
La discesa del gradiente
Il cuore matematico della regola delta e’ la discesa del gradiente. Il gradiente di una funzione indica la direzione di massima crescita: e’ un vettore costruito a partire dalle derivate parziali della funzione di errore rispetto a ciascun peso sinaptico. Questo significa che la variazione della funzione di errore dipende unicamente dal valore delle connessioni sinaptiche.
Poiche’ l’obiettivo e’ minimizzare l’errore e non aumentarlo, la modifica dei pesi deve avvenire contro il gradiente, cioe’ nella direzione opposta a quella di massima crescita. In pratica si scende lungo la superficie dell’errore verso il punto piu’ basso, come una pallina che rotola verso il fondo di una valle. La derivata viene risolta per ogni unita’, ottenendo una formula in cui la modifica di ciascun peso dipende dalla differenza tra la risposta desiderata e l’output della rete, moltiplicata per l’attivita’ presinaptica, cioe’ il valore dell’ingresso corrispondente.
Il nome stesso dell’algoritmo deriva da questa logica: si basa sulla differenza, indicata con la lettera greca delta, tra la risposta desiderata e la risposta ottenuta. Aggiungendo il learning rate alla formula si ottiene la regola completa di aggiornamento dei pesi.
Apprendimento per cicli e per epoche
L’aggiornamento dei pesi puo’ avvenire secondo due modalita’. Nell’apprendimento per cicli la modifica viene calcolata e aggiunta ai pesi sinaptici per ogni singola coppia di addestramento, una alla volta. Nell’apprendimento per epoche, invece, tutti i pattern vengono presentati alla rete e le modifiche vengono progressivamente sommate: solo al termine della presentazione dell’intero insieme di addestramento la somma totale viene applicata ai pesi. Le due strategie portano alla stessa meta per strade diverse, con differenze pratiche in termini di velocita’ e stabilita’ della convergenza.
Limiti e portata dell’algoritmo
Per comprendere i limiti della regola delta conviene immaginare la funzione di errore come uno spazio a molte dimensioni, in cui ciascuna dimensione rappresenta lo spazio di possibile variazione di ciascuna sinapsi. La superficie risultante ha un aspetto variegato, con minimi e massimi (Floreano, 1996).
Nel caso di pattern linearmente indipendenti, la funzione di errore per unita’ lineari presenta un unico minimo in cui l’errore si annulla del tutto: la regola delta riesce in questo caso a trovare la soluzione ideale. Quando invece i pattern non sono linearmente indipendenti, l’algoritmo puo’ fermarsi in minimi in cui l’errore resta superiore a zero, raggiungendo cosi’ solo una soluzione parziale. Questo limite, legato alla natura lineare dell’unita’ Adaline, e’ stato uno dei motivi che hanno spinto la ricerca verso architetture e algoritmi piu’ potenti, come le reti multistrato addestrate con la retropropagazione dell’errore.
Domande frequenti
Perche’ si chiama regola delta?
Il nome deriva dalla lettera greca delta, che in matematica indica una differenza. L’algoritmo si basa infatti sulla differenza tra la risposta desiderata e la risposta effettivamente prodotta dalla rete: e’ questo scarto a guidare la correzione dei pesi sinaptici.
Che differenza c’e’ tra regola delta e regola Adaline?
Sono due nomi per lo stesso algoritmo. Adaline e’ l’acronimo di ADAptive LINear Element, l’elemento lineare adattivo introdotto da Widrow e Hoff nel 1960; regola delta e’ la denominazione che mette in evidenza il principio matematico, cioe’ l’uso della differenza tra output desiderato e ottenuto.
Che cos’e’ il learning rate?
Il learning rate, o tasso di apprendimento, e’ un parametro che stabilisce l’ampiezza di ogni aggiustamento dei pesi. Un valore alto rende l’apprendimento rapido ma instabile, un valore basso lo rende piu’ stabile ma molto lento. La sua scelta e’ uno degli aspetti delicati nell’addestramento delle reti.
Perche’ la regola delta non sempre azzera l’errore?
Quando i pattern di addestramento non sono linearmente indipendenti, la superficie dell’errore puo’ contenere minimi in cui l’errore resta maggiore di zero. In questi casi l’algoritmo, basato su unita’ lineari, trova una soluzione solo parziale e non riesce ad annullare completamente lo scarto.
Lascia un commento