Reti Neurali Veronica Piccialli∗ Roma 10 gennaio 2010 ∗ Università degli Studi di Roma Tor Vergata 1 / 49 Reti neurali Introduzione • Reti neurali Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Rete neurale: processore distribuito ispirato al funzionamento del sistema nervoso negli organismi evoluti, costituito dalla interconnessione di unità computazionali elementari (neuroni) Caratteristica fondamentale: la conoscenza è acquisita dall’ambiente tramite un processo di apprendimento e viene immagazzinata nei parametri della rete che sono i pesi associati alle connessioni. Metodi on-line Reti RBF Addestramento RBF 2 / 49 Perceptron Introduzione Perceptron • Perceptron • Addestramento I • Addestramento II • Limiti del perceptron Il Perceptron esegue una trasformazione non lineare degli ingressi x e fornisce un’uscita scalare (nella versione di Mc Cullock e Pitts 43) y(x) = sgn(wT x − θ) Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Scegliendo i pesi in modo appropriato è in grado di realizzare le funzioni and, or, not. Nel ’62 Rosenblatt lo reinterpreta come classificatore lineare: la funzione discriminante è la funzione lineare wT x − θ Addestramento RBF 3 / 49 Addestramento I Introduzione Sia dato un training set Perceptron • Perceptron • Addestramento I • Addestramento II • Limiti del perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Addestramento RBF T = {(xp , y p ) : x ∈ Rn , y p ∈ {−1, 1}, p = 1, . . . , P }, diviso in due insiemi A = {xp : y p = 1} B = {xp : y p = −1} Addestrare il perceptron vuol dire individuare i pesi w e la soglia θ tali che: wT xp − θ > 0 ∀xp ∈ A wT xp − θ < 0 ∀xp ∈ B p Si introduce un ingresso fittizio x0 = −1, p = 1, . . . , P e si ridefinisce w = (θ w), il sistema diventa wT xp > 0 ∀xp ∈ A wT xp < 0 ∀xp ∈ B 4 / 49 Addestramento II Introduzione Perceptron • Perceptron • Addestramento I • Addestramento II • Limiti del perceptron Reti multistrato Dati (xp , y p ) ∈ T , p = 1, . . . , P Iniz w(0) = 0, k = 0, nclass = 0 While nclass < P Creazione di una rete multistrato For p = 1, . . . , P , Richiami di ottimizzazione non vincolata If sgn(wT xp ) = y p then nclass = nclass + 1 Metodi on-line Reti RBF else Addestramento RBF w(k + 1) = w(k) + y p xp k =k+1 End if End for If nclass < P , nclass = 0 End do 5 / 49 Limiti del perceptron Introduzione Perceptron • Perceptron • Addestramento I • Addestramento II • Limiti del perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Se i due insiemi A e B sono linearmente separabili, l’algoritmo converge. Si potrebbe addestrare risolvendo il sistema di disequazioni con metodi ai punti interni. Oppure sostituendo la funzione sgn con una qualunque funzione ρ monotona crescente tale che: lim ρ(t) = −1, t→−∞ lim ρ(t) = 1 t→∞ e minimizzare poi la funzione di errore quadratico sul training: Reti RBF Addestramento RBF P 1X p E(w) = (y − ρ(wT xp ))2 2 p=1 Non è in grado di rappresentare funzioni anche semplici come lo XOR (OR esclusivo o somma modulo 2, restituisce 1 se e solo se uno solo dei due operandi 1, mentre restituisce 0 in tutti gli altri casi). Si può solo garantire errore nullo sul training set, non ci sono garanzie sulla capacità di generalizzazione. 6 / 49 Definizione Introduzione Sono architetture costituite da più strati di neuroni connessi in cascata: Perceptron Reti multistrato • Definizione • Struttura • Esempio • Funzioni di attivazione • Rete a due strati • Proprietà Creazione di una rete multistrato Richiami di ottimizzazione non vincolata consentono di approssimare qualunque funzione continua su un insieme compatto (sotto opportune ipotesi sulle funzioni di attivazione); risolvono problemi di classificazione anche di insieme non linearmente separabili; l’addestramento è più complesso. Metodi on-line Reti RBF Addestramento RBF 7 / 49 Struttura Introduzione L’architettura si definisce tramite: Perceptron Reti multistrato • Definizione • Struttura • Esempio • Funzioni di attivazione • Rete a due strati • Proprietà Creazione di una rete multistrato Richiami di ottimizzazione non vincolata ⊳ insieme di n nodi in ingresso associati agli n ingressi della rete ⊳ un insieme di neuroni formali organizzati in L ≥ 2 strati di cui: - L − 1 strati nascosti: le uscite fanno da ingresso ad altri neuroni della rete - uno strato di uscita costituito da K ≥ 1 neuroni le cui uscite sono le uscite della rete Metodi on-line Reti RBF Addestramento RBF ⊳ Un insieme di archi orientati e pesati che costituiscono le connessioni interneurali e quelle con i nodi di ingresso. ⊳ NON esistono connessioni tra neuroni dello stesso strato nè archi all’indietro 8 / 49 Esempio L = 3 strati Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata x1 2 ingressi • Definizione • Struttura • Esempio • Funzioni di attivazione • Rete a due strati • Proprietà y(x) x2 strato uscita K = 1 Metodi on-line Reti RBF Addestramento RBF 2 strati nascosti Dati due neuroni i dello strato l − 1 e j dello strato l si ha i l wji j 9 / 49 Funzioni di attivazione Introduzione Perceptron Reti multistrato • Definizione • Struttura • Esempio • Funzioni di attivazione • Rete a due strati • Proprietà (l) Ogni neurone j ha una funzione di attivazione gj : R ⇒ R che prende in ingresso la combinazione pesata degli ingressi aj , mentre wj0 è la soglia. Per il primo strato si ha: (1) aj k=1 Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Addestramento RBF (1) wjk xk − wj0 zj1 = gj (aj ), Per lo strato l generico si ha: Metodi on-line Reti RBF = n X (l) aj = l−1 N X k=1 (l) (l) l−1 l−1 l−1 zjl = gj (aj ), zk − wj0 wjk dove N l è il numero di neuroni dello strato nascosto l. Tipici esempi di funzioni di attivazione (che sono di solito differenziabili e sigmoidali) sono: 1 1 − e−t g(t) = , c > 0 g(t) = 1 + e−ct 1 + e−t 10 / 49 Rete a due strati Introduzione Consideriamo la rete a 2 strati con uno strato nascosto e uscita lineare: Perceptron Reti multistrato • Definizione • Struttura • Esempio • Funzioni di attivazione • Rete a due strati • Proprietà Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF w11 x1 w21 w31 g + v1 θ1 -1 w12 x2 w22 w32 Addestramento RBF g + v2 + y(x) θ2 -1 g + v3 θ3 -1 y(x) = 3 X k=1 vk 2 X j=1 g (wkj xj − θj ) 11 / 49 Proprietà Introduzione Perceptron Reti multistrato • Definizione • Struttura • Esempio • Funzioni di attivazione • Rete a due strati • Proprietà Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Una rete multistrato a 2 strati con uno strato nascosto e uscita lineare è un approssimatore universale: approssima qualunque funzione continua su un insieme compatto (sotto l’ipotesi che g sia continua e non sia un polinomio) Approssimare una funzione f (x) su un insieme compatto Ω vuol dire che, per un qualunque ǫ > 0, max |f (x) − y(x)| < ǫ x∈Ω Le reti multistrato possono essere usate sia per problemi di regressione che per problemi di classificazione. Metodi on-line Reti RBF Addestramento RBF 12 / 49 Struttura e addestramento Introduzione Determinare una rete multistrato con n ingressi e K uscite implica due passi: Perceptron Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione strutturale • Tecnica di Regolarizzazione 1. Scegliere l’architettura della rete: numero di strati, numero di neuroni per ogni strato 2. addestrare la rete: scegliere w e θ per ogni strato. Addestrare la rete vuol dire risolvere il problema: • Early stopping • Addestramento • Classi di algoritmi • Metodi batch min E(w) = w∈ℜm Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF P X Ep (w) p=1 dove Ep (w) è il termine di errore relativo al campione p del training set, che misura la distanza tra l’uscita desiderata y p e l’uscita prodotta dalla rete, ad es.: Addestramento RBF Ep = 1 ky(xp , w) − y p k2 2 Supponiamo Ep ∈ C 1 13 / 49 Scelta dell’architettura Introduzione Perceptron Scopo dell’addestramento non è interpolare i dati del training set, ma ottenere una buona capacità di generalizzazione. Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione strutturale • Tecnica di Regolarizzazione • Early stopping • Addestramento • Classi di algoritmi • Metodi batch Richiami di ottimizzazione non vincolata Metodi on-line Uno dei problemi più difficili è quello di stabilire la complessità del modello, e di conseguenza il numero di parametri liberi, sulla base dei dati disponibili per l’addestramento. Per le reti multistrato esistono delle stime teoriche del numero di campioni del training set necessari per garantire una buona capacità di generalizzazione. Ma sono spesso inadeguate, si usano quindi tecniche euristiche per scegliere la struttura della rete e dimensionare il training set. Esistono due strategie fondamentali: 1. Stabilizzazione strutturale Reti RBF Addestramento RBF 2. Tecnica di regolarizzazione 14 / 49 Stabilizzazione strutturale Introduzione Perceptron Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione strutturale • Tecnica di Regolarizzazione • Early stopping • Addestramento • Classi di algoritmi • Metodi batch Richiami di ottimizzazione non vincolata 1. Si dividono i dati in 3 insiemi: training set validation set test set 2. Si sceglie il numero di unità facendo crescere/diminuire il numero di neuroni 3. Per ogni numero di neuroni, si addestra la rete corrispondente usando sempre il training set. Metodi on-line Reti RBF Addestramento RBF 4. Si valuta l’architettura scelta tramite il validation set (cross validation) e si sceglie quella che dà l’errore più basso. 5. La migliore architettura viene valutata tramite il test set. 15 / 49 Tecnica di Regolarizzazione Introduzione Perceptron Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione strutturale • Tecnica di Regolarizzazione • Early stopping • Addestramento • Classi di algoritmi • Metodi batch Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF 1. Si dividono i dati in 3 insiemi: training set validation set test set 2. Si aggiunge alla funzione di errore un termine di penalità nella norma di w (equivale a fare ipotesi di regolarità sulle funzioni realizzate dalla rete): E(w) = P X Ep (w) + γkwk2 p=1 Addestramento RBF 3. Per diversi valori di γ , si addestra la rete usando sempre il training set. 4. Si sceglie il valore migliore di γ tramite cross validation. 5. La rete risultante viene valutata tramite il test set. 16 / 49 Early stopping Introduzione Un’alternativa alla regolarizzazione è l’early stopping: Perceptron Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione 1. Si interrompe prematuramente la minimizzazione della funzione di errore. 2. Si valuta la rete sul validation set. strutturale • Tecnica di Regolarizzazione 3. All’inizio l’errore sul validation set diminuisce al migliorare dell’errore sul training. • Early stopping • Addestramento • Classi di algoritmi • Metodi batch 4. Se si ha il fenomeno dell’overfitting, l’errore sul validation set sale. A questo punto si interrompe il processo. Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Addestramento RBF 17 / 49 Addestramento Introduzione Perceptron Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione strutturale • Tecnica di Regolarizzazione • Early stopping • Addestramento • Classi di algoritmi • Metodi batch Richiami di ottimizzazione non vincolata Addestrare una rete multistrato richiede in ogni caso di risolvere (più volte) il problema di ottimizzazione non vincolata (con o senza termine di regolarizzazione): min E(w) (1) w∈R Un algoritmo efficiente è quindi uno strumento essenziale, e deve tenere conto delle difficoltà intrinseche del problema (1): 1. forti non linearità di E(w) 2. dimensioni di w elevate e numero di campioni P molto grande 3. possibile mal condizionamento dell’hessiana di E(w) Metodi on-line Reti RBF 4. presenza di minimi locali non globali Addestramento RBF 5. insiemi di livello non compatti (salvo caso in cui si ha il termine di regolarizzazione) 18 / 49 Classi di algoritmi Introduzione Esistono due classi di algoritmi di addestramento: Perceptron Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione strutturale • Tecnica di Regolarizzazione • Early stopping • Addestramento • Classi di algoritmi • Metodi batch 1. metodi batch: ad ogni passo i pesi vengono aggiornati utilizzando tutti i campioni del training set (metodi di ottimizzazione non vincolata) 2. metodi on-line: ad ogni passo i pesi vengono aggiornati tenendo conto di un solo campione del training set (corrispondono ai metodi incrementali, che utilizzano cioè solo un’informazione parziale sulla funzione obiettivo e le sue derivate). Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Addestramento RBF 19 / 49 Metodi batch Introduzione Perceptron Reti multistrato Creazione di una rete multistrato • Struttura e addestramento • Scelta dell’architettura • Stabilizzazione strutturale • Tecnica di Regolarizzazione • Early stopping • Addestramento • Classi di algoritmi • Metodi batch ⊳ Sono riconducibili a tecniche di ottimizzazione non vincolata, garantiscono convergenza a punti stazionari (buona riduzione dell’errore rispetto alla stima iniziale) ⊳ Tipicamente utilizzano soltanto le derivate prime (o troppo dispendiosi) ⊳ Sono utilizzabili solo fuori linea, e si deve avere a disposizione l’intero training set Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Addestramento RBF 20 / 49 Generalità Introduzione Il generico algoritmo di minimizzazione non vincolato si basa sull’iterazione: Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione wk+1 = wk + ηk dk I diversi algoritmi sono caratterizzati dalla scelta della direzione e dalla scelta del passo (linesearch) La direzione dk è una direzione di discesa (∇E(wk )T dk < 0) I La scelta del passo ηk lungo la direzione dk serve a garantire sufficiente spostamento e sufficiente riduzione della funzione obiettivo • BFGS • L-BFGS • L-BFGS II (Quasi) tutti i metodi richiedono il calcolo di ∇w E(w) I • Scelta della direzione Metodi on-line Esistono delle formule efficienti per il calcolo di ∇w E(w) backpropagation Reti RBF Addestramento RBF 21 / 49 Armijo Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione S0 Dati δ ∈ (0, 1), γ ∈ (0, 1/2), si sceglie ∆k , si pone η = ∆k , j = 0 S1 Se E(wk + ηdk ) ≤ E(wk ) + ηγ∇E(wk )T dk si pone ηk = η e stop. S2 η = δη , j = j + 1 e si torna al passo S1 I • Scelta della direzione I • BFGS • L-BFGS • L-BFGS II Metodi on-line Reti RBF Addestramento RBF Si deve avere dk di discesa e ∆k ≥ 1 σ kdk k T ∇E(wk ) dk kdk k dove σ : R+ → R+ è una funzione di forzamento (σ : [0, ∞) ⇒ [0, ∞) si dice di forzamento se per qualunque successione {tk } ⊂ [0, ∞) tale che limk→∞ σ(tk ) = 0 si ha lim→∞ tk = 0). 22 / 49 Goldstein e Wolfe Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione Goldstein Il passo deve soddisfare, dati 0 < γ1 < γ2 < 1/2 E(wk + ηdk ) ≤ E(wk ) + ηγ1 ∇E(wk )T dk E(wk + ηdk ) ≥ E(wk ) + ηγ2 ∇E(wk )T dk Wolfe Il passo deve soddisfare, dati 0 < γ1 < γ2 < 1/2 I • Scelta della direzione I • BFGS • L-BFGS • L-BFGS II Metodi on-line E(wk + ηdk ) ≤ E(wk ) + ηγ1 ∇E(wk )T dk ∇E(wk + ηdk )T dk ≥ γ2 ∇E(wk )T dk Serve a garantire una riduzione della pendenza sufficiente. Reti RBF Addestramento RBF 23 / 49 Scelta della direzione I Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata 1. Backpropagation: dk = −∇w E(w) (metodo del gradiente): di solito combinato con line search di tipo Armijo. Converge globalmente, ma lentamente. Si è cercato di velocizzarlo con euristiche quali (momentum updating rule corrispondente all’heavy ball method): wk+1 = wk − η∇E(wk ) + β(wk − wk−1 ) • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione I • Scelta della direzione I • BFGS • L-BFGS • L-BFGS II 2. Direzioni coniugate: dk = Metodi on-line Reti RBF Addestramento RBF −∇E(wk ) −∇E(wk ) + β k dk−1 se k = 0 se k ≥ 1 con diverse possibilità per βk : k βFR k∇E(wk )k2 = k∇E(wk−1 )k2 k βPR ∇E(wk )T (∇E(wk ) − ∇E(wk−1 )) = k∇E(wk−1 )k2 24 / 49 Scelta della direzione I Introduzione Perceptron 3. Newton (non praticabile per addestramento): Reti multistrato 2 dk = − ∇ E(wk ) Creazione di una rete multistrato Richiami di ottimizzazione non vincolata • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione I dk = −Hk ∇Ewk I Metodi on-line Reti RBF Addestramento RBF ∇E(wk ) 4. Quasi Newton (approssimazione metodo di Newton senza calcolare l’hessiano). • Scelta della direzione • BFGS • L-BFGS • L-BFGS II −1 con Hk approssimazione dell’inversa della matrice hessiana. (i) BFGS (ii) L-BFGS 25 / 49 BFGS Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione wk+1 = wk − ηk H k ∇E(wk ), con ηk che soddisfa le condizioni di Wolfe e H k soddisfa Hk y k = s k , y k = ∇E(wk+1 ) − ∇E(wk+1 ), sk = wk+1 − wk La matrice H k è aggiornata usando la coppia (y k , sk ) secondo la formula H k+1 = (V k )T H k V k + ρk sk (sk )T , I • Scelta della direzione I • BFGS • L-BFGS • L-BFGS II Metodi on-line con ρk = 1 k k k k T , V = I − ρ y (s ) k T k (y ) s Reti RBF Addestramento RBF La matrice H k è in generale densa, può quindi diventare inutilizzabile a grandi dimensioni. 26 / 49 L-BFGS Introduzione Rientra tra i metodi quasi Newton a memoria limitata, ovvero Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione 1. Una versione modificata di H k è memorizzata implicitamente utilizzando un numero fissato (e piccolo) m di coppie {y i , si } 2. Si può calcolare in modo efficiente il prodotto H k ∇E(wk ): Sia q k = ∇E(wk ) I For i = k − 1, . . . , k − m • BFGS • L-BFGS • L-BFGS II End for I • Scelta della direzione Metodi on-line Reti RBF Addestramento RBF poni αi = ρi (si )T q i+1 , q i = q i+1 − αi y i Poni r k−m−1 = H0k q k−m For i = k − m, . . . , k − 1 poni β i = ρi (y i )T r i−1 , r i = r i−1 + si (αi − β i ) End for H k ∇E(wk ) = r k−1 27 / 49 L-BFGS II Introduzione L’algoritmo complessivo è Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata • Generalità • Armijo • Goldstein e Wolfe • Scelta della direzione I • Scelta della direzione I • BFGS • L-BFGS • L-BFGS II Metodi on-line Reti RBF For k = 0, . . . 1. Scegli H0k 2. calcola dk = −H k ∇E(wk ) (secondo la slide precedente) 3. Poni wk+1 = wk + ηk dk dove ηk soddisfa le condizioni di Wolfe 4. Se k > m elimina la coppia {sk−m , y k−m } dalla memoria 5. Calcola e memorizza sk e y k L’algoritmo L-BFGS è uno dei più efficienti per la soluzione di problemi a larga scala come quelli di addestramento di una rete multistrato Addestramento RBF 28 / 49 Metodi on-line Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line • Metodi on-line • Backpropagation on-line • Backpropagation on-line • Metodi globali ⊳ Il vettore w viene aggiornato iterativamente in corrispondenza a ogni singolo termine Ep (w) della funzione di errore senza formare la funzione complessiva E(w). ⊳ Per problemi di apprendimento in tempo reale sono l’unica opzione possibile (on-line learning). ⊳ La convergenza può essere caratterizzata solo in termini probabilistici. ⊳ Presentano alcuni vantaggi anche nell’addestramento fuori linea: Reti RBF Addestramento RBF 1. a grande distanza dalla soluzione può non essere conveniente calcolare tutta la funzione e le sue derivate: conviene ridurre rapidamente un singolo termine di errore 2. se il training set e il numero di campioni sono molto elevati il calcolo di E e ∇E può essere troppo dispendioso 3. il training set potrebbe essere ridondante 4. la componente di randomicità di un algoritmo on-line può permettere di evitare minimi locali 29 / 49 Backpropagation on-line Introduzione Il primo esempio di metodo on-line è l’addestramento del perceptron Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Per le reti multistrato il metodo più noto è la versione on-line della backpropagation, ed è descritto da un’iterazione del tipo wk+1 = wk − ηk ∇Ep(k) (wk ) Metodi on-line • Metodi on-line • Backpropagation on-line • Backpropagation on-line • Metodi globali Reti RBF Addestramento RBF Per ottenere la convergenza, tutti i termini Ep devono essere considerati ciclicamente, ovvero p(k) = k(modP ) + 1, e il passo ηk deve essere scelto in modo da soddisfare: ∞ X k=0 ηk = ∞, ∞ X (ηk )2 < ∞ k=0 Un esempio di scelta di ηk è ηk = c/k con c > 0. Esiste anche la versione on-line della momentum updating rule (con proprietà di convergenza analoghe): wk+1 = wk − ηk ∇Ep(k) (wk ) + β(wk − wk−1 ) 30 / 49 Backpropagation on-line Introduzione Perceptron La principale limitazione è la lentezza (dovuta alla scelta del passo che deve tendere a zero con una legge prefissata) Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line • Metodi on-line • Backpropagation on-line • Backpropagation on-line • Metodi globali Nell’addestramento fuori-linea un compromesso è l’uso di tecniche ibride on-line-batch chiamate bold driver methods: la backpropagation on-line è usata per uno o più cicli di iterazioni e il passo è ricalcolato ciclicamente usando la funzione di errore complessiva (esistono risultati di convergenza). Queste tecniche però richiedono il calcolo di E e ∇E . Un altro tipo di compromesso si ottiene passando gradualmente dalla backpropagation on-line a quella batch, per accelerare la convergenza. Reti RBF Addestramento RBF 31 / 49 Metodi globali Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line • Metodi on-line • Backpropagation on-line • Backpropagation on-line • Metodi globali Reti RBF Addestramento RBF La presenza di minimi locali non globali della funzione di errore è stata provata per alcuni specifici problemi test e rappresenta una delle difficoltà dei problemi di addestramento NB: non esistono minimi locali non globali nel caso di problemi di classificazione di insiemi linearmente separabili. Spesso la difficoltà maggiore è la presenza di plateau. In realtà quello che si vuole è un errore ragionevolmente basso sul training set che garantisca una buona capacità di generalizzazione. Per questo i metodi globali (troppo onerosi a grandi dimensioni) non sono molto usati. A volte si utilizza una prima fase stocastica per eliminare dei minimi non interessanti e poi si usano metodi locali. 32 / 49 Funzioni di base radiali Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali • Interpolazione II • Reti RBF regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio Problema di interpolazione: dati P punti {xp ∈ Rn , p = 1, . . . , P } e un corrispondente insieme di numeri reali {y p ∈ R, p = 1, . . . , P } determinare una funzione y : Rn ⇒ R in una classe di funzioni assegnate tale che y(xp ) = y p , p = 1, . . . , P Una particolare tecnica di interpolazione consiste nella scelta di y della forma: y(x) = P X p=1 wp φ (kx − xp k) dove φ : R+ ⇒ R+ è una funzione continua, chiamata funzione di base radiale. I coefficienti wp sono detti pesi e i i punti di interpolazione centri. Addestramento RBF 33 / 49 Funzioni di base radiali Introduzione Esempi di funzioni di base radiali sono: Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali • Interpolazione II • Reti RBF regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio Addestramento RBF 1. φ(r) = r lineare 2 2. φ(r) = e−r gaussiana 2 3. φ(r) = r + σ 2 4. φ(r) = r + σ 2 −1/2 2 1/2 multiquadrica inversa multiquadrica diretta dove r ≥ 0 e σ è una costante positiva. Scelta la funzione φ, usando l’espressione di y(x) si ottiene la condizione di interpolazione: Φw = y dove y = (y 1 , . . . , y P )T , Φ (matrice di interpolazione) è la matrice P × P il cui generico elemento è Φij = φ kxi − xj k 34 / 49 Interpolazione II Introduzione Perceptron Sotto opportune ipotesi sui punti di interpolazione (che devono essere tutti distinti), si dimostra che la matrice Φ è non singolare. Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata In questo caso si dimostra l’invertibilità della matrice Φ per tutte le scelte di φ riportate, e per la gaussiana e per la multiquadrica inversa si dimostra che le corrispondenti matrici di interpolazione sono definite positive. Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali • Interpolazione II • Reti RBF regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio Addestramento RBF 35 / 49 Reti RBF regolarizzate Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali • Interpolazione II • Reti RBF regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio Addestramento RBF Le tecniche di regolarizzazione sono studiate nell’ambito dei problemi di approssimazione con insieme di campioni disponibili finito. Supponiamo di voler approssimare una funzione f : Rn ⇒ R, e sia dato il training set T = {(xp , y p ), p = 1, . . . , P, y p = f (xp )} Esistono infinite funzioni che lo risolvono e ci possono essere errori di misura nel training set. Le tecniche di regolarizzazione determinano la funzione approssimante minimizzando un funzionale costituito da due termini: il primo misura la distanza da T , il secondo penalizza la violazione delle condizioni di regolarità sull’approssimante (sfrutta le informazioni note): P 1X p 1 p 2 E(y) = E1 (y) + E2 (y) = [y − y(x )] + λkPyk2 2 p=1 2 dove λ è il parametro di regolarizzazione e P è un operatore differenziale che contiene le informazioni che si hanno sulla funzione da approssimare. 36 / 49 RBF regolarizzate Introduzione Perceptron Sotto opportune ipotesi su P , si dimostra che la y(x) che minimizza E(y) è Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali • Interpolazione II • Reti RBF regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio y(x) = P X p=1 wp φ(kx − xp k) con φ funzione di base radiale e w è soluzione del sistema lineare: (Φ + λI)w = y Questa funzione y può essere interpretata come l’uscita di una rete feedforward in cui la funzione di attivazione dei neuroni dello strato nascosto è la funzione φ. Addestramento RBF 37 / 49 RBF regolarizzate Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali • Interpolazione II • Reti RBF 1. hanno un solo strato nascosto 2. i neuroni dello strato nascosto hanno come funzione di attivazione una funzione di base radiale e l’argomento della funzione è data dalla distanza tra il vettore di ingresso e il centro dell’unità 3. il numero di neuroni dello strato nascosto è pari al numero di elementi del training set P 4. lo strato di uscita ha un unico neurone che effettua una combinazione lineare delle uscite dei neuroni dello strato nascosto. regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio Addestramento RBF Per ogni funzione continua f definita su un sottoinsieme compatto S di Rn esiste PP p una rete RBF regolarizzata ovvero una funzione y(x) = w φ(kx − x k) p p=1 tale che per ogni x ∈ S e per ogni ǫ > 0 risulta |f (x) − y(x)| < ǫ 38 / 49 RBF generalizzate Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali • Interpolazione II • Reti RBF regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio La corrispondenza uno a uno tra elementi del training set e i termini della funzione y(x) è troppo onerosa perchè determinare w richiede la soluzione di un sistema P × P che potrebbe essere proibitivo. Per questo motivo sono state introdotte le reti RBF generalizzate in cui il numero N dei neuroni dello strato nascosto è di molto minore di P e i centri ci non coincidono necessariamente con i vettori xp del training set. La funzione approssimante diventa quindi: y(x) = N X i=1 wi φ(kx − ci k) Devono essere determinati sia w che i centri, quindi il legame ingresso-uscita dipende in modo nonlineare dai parametri come nelle reti multistrato Addestramento RBF Le RBF generalizzate includono le RBF regolarizzate, quindi sono approssimatori universali 39 / 49 Esempio Introduzione Perceptron Reti multistrato Creazione di una rete multistrato x1 φ(x − c1 ) w1 Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF • Funzioni di base radiali • Funzioni di base radiali x2 φ(x − c2 ) w2 + y(x) • Interpolazione II • Reti RBF regolarizzate • RBF regolarizzate • RBF regolarizzate • RBF generalizzate • Esempio φ(x − c3 ) w3 Addestramento RBF 40 / 49 Addestramento Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Addestrare una rete RBF generalizzata vuol dire individuare il vettore w ∈ RN e il vettore c ∈ RnN sulla base del training set Sono possibili due diverse strategie di addestramento: 1. scelta non supervisionata dei centri e supervisionata dei pesi 2. scelta supervisionata sia dei centri che dei pesi Reti RBF Addestramento RBF • Addestramento • Scelta non supervisionata dei centri • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi • Proprietà 41 / 49 Scelta non supervisionata dei centri Introduzione Perceptron Si fissano prima i centri o scegliendoli casualmente tra i vettori di ingresso del training set oppure con tecniche di clustering Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Si scelgono poi i pesi w minimizzando la funzione di errore E(w) = P X 1 2 p=1 N X i=1 wi φ(kxp − ci k) − yp !2 ρ + kwk2 , 2 ρ1 > 0 Addestramento RBF • Addestramento • Scelta non supervisionata dei centri • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi • Proprietà Ponendo y = (y 1 , . . . , y P )T e definendo la matrice Φpi = φ(kxp − ci k), la minimizzazione di E(w) si riduce al problema ai minimi quadrati lineari: 2 Φ(c) y . w− min E(w) = √ ρI 0 w Si possono usare metodi diretti (x = (AAT )−1 AT b) se N non è troppo elevato se no metodi iterativi (gradiente coniugato). Svantaggio: non si tiene conto delle uscite y p nella scelta dei centri. 42 / 49 Scelta supervisionata Introduzione Si risolve direttamente il problema non vincolato: Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Addestramento RBF • Addestramento • Scelta non supervisionata dei centri • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi min E(w, c) = w,c P X 1 2 p=1 N X i=1 wi φ(kxp − ci k) − yp !2 + ρ1 ρ2 kwk2 + kck2 , 2 2 con ρ1 , ρ2 > 0. Con questa seconda tecnica si ottengono capacità di generalizzazione migliori, rispetto alla scelta non supervisionata dei centri. Le dimensioni del problema sono notevolmente più elevate: si utilizzano tecniche di decomposizione. • Proprietà 43 / 49 Tecniche di decomposizione Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Si partizionano le variabili in blocchi e si minimizza rispetto al singolo blocco di variabili: se si sta risolvendo il problema minx f (x) si partiziona il vettore x in N B blocchi x1 , . . . , xN B e si definisce k+1 k+1 k k , y , x , . . . , x = arg min f (x . . . , x xk+1 i i+1 NB) 1 i−1 i y Metodi on-line Addestramento RBF In generale, non converge, esiste un controesempio in 3 variabili per il metodo delle coordinate con ricerca di linea esatta. • Addestramento • Scelta non Converge in uno dei seguenti casi: Reti RBF supervisionata dei centri • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi • Proprietà 1. Il vettore delle variabili è decomposto in N B = 2 blocchi 2. la funzione obiettivo f è pseudo-convessa (∀x, y ∈ Rn , x 6= y si ha che ∇f (x)T (y − x) ≥ 0 implica f (y) ≥ f (x)) e insiemi di livello sono compatti 3. la funzione obiettivo f è strettamente convessa rispetto a N B − 2 blocchi. In alternativa esistono metodi di discesa a blocchi in cui non è richiesta la minimizzazione globale rispetto a ogni blocco di variabili. 44 / 49 Decomposizione per RBF Introduzione Un primo schema di decomposizione si ottiene decomponendo il problema Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF P X 1 min E(w, c) = w,c 2 p=1 N X i=1 p wi φ(kx − ci k) − yp !2 ρ2 ρ1 2 + kwk + kck2 , 2 2 rispetto a due blocchi: pesi e centri. (nota: gli insiemi di livello sono compatti) Si iterano due fasi: Addestramento RBF • Addestramento • Scelta non supervisionata dei centri • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi 1. wk+1 risolve il problema dei minimi quadrati lineari in corrispondenza di ck 2. ck+1 viene individuato tramite algoritmo di discesa con ricerca unidimensionale (Armijo) lungo l’antigradiente SI dimostra la convergenza a punti stazionari e che i pesi di uscita corrispondono a un minimo globale nello spazio di w per la data scelta di c. • Proprietà 45 / 49 Decomposizione in 2 blocchi Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Dati. c0 ∈ RnN , w0 ∈ RN , k = 0. While ∇E(wk , ck ) 6= 0 Richiami di ottimizzazione non vincolata Passo 1 Minimizzazione rispetto ai pesi: calcola wk+1 = arg minw E(w, ck ) risolvendo il problema ai minimi quadrati in w. Metodi on-line Reti RBF Addestramento RBF Passo 2 Minimizzazione rispetto ai centri: • Addestramento • Scelta non (a) calcola dk = −∇c E(wk+1 , ck ) supervisionata dei centri • Scelta supervisionata • Tecniche di (b) calcola ηk con una ricerca unidimensionale opportuna (Armijo) decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi • Proprietà (c) scegli ck+1 tale che E(wk+1 , ck+1 ) ≤ E(wk+1 , ck + ηk dk ) Passo 3 k = k + 1 End La sequenza {(wk , ck )} generata ha punti di accumulazione, {E(wk , ck )} converge e ogni punto di accumulazione di {(wk , ck )} è un punto stazionario. 46 / 49 Decomposizione in N + 1 blocchi Introduzione Perceptron Per problemi di dimensioni molto elevate, la minimizzazione approssimata rispetto a c può essere troppo costosa. Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Addestramento RBF • Addestramento • Scelta non supervisionata dei centri • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi Si decompone ulteriormente il passo 2 in una successione di minimizzazioni sequenziali rispetto ai singoli centri Le variabili vengono partizionate in N B = N + 1 blocchi costituiti dal vettore dei pesi w e dai vettori dei centri ci , i = 1, . . . , N . Come nell’algoritmo precedente i pesi vengono aggiornati risolvendo il problema dei minimi quadrati lineare, mentre per i centri si possono usare metodi di discesa per minimizzare rispetto ai centri. Per garantire la convergenza la linesearch deve soddisfare ipotesi più forti, in particolare va bene Armijo combinata con una limitazione superiore del passo. • Proprietà 47 / 49 Decomposizione in N + 1 blocchi Dati. c0 ∈ RnN , w0 ∈ RN , τi > 0,k = 0, ξik > 0 tali che ξik → 0 per i = 1, . . . , N . Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line While ∇E(wk , ck ) 6= 0 Passo 1 Minimizzazione rispetto ai pesi: calcola wk+1 = arg minw E(w, ck ) risolvendo il problema ai minimi quadrati in w . Passo 2 Minimizzazione rispetto ai centri: For i = 1, . . . , N k+1 Addestramento RBF If k∇ci E(wk+1 , ck k ≤ ξik then poni ci else • Addestramento • Scelta non (a) calcola dk i = −∇ci E(wk+1 , c1 supervisionata dei centri (b) calcola ηik con una ricerca unidimensionale opportuna (Armijo con limitazione superiore sul passo) Reti RBF • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi k+1 k+1 (c) scegli c̃k i tale che E(wk+1 , c1 = cki k k , . . . , ck+1 i−1 , ci , . . . , cN ) k k , . . . , ck+1 i−1 ), c̃i , . . . , cN ) ≤ k k k k , . . . , ck+1 E(wk+1 , ck+1 1 i−1 , ci + ηi di , . . . , cN ) If k k , . . . , ck+1 E(wk+1 , ck+1 1 i−1 ), c̃i , . . . , cN ) ≤ k k 2 k k , . . . , ck+1 E(wk+1 , ck+1 1 i−1 , ci , . . . , cN ) − τi kc̃i − ci k then poni ck+1 = c̃ki i • Proprietà else k+1 poni ci = cki + ηik dki Passo 3 k = k + 1 48 / 49 Proprietà Introduzione Perceptron Reti multistrato Creazione di una rete multistrato Richiami di ottimizzazione non vincolata Metodi on-line Reti RBF Addestramento RBF • Addestramento • Scelta non supervisionata dei centri • Scelta supervisionata • Tecniche di decomposizione • Decomposizione per RBF • Decomposizione in 2 blocchi • Decomposizione in N + 1 blocchi • Decomposizione in N + 1 blocchi • Proprietà ⊳ Non si possono più effettuare le minimizzazioni parziali con qualunque algoritmo di discesa, poichè i punti tentativo c̃ki possono non essere accettati se producono spostamenti troppo grandi dal punto cki . ⊳ Il test al passo 2 fa si che la minimizzazione parziale rispetto al centro ci è evitata quando il corrispondente gradiente parziale è piccolo, risparmiando in termini di tempo ⊳ Il calcolo della funzione di errore in corrispondenza di un nuovo centro ci può essere fatto in modo molto efficiente, memorizzando le uscite della rete corrispondenti a cki . Infatti , . . . , cki , . . . , ckN ) , . . . , ci , . . . , ckN ) = y(xp ; wk+1 , ck+1 y(xp ; wk+1 , ck+1 1 1 −wik φ(kxp − cki k) + wik φ(kxp − ci k) ⊳ si hanno proprietà di convergenza analoghe a quelle dell’algoritmo a due blocchi 49 / 49