Metodi di ottimizzazione per le reti neurali L. Grippo DIS, Università di Roma “La Sapienza” M. Sciandrone IASI, Consiglio Nazionale delle Ricerche, Roma • Generalità sulle reti neurali • Addestramento di reti multistrato • Addestramento di reti“Radial Basis” • Metodi incrementali 1 Generalità sulle reti neurali • Cos’è una rete neurale? • Il neurone formale • Classificazione delle architetture • Apprendimento e generalizzazione • Metodi di ottimizzazione per l’addestramento • Applicazioni delle reti neurali • Reti neurali e Ricerca Operativa 2 Cos’è una rete neurale? Da un punto di vista “ fisico ”: una rete neurale è un processore distribuito costituito dalla interconnessione di unità computazionali elementari ( neuroni ) con due caratteristiche fondamentali:∗ • la “conoscenza” è acquisita dall’ambiente esterno attraverso un processo di “ apprendimento ” o di “ adattamento ” • la conoscenza è immagazzinata nei parametri della rete e, in particolare, nei “ pesi ” associati alle connessioni. Il “ connessionismo ” si contrappone alla concezione “ logico-simbolica ” tipica della Intelligenza Artificiale.† ∗ cfr. S. Haykin, Neural Networks, Prentice Hall,1999 † cfr. D. Parisi, Intervista sulle reti neurali, Il Mulino, 1989 3 Da un punto di vista “ matematico ” ∗ : data una funzione G : X → Y, nota attraverso un insieme di coppie {(xp, G(xp)) : xp ∈ X, p = 1, . . . , P } una rete neurale è un particolare modello di approssimazione di G: F (·, w) : X → Y dipendente da un vettore di parametri w (tipicamente nonlineare rispetto ai parametri). Da un punto di vista “ statistico ”†, una rete neurale è un particolare modello di classificazione o di regressione ( non lineare ). ∗ sulla matematica dell’approssimazione “neurale” cfr.: A.Pinkus, Approximation Theory of the MLP model in Neural Networks, Acta Numerica, 1999, pp. 143-195 † per un inquadramento delle reti neurali nell’ambito dei metodi di inferenza statistica cfr. T.Hastie, R.Tibshirani and J.Friedman, The Elements of Statistical Learning. Data mining, Inference and Prediction, Springer 2001 4 Il neurone formale Modello semplificato del neurone biologico proposto da McCulloch e Pitts (1947). Dispositivo a soglia che ha • uscita 1 se la somma algebrica pesata degli ingressi supera un valore di soglia θ, • uscita -1 altrimenti. Ossia y = h M wi x i − θ i=1 dove: • y ∈ {−1, 1} uscita • xi ∈ R ingressi (anche xi ∈ {0, 1}) • wi ∈ R pesi • θ∈R soglia • h : R → R funzione di attivazione: 1 t≥0 h(t) = . −1 t < 0 Il neurone formale può realizzare le operazioni logiche NOT, AND, OR. 5 Schema di neurone formale 6 Si può porre y(x) = sign(wT x − θ). Fissati w, θ, il neurone può essere interpretato come un classificatore lineare , che assegna il vettore x alla classe A oppure alla classe B in base al valore di y(x), ossia, ad es.: x ∈ A se y(x) = 1, x ∈ B se y(x) = −1. I parametri w, θ possono essere determinati a partire da un insieme di campioni xp di cui è nota la classificazione dp ∈ {−1, 1}, risolvendo (se possibile) rispetto a (w, θ) il sistema (xp)T w − θ ≥ 0, se xp ∈ A, (xp)T w − θ < 0, se xp ∈ B. p = 1, . . . , P. Ci si può ricondurre alla soluzione di un sistema di disequazioni lineari in w, θ che ammette soluzione se e solo se Conv({xp : dp = 1})∩Conv({xp : dp = −1}) = ∅. 7 Insiemi di campioni linearmente separabili. Il neurone (addestrato sui campioni) definisce un iperpiano di separazione. 8 Una rete costituita da un singolo strato di neuroni formali è stata denominata Perceptron (Rosenblatt) (1962) ed è stato proposto un algoritmo per il calcolo dei pesi, noto come ( “Perceptron learning rule” ) che fornisce in un numero finito di iterazioni i parametri w, θ se i campioni sono linearmente separabili, aggiustando i pesi in corrispondenza a ciascun esempio. L’algoritmo è riconducibile a un metodo di rilassamento per la soluzione iterativa di sistemi di disequazioni lineari (Agmon(1954), Motzkin - Schoenberg(1954)). La complessità è esponenziale e si può avere non convergenza se i campioni appartengono a insiemi non separabili linearmente. Il problema può essere risolto in tempo polinomiale utilizzando un metodo interno di programmazione lineare per risolvere un problema di ammissibilità oppure per minimizzare il massimo errore o la somma dei valori assoluti degli errori. 9 Un’impostazione alternativa è quella di sostituire la funzione di attivazione sign con una funzione continuamente differenziabile g di tipo sigmoidale, ossia una funzione monotona crescente tale che: lim g(t) = −1, t→−∞ lim g(t) = 1, t→∞ come, ad esempio et − e−t , tanh(t) = t e + e−t e minimizzare l’errore quadratico. Gli algoritmi utilizzabili sono casi particolari di quelli che verranno considerati in seguito. 10 Le limitazioni del Perceptron sono state messe in luce da Minsky e Papert (1969), che hanno mostrato l’esistenza di semplici problemi di classificazione che non possono essere risolti dal Perceptron. Un esempio noto è il problema dell’OR esclusivo (XOR). L’effetto del libro di Minsky e Papert è stato quello di far decadere l’interesse iniziale verso le reti neurali. Era noto che le limitazioni del perceptron potevano essere superate, in linea di principio, collegando fra loro in modo opportuno dei neuroni formali o effettuando delle trasformazioni non lineari degli ingressi. Non erano tuttavia disponibili algoritmi di addestramento per il calcolo dei parametri. 11 Una rinascita dell’interesse verso le reti neurali è stata in gran parte determinata dal lavoro di Rumelhart, Hinton e Williams (1986) che hanno proposto un algoritmo di addestramento per reti di neuroni formali, noto come metodo della backpropagation, essenzialmente basato sul metodo del gradiente. Gli sviluppi successivi hanno portato allo sviluppo di un’area di ricerca interdisciplinare, in cui sono stati integrati contributi di vari settori.∗ In particolare sono stati riscoperti e sviluppati risultati significativi sulla statistica dell’apprendimento (Vapnik-Chervonenkis) (1971). ∗ Tra i (numerosi) libri a carattere introduttivo si segnalano: C.Bishop, Neural Networks for Pattern Recognition, Oxford, 1995 S.Haykin, Neural Networks, Prentice Hall, 1999 12 Classificazione delle architetture Due classi principali: Reti feedforward Reti acicliche strutturate in diversi strati. Si distinguono: • Reti feedforward a un solo strato: Perceptron; • Reti feedforward multistrato Multilayer Perceptron (MLP); Reti “Radial Basis Functions” (RBF) (1 solo strato nascosto); (“Reti di Kolmogorov”)(?). Reti ricorsive È presente almeno un ciclo di controreazione (feedback). Molte strutture diverse. Tipicamente dinamiche . 13 Nel seguito si farà riferimento solo a reti feedforward 14 Apprendimento e generalizzazione L’apprendimento è il processo mediante il quale vengono determinati i parametri liberi di una rete. Due paradigmi fondamentali: • apprendimento supervisionato: i parametri della rete vengono determinati, attraverso un processo di addestramento, sulla base di un insieme ( training set ) di esempi, consistenti in coppie {(xp, dp)} (ingresso, uscita desiderata) • apprendimento non supervisionato la rete è dotata di capacità di auto-organizzazione ed è in grado di classificare gli ingressi attraverso tecniche di clustering Nel seguito si farà riferimento solo a problemi di apprendimento supervisionato 15 La capacità di generalizzazione di una rete addestrata è la capacità di fornire una risposta corretta a nuovi ingressi (non presentati nella fase di addestramento). Lo scopo ultimo dell’addestramento è quello di costruire un modello del processo che genera i dati e non di interpolare i dati di training. Per una data struttura, la complessità del modello (numero di parametri liberi) deve essere posta in relazione con il numero di campioni disponibili. Per uno studio teorico della generalizzazione nei processi di apprendimento supervisionato cfr.: H.White, Artificial Neural Networks, Blackwell 1992 N. Vapnik, The Nature of Statistical Learning Theory, Springer 1995 N. Vapnik, Statistical Learning Theory, Wiley 1998 16 Metodi di ottimizzazione per l’addestramento I problemi di addestramento supervisionato per reti feedforward possono essere ricondotti a problemi di ottimizzazione . Sono di interesse: • metodi di ottimizzazione non vincolata (MLP,RBF) metodi di tipo batch: (i parametri vengono aggiornati dopo una presentazione di tutto il training set) – metodi per problemi fortemente nonlineari e malcondizionati (metodi non monotoni) – metodi per problemi a grande dimensione – metodi di decomposizione – metodi iterativi per problemi di minimi quadrati metodi incrementali (on-line) (i parametri vengono aggiornati in corrispondenza a ogni singolo pattern del training set) –approssimazione stocastica –filtro di Kalman –metodi ibridi batch-online –metodi di decomposizione dell’errore • – – – metodi programmazione quadratica (SVM) metodi interni metodi di proiezione metodi di decomposizione • metodi di ottimizzazione globale 17 Applicazioni delle reti neurali Applicazioni tipiche delle reti neurali: • classificazione – riconoscimento di configurazioni – elaborazione di immagini – sistemi di allarme – diagnostica medica – problemi di data mining • approssimazione di funzioni – modellistica di processi industriali complessi – progettazione ottima – analisi di serie temporali – previsioni finanziarie • controllo di processi • Robotica • controllo ottimo (Zoppoli) • filtraggio • calcolo –euristiche per problemi combinatori • modellistica del sistema nervoso 18 Reti neurali e Ricerca Operativa Numeri speciali sulle Reti Neurali su: Computers and Operations Research, The Journal of Intelligent Manufacturing, Decision Support Systems, International Journal of Forecasting, European Journal of Operations Research. Principali settori di interesse: Modellistica di problemi di Management Firm Failure Prediction Bank Failure Prediction Investment Analysis Human Resource Management Stock Price Prediction Property Pricing Student Success Marketing Project Management Decision Making Exchange Rate Prediction Portfolio Management... 19 Euristiche neurali per problemi di ottimizzazione Combinatorial Optimization Traveling Salesman Problem Shortest Path Problem Linear Programming Mixed Integer Programming Nonlinear Programming Vehicle Routing Multi-Criteria Decision Making Markov Analysis Scheduling Manufacturing Facility Location Distance Estimation Matching Model Analysis Process Control Selection of an OR Technique Neuro-dynamic Programming (Bertsekas-Tsitslikis) Metodi di ottimizzazione per l’addestramento 20 21 “Neural network researchers constantly reinvent the wheel known to statisticians for decades” “Neural networks do what every good “new” theory does: they encompass and generalise the previous statistical techniques” 22