1 / 36

RETI NEURALI ARTIFICIALI

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.

Télécharger la présentation

RETI NEURALI ARTIFICIALI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RETI NEURALI ARTIFICIALI

  2. 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

  3. - 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

  4. +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

  5. 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

  6. 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)

  7. 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

  8. 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

  9. 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

  10. 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à

  11. 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

  12. 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:

  13. 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 ’(.):

  14. 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

  15. +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

  16. 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:

  17. 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

  18. 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

  19. 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

  20. +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

  21. 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

  22. 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

  23. 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

  24. 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

  25. RN-24 Da cui, utilizzando la regola del gradiente discendente: Regola di aggiornamento dei pesi

  26. 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:

  27. 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

  28. 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)

  29. 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:

  30. 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

  31. 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

  32. 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à

  33. 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

  34. 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

  35. 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

  36. 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

More Related