370 likes | 533 Views
RETI NEURALI ARTIFICIALI. PROCESSORE ELEMENTARE. Esempio di RNA:. x 1. w 1. x 2. w 2. w 6. y. S. PE. f (.). w 1. x 1. w 3. x D. w 5. x 2. w D. w 2. w 4. PE. RN-1.
E N D
PROCESSORE ELEMENTARE Esempio di RNA: x1 w1 x2 w2 w6 y S PE f(.) w1 x1 . . . w3 xD w5 x2 wD w2 w4 PE RN-1 • Le reti neurali sono “learning machine” generali, adattative, non lineari, distribuite, costituite da molti processori elementari (PE) • I segnali che fluiscono attraverso le connessioni sono scalati con opportuni parametri modificabili detti pesi (wij) • Il singolo PE somma tutti questi contributi e produce un’uscita che è una funzione non lineare di tale somma
- Rete Neurale + S (wij) RN-2 • La forma della funzione discriminante cambia con la topologia • Funzioni discriminanti arbitrarie • Classificatori ottimi • La posizione delle funzioni discriminanti è regolata dai valori dei pesi • I pesi vengono adattati automaticamente durante il training • Sui dati disponibili per il training non deve essere fatta alcuna ipotesi sulla pdf Il progettista deve stabilire la “topologia” per ottenere il numero e la forma voluti delle funzioni discriminanti
+1 b x1 y = f(net) net S w1 . . . xD wi : pesi b: bias wD Pocessore Elementare di McCULLOCH - PITTS ( PE di MP o MP-PE ) RN-3 funzione segno NOTA: il MP-PE è costituito da un ADALINE seguito da una non-linearità • Proprietà per il pattern recognition: • può separare due sole classi • la funzione discriminante è un iperpiano nello spazio a D dimensioni di equazione: w1x1 + w2x2 + … + wDxD + b = 0 • la funzione soglia divide lo spazio in due semi-spazi a cui attribuisce i valori +1 e -1 rispettivamente
g g = g(x1 , x2 ) funzione discriminante Superficie di decisione x 1 x 2 x 2 g<0 a g>0 x 1 g = 0 Es: Spazio degli ingressi a 2 dimensioni (caso 2D) RN-4 La distanza dell’iperpiano dall’origine è: • Nel 2-D la funzione discriminante è un piano e la sua intercetta con il piano (x1,x2) è una linea (superficie di decisione) • Nel caso a D dimensioni la superficie di decisione è un iperpiano a D-1 dimensioni
2.) Funzione logistica: 1.) Tangente iperbolica: logistica tanh +1 +1 net net -1 RN-5 FUNZIONI DI ATTIVAZIONE • Nel MP-PE la funzione di attivazione è la funzione a soglia detta “segno” • Possono essere utilizzate altre funzioni non lineari FUNZIONI SIGMOIDALI • RNA con funzioni a soglia creano superfici di decisione lineari a tratti • RNA con funzioni sigmoidali creano superfici di decisione molto complesse e non-lineari • Le funzioni sigmoidali sono smooth ed esiste la derivata della mappa da loro creata (V.I. per il training)
LEARNING RN-6 • In un problema di classificazione la funzione discriminante deve essere spostata in modo da minimizzare gli errori • Si deve dotare il sistema di una retroazione governata dall’errore tra l’uscita desiderata e quella di rete • Usualmente per RNA si adotta l’MSE • Funzione costo: p indice di pattern ALGORITMO DI LEARNING PER UN MP-PE (Rosemblatt 1958) PERCEPTRON ALGORITHM STEP 1. Presentare il campione x C1 STEP 2. Se l’uscita è corretta non fare niente STEP 3. Se l’uscita non è corretta modificare i pesi e il bias finché l’uscita diventa corretta STEP4. Ripetere l’operazione finché tutti i pattern non siano correttamente classificati In sintesi: h :tasso di learning
classe 2 y = -1 classe 1 y = 1 classificazione corretta caso a) w wa(n) Dwa(n) caso b) w wb(n) Dwb(n) Infatti: RN-7 Caso a) d = 1 (classe 1) e y = -1 w(n+1) = w(n) + 2 h x(n) Caso b) d = -1 (classe 2) e y = 1 w(n+1) = w(n) - 2 h x(n) Hp: caso monodimensionale (un unico peso) • In entrambi i casi il peso si aggiusta nella giusta direzione • Se i pattern sono linearmente separabili si può dimostrare che l’algoritmo converge in un numero finito di passi
implicazioni RN-8 CONFRONTO CON LMS PER ADALINE • Nel LMS: w(n+1) = w(n) + h e(n) x(n) stessa formulazione • Vi sono, però, delle sostanziali differenze di significato • non si ha la corrispondenza con la discesa del gradiente il sistema ha una discontinuità • il perceptron algorithm minimizza la differenza tra la risposta del MP-PE e l’uscita desiderata anziché tra l’uscita dell’ADALINE e l’uscita desiderata • Il MP-PE impara solo quando la sua uscita è errata • I risultati finali dei pesi coincidono con quelli trovati per una regressione lineare. Infatti le non linearità sono portate dentro la regola di aggiustamento dei pesi
Hp: - pattern linearmente separabili - bias nullo (per semplicità) RN-9 Esiste una funzione discriminante lineare che produce zero errori di classificazione w* vettore dei pesi ottimi prodotto dal perceptron algorithm n indice del training-set La soluzione è un iperpiano di equazione : Il vettore dei pesi ottimi deve essere ortogonale a tutti i vettori di dati • Vantaggi: l’algoritmo converge in un numero finito di passi • Svantaggi: • la funzione discriminante trovata all’ultimo campione può non andare bene in fase di test • l’algoritmo converge solo per classi linearmente separabili, altrimenti la soluzione oscillerà
RN-10 CHAIN RULE (REGOLA CATENA) • Consente di calcolare la derivata parziale di una variabile rispetto ad un’altra quando esiste un legame funzionale tra le due Sia y = f(x) con f differenziabile • Si può dimostrare che l’LMS è equivalente alla chain rule nel calcolo della “sensitivity” della funzione costo rispetto alle incognite: con: Jp : funzione costo del p-esimo campione yp : wxp Utilizzando la chain-rule: Dalla regola per l’aggiornamento dei pesi: w(k+1) = w(k) - h J(k)(steepest descent) si ha: w(k+1) = w(k) + h ep xp che è lo stesso risultato ottenuto nel LMS
x1 . . . S f(net) xi y wi . . . xD wD RN-11 Il gradiente dà una misura della “sensitivity” ESTENSIONE DEL LMS AL MP-PE Infatti:
f’(net) tanh=f(net) +1 net net -1 RN-12 REGOLA DELTA p: indice di pattern i: indice di peso da cui Regola Delta con n: indice di iterazione • Estende l’LMS a sistemi non-lineari con non-linearità smooth • E’ locale rispetto al pattern ed al peso • Fa uso della f ’(.):
RN-13 • Quando net è nella regione di linearità di f(.), la f ’(.) è vicina all’unità e la sensitività: cioè uguale alla sensitività di un PE lineare • Quando il punto di funzionamento è vicino alla saturazione, la sensitività del PE non lineare è attenuata rispetto al PE lineare • questo implica effetti benefici sulla stabilità del processo di learning • Con PE non lineari la funzione costo non è più quadratica presenza di minimi locali • I metodi basati sul gradiente possono intrappolarsi nei minimi locali o convergere in punti di stazionarietà • Con PE non lineari: • miglior filtraggio dei dati rispetto alla regressione lineare • più efficienti in problemi di classificazione non linearmente separabili
+1 y1 b1 b2 bM x1 w11 1 y2 w12 x2 w1M 2 . . . . . . xD MP-PE wDM M yM IL PERCEPTRONE (Rosemblatt 1950) RN-14 • Lo strato di uscita è costituito da MP-PE • Il numero di PE in uscita ( M ) è legato alla codifica adottata per le classi • Ciascun neurone risolve il problema di decidere se un pattern appartiene alla classe i-esima oppure no • Il perceptrone può essere allenato utilizzando la ben nota regola di aggiustamento dei pesi: w(n+1) = w(n) + h e (n) x(n) per riconoscere pattern linearmente separabili in un numero finito di passi
RN-15 • Le regioni di decisione di un perceptron sono sempre regioni convesse REGOLA DELTA APPLICATA AL PERCEPTRON p : indice del pattern Se M = 1 Se abbiamo un numero M di PE nello strato di uscita: da cui errore locale per il PE i-esimo definendo:
RN-16 REGOLA DELTA PER IL PERCEPTRON • Usa solo quantità locali disponibili ai pesi: • il valore xjp che raggiunge wij dall’ingresso • l’errore locale dip propagato dalla funzione costo • La località fa sì che l’algoritmo prescinda dalla complessità della rete • SVANTAGGI: la superficie di decisione è molto vicina all’ultimo pattern classificato correttamente risultati scadenti in fase di generalizzazione • La superficie di decisione dovrebbe essere posta fra le due classi a distanza uguale dai “bordi” delle due classi • Si può modificare l’algoritmo introducendo il “margine” tra l’iperpiano <x , w > = b e il set degli esempi • S = { ( x1 , d1) , . . . , ( xN , dN) }, come: margine
vettori di supporto g g Iperpiano ottimo RN-17 Vapnik ha mostrato che : • Si definisce IPERPIANO OTTIMO l’iperpiano che massimizza il margine tra le due classi • Per trovare l’iperpiano ottimo occorre trovare i VETTORI DI SUPPORTO
Es: Problema X-OR (non è linearmente separabile) x2 g(x) x1 bias bias y1 x1 +1 +1 1 1 y2 x2 2 2 . . . . . . . . . yM xD Soluzione M K input layer hidden layer output layer RN-18 LIMITI DEL PERCEPTRON • Risolve solo problemi linearmente separabili • A prescindere da dove si piazzi la superficie di decisione si commette un errore di classificazione MULTI LAYER PERCEPTRON (MLP) • L’ MLP estende il perceptron aggiungendo strati nascosti (hidden layer) - Es: 1 hidden layer
+1 +1 +1 b3 b1 x2 x3 x4 x1 w1 w5 1 x1 x2 x3 x4 y w2 3 0 0 0 1 0 x2 b2 0 1 1 1 1 w3 0 1 1 1 1 Mappatura totale input/output 1 1 0 0 1 x1 x3 x4 w6 w4 2 RN-19 Es: Problema X-OR Hp: i PE hanno funzione di attivazione a soglia
RN-20 • Il primo strato di neuroni ha trasformato un problema non linearmente separabile in uno linearmente separabile nello spazio x3,x4 • Lo strato d’uscita esegue la desiderata separazione di due insiemi linearmente separabili • L’aggiunta dello strato nascosto ha reso possibile la realizzazione di regioni di decisione non più necessariamente convesse • In max numero di regioni distinte nello spazio degli ingressi è controllato dal numero di neuroni nascosti (2k per k>>D) • Ciascun neurone nascosto crea una funzione discriminante lineare • I neuroni d’uscita combinano alcune delle regioni create dai neuroni nascosti creando regioni non necessariamente convesse • Esistono differenti combinazioni di pesi che realizzano un particolare adattamento delle regioni di decisione
RN-21 CAPACITÀ DI MAPPING DELLE MLP CON SINGOLO HIDDEN LAYER • BUMP: regione singola, di estensione limitata, di valori “alti” (1), circondata da valori bassi (0) • - la funzione discriminante dei valori bassi non può essere convessa e • quindi un semplice perceptron non può realizzare un bump • - il bump più semplice è triangolare ed è ottenuto con 3 neuroni nascosti • Una MLP con 1 strato nascosto può costruire un bump nello spazio degli ingressi • Una MLP con 1 strato nascosto può costruire regioni di decisione complesse, non convesse, eventualmente disgiunte (es. X-OR) TEOREMADI CYBENKO Una MLP con 1 strato nascosto di neuroni con funzioni di attivazione sigmoidale è un mappatore universale, cioè può approssimare arbitrariamente bene qualunque regione di decisione continua, purché il numero di neuroni nascosti sia sufficientemente grande
wki yk ith PE kth PE yi xi RN-22 ALGORITMO ERROR BACK PROPAGATION (EBP) • Si basa sull’uso della CHAIN RULE che consente di propagare sistematicamente la sensitivity attraverso un numero indeterminato di nodi interni (hidden) di una topologia • NOTA: non conosciamo la risposta desiderata dell’i-esimo neurone nascosto Per adattare i pesi wij del neurone nascosto: 1. Si utilizza un errore derivato propagando l’errore nello strato d’uscita (noto) 2. Si calcola la sensitivity usando la chain-rule con Errore locale del nodo i-esimo
x1 neti netk wij xj wki i-th k yk yi xd ALGORITMO EBP RN-23 Hp: uno strato nascosto, un neurone d’uscita Chain rule poiché ma
RN-24 Da cui, utilizzando la regola del gradiente discendente: Regola di aggiornamento dei pesi
1 y1 x1 neti wij wki xj k i-th yk yi xd M yM RN-25 ESTENSIONE DELL’EBP AL CASO DI M NEURONI DI USCITA Ciascun neurone K di uscita contribuisce in modo additivo al gradiente del costo rispetto all’uscita dell’iesimo neurone nascosto quindi:
1 y1 l-1 l w1i wij k j-th i-th wki yi yk yi wMi M yM RN-26 ESTENSIONE DELL’EBP A RETI CON PIÙ DI UNO STRATO NASCOSTO La regola di aggiornamento è: Tornando indietro di strato in strato si può propagare all’indietro l’errore sino all’ingresso
NOTA: n indice di iterazione e anche training set l: indice di strato l=1,…,L ; l=1 input layer ; l=L output layer RN-27 IMPLEMENTAZIONE STEP 1: Presentare alla rete il pattern {x1 , d1} STEP 2: FORWARD STEP: Calcolare l’uscita di ciascun neurone dall’input (l = 1) all’output (l = L): Con STEP 3: Calcolare l’errore nello strato d’uscita STEP 4: BACKWARD STEP: Calcolare l’errore locale partendo dallo strato di uscita sino all’ingresso - strato d’uscita: - negli altri strati STEP 5: Ripetere questa procedura per tutti i pattern del training e per il numero di epoche richiesto per la convergenza (randomizzare i pattern tra un’epoca e l’altra)
i wij j yi REGOLA CIASCUN PESO PUÒ ESSERE AGGIORNATO MOLTIPLICANDO L’ERRORE LOCALE PER L’ATTIVAZIONE LOCALE CIOÈ RN-28 EBP L’errore locale di un neurone di uscita è: allora è l’errore totale propagato all’i-esimo neurone dall’uscita o anche è il contributo che il neurone i-esimo dà all’errore in uscita • Se questo passa attraverso la non-linearità dello stesso i-esimo nodo si ottiene: • l’errore locale del neurone i-esimo dello strato nascosto Da cui:
Attivazione locale Errore locale RN-29 VALE PER TUTTI I NEURONI DEI VARI STRATI Da strato a strato quello che si modifica è il modo di calcolare l’errore locale a seconda che il neurone appartenga ad uno strato nascosto o di uscita o se ha una funzione di attivazione lineare o non lineare: CASO 1: NEURONE D’USCITA E LINEARE. Infatti f’(neti(n)) ha un valore costante uguale ad 1 (ritroviamo la regola LMS) CASO 2: NEURONE D’USCITA E NON LINEARE. L’aggiornamento dei pesi viene fatto con la regola delta perché conosciamo l’uscita desiderata CASO 3: NEURONE NASCOSTO E NON LINEARE La formula per l’aggiornamento dei pesi non cambia strutturalemente perché il learning è condotto usando ancora il gradiente discendente
RN-30 PROBLEMI APERTI • Scelta del numero di neuroni nello strato nascosto • Non si è ancora affermata alcuna tecnica per la scelta del numero ottimo di neuroni nascosti • In letteratura sono stati proposti algoritmi che trovano soluzioni subottime • Spesso la scelta del numero di hidden neurons è condotta con tecniche del tipo trial and error
RN-31 MLP CON DUE STRATI NASCOSTI • Funzione discriminante: • deriva da tre livelli di composizione • Uno strato nascosto crea bump locali nello spazio degli ingressi. Un ulteriore strato può essere pensato come un combinatore di bump in regioni disgiunte dello spazio • Teorema: una combinazione lineare di bump localizzati può approssimare qualunque funzione UNA MLP CON DUE STRATI NASCOSTI È UN APPROSSIMATORE UNIVERSALE (Anche una MLP con 1 strato nascosto lo è) • Non esistono teoremi costruttivi • Di norma si dovrebbe iniziare a sperimentare con reti con 1 solo strato nascosto perché le MLP con 2 strati hanno una convergenza più lenta a causa dell’attenuazione che subiscono gli errori attraverso le non-linearità
Risposta Desiderata Activation forward 1 Criterio di Costo 2 Input Output ANN Calcolo dell’errore 3 Error Backward RN-32 EPB PER MLP CON DUE o PIÙ STRATI L’algoritmo non subisce alcuna modifica 1. FOWARD STEP: 2. 3. BACKWARD STEP Regola d’aggiornamento
w1i i-esimo PE wi1 wi2 yi w2i S f (net) wki wij yj FORWARD STEP w1i i-esimo PE wi1 w2i wi2 di ei S x wij wki f ‘(net) ek BACKWARD STEP yj yi output input FORWARD wki wij errore BACKWARD di dk i-esimo PE RN-33 ANCORA SULL’EPB Rete neurale originale Rete duale Se k è di uscita Se k è nascosto Metodo del gradiente discendente
RN-34 CLASSIFICATORI OTTIMI • Un classificatore ottimo è quello che crea funzioni discriminanti arbitrarie che separano cluster di dati secondo le probabilità a posteriori • Un classificatore ottimo byesiano produce uscite che sono le probabilità a posteriori di classi di dati • Se il training di una MLP è condotto sotto certe condizioni le uscite possono essere interpretate come stima delle probabilità a posteriori (Bishop) • CONDIZIONI • MLP allenata per minimizzare l’MSE • Numero di neuroni nascosti sufficiente a realizzare il mappaggio richiesto (mappatore universale • Funzione di attivazione SOFTMAX che assicura la somma delle uscite pari a 1 e ciascuna uscita compresa tra 0 e 1 La sommatoria è estesa a tutti i nodi di output SOFTMAX • La softmax è simile a tanh e logistic eccetto che le uscite sono scalate secondo la totale attivazione dello strato d’uscita così d’assicurare la somma delle uscite pari a 1
Nel caso di due sole classi l’unico neurone d’uscita può avere funzioni logistic RN-35 probabilità classe 1 = y probabilità classe 2 =1-y • In generale yk può fornire una stima della probabilità condizionale media: w*: pesi ottimi t: uscite desiderate • Per un classificatore dove le uscite desiderate sono 0 e 1 e con tanti nodi d’uscita quante sono le classi: • cioè • l’uscita k-esima della MLP fornisce la probabilità a posteriori che il pattern x appartenga alla classe Ck • Si ha un metodo per la stima della probabilità a posteriori direttamente dai dati senza dover usare la regola di Bayes