La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università di Milano-Bicocca Laurea Magistrale in Informatica Corso di APPRENDIMENTO E APPROSSIMAZIONE Lezione 6 - Reti Neurali Artificiali Prof. Giancarlo.

Presentazioni simili


Presentazione sul tema: "Università di Milano-Bicocca Laurea Magistrale in Informatica Corso di APPRENDIMENTO E APPROSSIMAZIONE Lezione 6 - Reti Neurali Artificiali Prof. Giancarlo."— Transcript della presentazione:

1 Università di Milano-Bicocca Laurea Magistrale in Informatica Corso di APPRENDIMENTO E APPROSSIMAZIONE Lezione 6 - Reti Neurali Artificiali Prof. Giancarlo Mauri

2 Outline  Introduction  Perceptrons  Gradient descent learning rule  Multi-layer networks  Backpropagation learning algorithm

3 … E I SUOI LIMITI riconoscimento di persone, oggetti, suoni (anche in presenza di rumore) riconoscimento del parlato e comprensione del linguaggio naturale apprendimento, classificazione, generalizzazione visione e controllo del movimento adattamento a nuove situazioni soluzione di problemi complessi in modo esaustivo (ottimizzazione combinatoria) … E I SUOI LIMITI riconoscimento di persone, oggetti, suoni (anche in presenza di rumore) riconoscimento del parlato e comprensione del linguaggio naturale apprendimento, classificazione, generalizzazione visione e controllo del movimento adattamento a nuove situazioni soluzione di problemi complessi in modo esaustivo (ottimizzazione combinatoria) LA POTENZA DEL CALCOLO ELETTRONICO… calcoli numerici complessi (anni per un uomo) in frazioni di secondo memorizzazione grandi quantità di dati LA POTENZA DEL CALCOLO ELETTRONICO… calcoli numerici complessi (anni per un uomo) in frazioni di secondo memorizzazione grandi quantità di dati Perché le reti neurali

4 Perché il cervello risulta superiore al computer per certe categorie di problemi? I meccanismi operanti nel cervello possono essere imitati per produrre macchine più efficienti ? Perché il cervello risulta superiore al computer per certe categorie di problemi? I meccanismi operanti nel cervello possono essere imitati per produrre macchine più efficienti ? Perché le reti neurali

5  La differenza non sta nelle componenti: Cellule nervose: tempo risposta ordine msec Circuiti logici elettronici: tempo risposta ordine nsec ma nella "architettura"

6 Perché le reti neurali  IL CERVELLO COME CALCOLATORE  L'elaborazione è frutto di un processo altamente parallelo  La potenza di calcolo deriva dalla cooperazione di molti processori semplici e fortemente interconnessi: neuroni 10 5 connessioni/ neurone  Le connessioni si modificano con l'apprendimento  L'informazione non é localizzata, ma distribuita globalmente nella rete di processori  L'intelligenza deriva dalla interazione tra i neuroni, non é prerogativa di un singolo neurone  Ha una notevole tolleranza ai guasti  Es. Riconoscimento volti in 0,1 sec

7 INTERESSE PER IL NEURAL COMPUTING Un po' di storia

8 I PIONIERI (Anni '40) 1943 : McCulloch e Pitts "A Logical calculus of Ideas Immanent in Nervous Activity" Primo modello formale di funzionamento di una rete nervosa, descritta come un circuito i cui componenti sono porte logiche costruite a partire dalle funzioni booleane elementari: OR, AND, NOT : McCulloch e Pitts "A Logical calculus of Ideas Immanent in Nervous Activity" Primo modello formale di funzionamento di una rete nervosa, descritta come un circuito i cui componenti sono porte logiche costruite a partire dalle funzioni booleane elementari: OR, AND, NOT : Wiener introduce la visione del sistema nervoso come un sistema per l'elaborazione delle informazioni 1949 : Wiener introduce la visione del sistema nervoso come un sistema per l'elaborazione delle informazioni 1949 : D.O. Hebb "The organization of behavior" ipotizza che alla base del meccanismo di apprendimento vi sia una modifica dell'efficacia sinaptica tra coppie di neuroni, attraverso il rafforzamento di connessioni spesso attive. La regola di apprendimento di Hebb è ancora alla base di molti modelli 1949 : D.O. Hebb "The organization of behavior" ipotizza che alla base del meccanismo di apprendimento vi sia una modifica dell'efficacia sinaptica tra coppie di neuroni, attraverso il rafforzamento di connessioni spesso attive. La regola di apprendimento di Hebb è ancora alla base di molti modelli

9 Un po' di storia LA PRIMA ETA’ DELL’ORO ('50–'60) Fine anni '40: von Neumann sviluppa la teoria degli automi "ramo seriale" che darà origine alle architetture "alla von Neumann" "ramo parallelo" che produrrà gli automi cellulari e le reti neuronali Fine anni '40: von Neumann sviluppa la teoria degli automi "ramo seriale" che darà origine alle architetture "alla von Neumann" "ramo parallelo" che produrrà gli automi cellulari e le reti neuronali 1962: F. Rosenblatt "The principles of neurodynamics" Primo modello di neurone formale in grado di apprendere da esempi (percettrone) Esperimenti su computer 1962: F. Rosenblatt "The principles of neurodynamics" Primo modello di neurone formale in grado di apprendere da esempi (percettrone) Esperimenti su computer 1960: B. Widrow, M. Hoff "Adaptive switching circuits" Uno dei primi neurocomputer, con regola di apprendimento di Widrow–Hoff, capace di riconoscere semplici pattern La differenza tra l'uscita del circuito e l'uscita desiderata modifica per controreazione le resistenze nel circuito per ottenere uscite più corrette 1960: B. Widrow, M. Hoff "Adaptive switching circuits" Uno dei primi neurocomputer, con regola di apprendimento di Widrow–Hoff, capace di riconoscere semplici pattern La differenza tra l'uscita del circuito e l'uscita desiderata modifica per controreazione le resistenze nel circuito per ottenere uscite più corrette

10 Un po' di storia GLI ANNI DELLA CRISI ('70) Il campo delle reti neurali fu abbandonato (anche per l'indisponibilità di tecnologie adeguate) salvo poche eccezioni (Stephen Grossberg, Teuvo Kohonen, James Anderson, Gail Carpenter) Il campo delle reti neurali fu abbandonato (anche per l'indisponibilità di tecnologie adeguate) salvo poche eccezioni (Stephen Grossberg, Teuvo Kohonen, James Anderson, Gail Carpenter) 1969: M. Minsky, S. Papert "Perceptrons: an introduction to computational geometry" Analisi approfondita dei percettroni. Dimostrazione della inadeguatezza a risolvere molti problemi. 1969: M. Minsky, S. Papert "Perceptrons: an introduction to computational geometry" Analisi approfondita dei percettroni. Dimostrazione della inadeguatezza a risolvere molti problemi. Sviluppo di calcolatori basati sulla architettura sequenziale di von Neuman Intelligenza artificiale Sviluppo di calcolatori basati sulla architettura sequenziale di von Neuman Intelligenza artificiale

11 GLI ANNI DELLA RIPRESA ('80–'90) Riesame della critica di Minsky e Papert, che risulta valida solo per reti molto semplici Introduzione dell'algoritmo di back propagation Riesame della critica di Minsky e Papert, che risulta valida solo per reti molto semplici Introduzione dell'algoritmo di back propagation D. Rumelhart, J. McClelland, G. Hinton, T. Sejnowski Descrizione dell'apprendimento delle reti in termini di meccanica statistica: Macchina di Boltzmann D. Rumelhart, J. McClelland, G. Hinton, T. Sejnowski Descrizione dell'apprendimento delle reti in termini di meccanica statistica: Macchina di Boltzmann John Hopfield Analogie stimolanti con altri sistemi fisici John Hopfield Analogie stimolanti con altri sistemi fisici Sviluppo di algoritmi ed architetture ad alto parallelismo Sviluppo di nuove tecnologie: VLSI, Circuiti ottici Sviluppo di algoritmi ed architetture ad alto parallelismo Sviluppo di nuove tecnologie: VLSI, Circuiti ottici Un po' di storia

12 Quando usare le reti neurali  Input multidimensionale a valori reali o discreti (e.g., dati grezzi da sensori  Output vettore di valori  Dati rumorosi  Forma della funzione obiettivo sconosciuta  Non è importante la leggibilità del risultato da parte dell’uomo

13 Campi applicativi  Elaborazione di segnali  Controllo  Riconoscimento di schemi grafici  Classificazione di immagini  Medicina  Riconoscimento e produzione del parlato  Predizioni Finanziarie

14 Intelligenza artificiale Intelligenza artificiale Connessionismo Mente ≠ cervello Deduzione Simbolico Sequenziale Programmazione Istruzioni imperative Indirizzi espliciti No generalizzazione Mente  cervello Induzione Analogico / subsimbolico Parallelo Apprendimento Adattività Memoria associativa Generalizzazione Connessionismo e intelligenza artificiale

15 Il neurone biologico  Stati possibili:  eccitazione invia segnali ai neuroni connessi attraverso le sinapsi  inibizione non invia segnali  Transizione di stato:  dipende dall'entità complessiva dei segnali eccitatori e inibitori ricevuti

16 nome canali vettore soglia input pesi Neuroni formali  Gli elementi essenziali:  Stato  Funzione di transizione  Funzione di uscita  Modalità di transizione  Un esempio:  neurone binario a soglia (McCulloch, Pitts 1943)

17 Neuroni formali  Stati: {0,1} o {-1,1}  Funzione di transizione: s(t+1) = 1 sse  w i s i (t) ≥   Funzione di uscita:coincide con lo stato  Modalità di transizione:deterministica  wnwn w2w2 w1w1 cncn c2c2 c1c1 …

18 A gradino Output Input Output Input Lineare Funzioni di transizione f(x) = ax + b Neuroni formali

19 f(x) = 1 1+e -x Output Input Mista Output Input Sigmoide Neuroni formali

20 Reti neurali artificiali

21 CARATTERISTICHE STRUTTURALI: Grande numero di unità Operazioni elementari Alto livello di interconnessione CARATTERISTICHE DINAMICHE : Cambiamento di stato in funzione dello stato dei neuroni collegati (input) Funzione di uscita per ogni unità Modifica dello schema di connessione per apprendimento FORMALMENTE: matrice dei pesi vettore delle soglie input netto a i al tempo t funzione di transizione Reti neurali artificiali

22  ELEMENTI CARATTERIZZANTI:  tipo di unità  topologia (direzione delle connessioni, numero di strati …)  modalità di attivazione: seriale ciclica seriale probabilistica parallela mista  modalità di addestramento

23 Reti neurali artificiali  CLASSI PRINCIPALI:  Percettrone (Rosenblatt)  Adaline(Widrow e Hoff)  Mappe di caratteristiche autoorganizzanti (Kohonen)  Reti di Hopfield  Reti basate sulla teoria della risonanza adattiva (Carpenter)  Percettrone a più strati (Rumelhart e Williams)  Macchina di Boltzmann (Hinton)  Memoria associativa bidirezionale (Kosko)  Rete a contropropagazione (Hecht–Nielsen)

24 Il percettrone  Compito: riconoscimento di forme I percettroni sono reti semplificate, progettate per permettere lo studio di relazioni tra l'organizzazione di una rete nervosa, l'organizzazione del suo ambiente e le prestazioni "psicologiche" di cui è capace. I percettroni potrebbero realmente corrispondere a parti di reti e sistemi biologici più estesi; in questo caso, i risultati ottenuti sarebbero direttamente applicabili. Più verosimilmente, essi rappresentano una semplificazione estrema del sistema nervoso centrale, in cui alcune proprietà sono esagerate ed altre soppresse. In questo caso, perturbazioni e raffinamenti successivi del sistema possono dare una approssimazione migliore. Rosenblatt, 1962 I percettroni sono reti semplificate, progettate per permettere lo studio di relazioni tra l'organizzazione di una rete nervosa, l'organizzazione del suo ambiente e le prestazioni "psicologiche" di cui è capace. I percettroni potrebbero realmente corrispondere a parti di reti e sistemi biologici più estesi; in questo caso, i risultati ottenuti sarebbero direttamente applicabili. Più verosimilmente, essi rappresentano una semplificazione estrema del sistema nervoso centrale, in cui alcune proprietà sono esagerate ed altre soppresse. In questo caso, perturbazioni e raffinamenti successivi del sistema possono dare una approssimazione migliore. Rosenblatt, 1962

25 Perceptron  Linear treshold unit (LTU)  x1x1 x2x2 xnxn w1w1 w2w2 wnwn w0w0 x 0=1  n i=0 w i x i 1 if  n i=0 w i x i >0 y(x i )= -1 otherwise y { Nodi di input Nodo di output Pesi Soglia Funzione di transizione

26 Apprendimento nel percettrone  I pesi vengono fissati a caso e poi modificati  L'apprendimento è guidato da un insegnante  La procedura  Obiettivo è classificare vettori di input in due classi, A e B  Si sottomette una sequenza infinita {x k } di vettori tale che ve ne siano un numero infinito sia di A che di B  Per ogni x k la rete calcola la risposta y k  Se la risposta è errata, si modificano i pesi, incrementando i pesi delle unità di input attive se si è risposto 0 anzichè 1, decrementandole nel caso duale: w' = w ± x

27 Teorema di convergenza: Comunque si scelgano i pesi iniziali, se le classi A e B sono discriminabili, la procedura di apprendimento termina dopo un numero finito di passi Teorema di convergenza: Comunque si scelgano i pesi iniziali, se le classi A e B sono discriminabili, la procedura di apprendimento termina dopo un numero finito di passi Teorema di Minsky e Papert: La classe delle forme discriminabili da un percettrone semplice è limitata alle forme linearmente separabili Teorema di Minsky e Papert: La classe delle forme discriminabili da un percettrone semplice è limitata alle forme linearmente separabili Apprendimento nel percettrone

28 Input x = (x 1, …, x d ) Input esteso x = (x 1, …, x d, 1) Pesi w = (w 1, …, w d, -  ) Il teorema di convergenza del percettrone Teorema Se l'insieme degli input estesi è partito in due classi linearmente separabili A, B allora é possibile trovare un vettore di pesi w tale che: w  x ≥ 0 se x  A w  x < 0 se x  B

29 Il teorema di convergenza del percettrone Costruzione 1. Si parte con w arbitrario 2. Si classifica un input x : risposta corretta: w' := w risposta errata: w' := w+x se x  A w' := w–x se x  B 3. Si prova un nuovo input

30 Correttezza Sia x  A e w  x < 0 Poiché x  x ≥ 0 vale w '  x = ( w + x )  x = w  x + x  x > w  x Quindi w' classifica x in modo "più corretto" rispetto a w Ma altri input possono essere classificati "meno correttamente" Il teorema di convergenza del percettrone

31 Convergenza Si consideri A ' = A  B ' B ' = { -x | x  B } Cerchiamo v tale che v  x ≥ 0  x  A ' {x i } i  N sequenza di addestramento x i  A ' occorrono infinite volte elementi sia di A che di B ' {w i } i  N sequenza dei pesi w 0 = 0 scelta arbitraria w k+1 = w k se w k  x k ≥ 0 w k + x k altrimenti Il teorema di convergenza del percettrone

32 {v i } i  N sequenza dei vettori dei pesi modificati {t i } i  N sottosequenza di training corrispondente w 0 ≠ w 1 = w 2 = w 3 ≠ w 4 = w 5 = w 6 ≠ w 7 ≠ w 8 …….. v 0 v 1 v 2 v 3 t 0 t 1 t 2 t 3 v j t j < 0  j v j+1 = v j + t j = v j-1 + t j-1 + t j = …… = TESI: la sequenza {v i } è finita

33 Il teorema di convergenza del percettrone DIMOSTRAZIONE  Sia w una qualsiasi soluzione(esiste per ipotesi)! x w ≥ 0  x  A'  Si ponga  = min( x w | x  A') (* *)  v j+1 w = w ≥ j  (*) + (* *)  ( v j+1 w ) 2 ≤ | v j+1 | 2 | w | 2 (Cauchy-Schwarz)  | v j+1 | 2 ≥ (* * *)

34 Il teorema di convergenza del percettrone  Si ponga M = max{|x| 2 | x  A'}  |v j+1 | 2 = |v j +t j | 2 = |v j | 2 +2v j t j +|t j | 2 ≤ |v j | 2 +|t j | 2 (v j t j < 0)  |v j+1 | 2 ≤ |t j | 2 ≤ j M (*) ≤ |v j +1| 2 ≤ j M = g(j) (* * *) + (*) f(j) = quadratico in j lineare in j

35 Il teorema di convergenza del percettrone f g j Dopo al massimo  modificazioni di peso, il percettrone classifica correttamente ogni input.

36 Il teorema di convergenza del percettrone Ma:  dipende dalla soluzione w  non è il reale numero di stadi

37 x y xyxy   Un esempio OR ESCLUSIVO (addizione binaria) I punti a valore 1 non sono linearmente separabili da quelli a valore 0 Ipotesi: Esiste un neurone binario a soglia tale che x  y = 1 se e solo se  x +  y ≥ 

38 Un esempio  Essendo  simmetrica, vale anche x  y = 1 sse  y +  x ≥   Sommando e dividendo per 2 si ottiene: x  y = 1 sse tx + ty = t(x+y) ≥  ove t = (  +  )/2  Posto ora x+y = s, abbiamo: x  y = 1 sse t  s –   ≥ 0  Dallo studio del polinomio di primo grado in s y = t  s –  si ottiene: Per s = 0, t  s –  < 0 (0  0 = 0) Per s = 1, t  s –  ≥ 0 (0  1 = 1 = 1  0) Per s = 2, t  s –  < 0 (1  1 =0)  Questa é una contraddizione, poiché una retta non può salire e poi scendere

39 Reti neurali e apprendimento  Il "programma" di una rete neurale è rappresentato dai pesi sinaptici  E' impossibile "programmare" direttamente reti complesse per svolgere un certo compito  D.O. Hebb, 1949:  Apprendimento = modifica pesi sinaptici  Se due neuroni connessi sono per più volte di seguito contemporaneamente attivi, il peso della sinapsi aumenta  La regola di Hebb è una regola non formalizzata. Inoltre i pesi vengono solo aumentati  Una possibile formalizzazione (Sutton, 1981)

40 Perceptron Learning Rule w i := w i +  w i  w i =  (t-y)x i t=c(x) is the target value y is the perceptron output  is a small constant (e.g. 0.1) called learning rate If the output is correct (t=y) the weights w i are not changed If the output is incorrect (t≠y) the weights w i are changed so that the output of the perceptron for the new weights is closer to t. The algorithm converges to the correct classification if the training data is linearly separable and  is sufficiently small

41 Perceptron Learning Rule t=1 t=-1 w=[0.25 – ] x 2 = 0.2 x 1 – 0.5 y=1y=-1 (x,t)=([-1,-1],1) y=sgn( ) =-1  w=[0.2 –0.2 –0.2] (x,t)=([2,1],-1) y=sgn( ) =1  w=[-0.2 –0.4 –0.2] (x,t)=([1,1],1) y=sgn( ) =-1  w=[ ]

42 Gradient Descent Learning Rule  Consider a linear unit without threshold and continuous output y (not just –1,1) y = w 0 + w 1 x 1 + … + w n x n  Learning strategy: minimize a suitable function of the weights w i ’s, for example the squared error E[w 1,…,w n ] = ½  d  D (t d -y d ) 2 where D is the set of training examples  Minimization technique: gradient descent (versus connection weights E w

43 Gradient Descent D={,,, } Gradient:  E[w]=[  E/  w 0,…  E/  w n ] (w 1,w 2 ) (w 1 +  w 1,w 2 +  w 2 )  w=-   E[w]  w i =-   E/  w i =  /  w i 1/2  d (t d -y d ) 2 =  /  w i 1/2  d (t d -  i w i x i ) 2 =  d (t d - y d )(-x i )

44 Gradient Descent Gradient-Descent(training_examples,  ) Each training example is a pair of the form where (x 1,…,x n ) is the vector of input values, and t is the target output value,  is the learning rate (e.g. 0.1)  Initialize each w i to some small random value  Until the termination condition is met, Do  Initialize each  w i to zero  For each in training_examples Do Input the instance (x 1,…,x n ) to the linear unit and compute the output y For each linear unit weight w i Do  w i =  w i +  (t-y) x i  For each linear unit weight w i Do w i := w i +  w i

45 Incremental Gradient Descent  Batch mode : gradient descent w = w -  E D [w] over the entire data D E D [w]=1/2  d (t d -y d ) 2  Incremental mode: gradient descent w = w -  E d [w] over individual training examples d E d [w]=1/2 (t d -y d ) 2 Incremental Gradient Descent can approximate Batch Gradient Descent arbitrarily closely if  is small enough

46 Perceptron vs Gradient Descent Rule  Perceptron learning rule guaranteed to succeed if  Training examples are linearly separable  Sufficiently small learning rate   Linear unit training rules using gradient descent  Guaranteed to converge to hypothesis with minimum squared error  Given sufficiently small learning rate   Even when training data contains noise  Even when training data not separable by H

47 Multi-Layer (feedforward) Networks  Strati intermedi tra input e output  Connessioni da strati di livello basso a strati di livello alto; nessuna connessione all'interno di uno stesso strato  Stato di un neurone: x    Funzione di transizione: con P(x) funzione sigmoidale  Per ogni configurazione x del primo strato (ingresso), la rete calcola una configurazione y dell'ultimo strato (uscita)

48 Multi-Layer Networks input layer hidden layers output layer ………………

49 Multi-Layer Networks  Obiettivo è che, fissata una mappa f tra configurazioni di ingresso e di uscita, sulla base di una sequenza di stimoli x k, la rete cambi i pesi delle connessioni in modo che, dopo un numero finito s di passi di apprendimento, l'uscita y k coincida con f(x k ) per ogni k>s, almeno approssimativamente.  Criterio di modifica: minimizzare un "criterio di discrepanza" tra risposta della rete e risposta desiderata  Teorema (Irie-Miyake, 1988): Un solo strato nascosto è sufficiente per permettere di calcolare qualsiasi funzione da un insieme finito a {0,1}

50 –2 +1 Example  Exclusive or with one hidden layer

51 Sigmoid Unit  x1x1 x2x2 xnxn w1w1 w2w2 wnwn w0w0 x 0 =1 net=  i=0 n w i x i y y=  (net)=1/(1+e -net )  (x) is the sigmoid function: 1/(1+e -x ) d  (x)/dx=  (x) (1-  (x))

52 I pesi sono modificati proporzionalmente a questa derivata (regola delta): La convergenza a un minimo globale é garantita per funzioni di attivazione lineari senza unità nascoste e per dati consistenti Input x Weights w Output y j =  i w ij x i Training a two layers network

53 i -n (t) e1 1 s j (t+1) =  Multilayer networks of sigmoid units  Neurons u 1, u 2, …, u n :  input units  hidden units  output units  Real weights w ij  Activation states s j  Net input to u j :  Sigmoid transition function:

54 Multilayer networks of sigmoid units  Let x input, t expected output, y actual output  Consider square norm  Modify weights using: Since: we need to determine:

55  Step 1 – Input Input neuron u j is set to state x j  Step 3 – Comparison For each output neuron u j, given the expected output, compute:  Step 4 – Error backpropagation For each hidden neuron u j, compute:  Step 5 – Weights update  Step 2 – Propagation The state of hidden or output neurons u j is computed Backpropagation Algorithm

56  Initialize each w i to some small random value  Until the termination condition is met, Do  For each training example Do Input the instance (x 1,…,x n ) to the network and compute the network outputs y k For each output unit k  k =y k (1-y k )(t k -y k ) For each hidden unit h  h =y h (1-y h )  k w h,k  k For each network weight w,j Do w i,j =w i,j +  w i,j where  w i,j =   j x i,j

57 Backpropagation  Gradient descent over entire network weight vector  Easily generalized to arbitrary directed graphs  Will find a local, not necessarily global error minimum -in practice often works well (can be invoked multiple times with different initial weights)  Often include weight momentum term  w i,j (n)=   j x i,j +   w i,j (n-1)  Minimizes error training examples  Will it generalize well to unseen instances (over-fitting)?  Training can be slow typical iterations (use Levenberg-Marquardt instead of gradient descent)  Using network after training is fast

58  mancanza di teoremi generali di convergenza  può portare in minimi locali di E  difficoltà per la scelta dei parametri  scarsa capacità di generalizzazione  mancanza di teoremi generali di convergenza  può portare in minimi locali di E  difficoltà per la scelta dei parametri  scarsa capacità di generalizzazione Limiti Possibili modifiche migliorative  Tasso di apprendimento adattivo:  = g(gradiente di E)  Termine di momento  Range degli stati da –1 a 1  Deviazioni dalla discesa più ripida  Variazioni nell'architettura (numero di strati nascosti)  Inserimento di connessioni all'indietro  Tasso di apprendimento adattivo:  = g(gradiente di E)  Termine di momento  Range degli stati da –1 a 1  Deviazioni dalla discesa più ripida  Variazioni nell'architettura (numero di strati nascosti)  Inserimento di connessioni all'indietro Backpropagation Algorithm

59 Il tasso di apprendimento   grande, rischio di comportamento oscillatorio   piccolo, apprendimento lento   grande, rischio di comportamento oscillatorio   piccolo, apprendimento lento Strategie di identificazione della architettura ottimale Rete grande apprende facilmente, ma generalizza male A partire da una rete grande tolgo neuroni nascosti, se valuto che può continuare ad apprendere anche con meno neuroni Rete piccola apprende con difficoltà, ma generalizza bene A partire da una rete piccola aggiungo neuroni nascosti, se la discesa della funzione E é troppo lenta o bloccata A partire da una ipotesi iniziale di rete, aumento o diminuisco i nodi nascosti, secondo criteri misti Rete grande apprende facilmente, ma generalizza male A partire da una rete grande tolgo neuroni nascosti, se valuto che può continuare ad apprendere anche con meno neuroni Rete piccola apprende con difficoltà, ma generalizza bene A partire da una rete piccola aggiungo neuroni nascosti, se la discesa della funzione E é troppo lenta o bloccata A partire da una ipotesi iniziale di rete, aumento o diminuisco i nodi nascosti, secondo criteri misti Backpropagation Algorithm

60 Il ruolo dell'integrazione in presenza di connessioni con ritardo q l'input netto é : la funzione E é calcolata pesando l'errore nel tempo: nel calcolo delle derivate occorre aggiungere variabili ausiliarie in presenza di connessioni con ritardo q l'input netto é : la funzione E é calcolata pesando l'errore nel tempo: nel calcolo delle derivate occorre aggiungere variabili ausiliarie Inserimento di connessioni all'indietro la rete può integrarsi con moduli tradizionali, sfruttando tutte le informazioni simboliche e le sinergie che vi possono essere Backpropagation Algorithm

61 ALVINN Drives 70 mph on a public highway Camera image 30x32 pixels as inputs 30 outputs for steering 30x32 weights into one out of four hidden units 4 hidden units

62 8-3-8 Binary Encoder -Decoder InputOutput         inputs 3 hidden 8 outputs Hidden values Can this be learned ?

63 Convergence of Backprop  Gradient descent to some local minimum  Perhaps not global minimum  Add momentum  Stochastic gradient descent  Train multiple nets with different initial weights  Nature of convergence  Initialize weights near zero  Therefore, initial networks near-linear  Increasingly non-linear functions possible as training progresses

64 Expressive Capabilities of ANN  Boolean functions  Every boolean function can be represented by network with single hidden layer  But might require exponential (in number of inputs) hidden units  Continuous functions  Every bounded continuous function can be approximated with arbitrarily small error, by network with one hidden layer [Cybenko 1989, Hornik 1989]  Any function can be approximated to arbitrary accuracy by a network with two hidden layers [Cybenko 1988]

65 Come evitare i minimi locali? Quanto è lungo il tempo di apprendimento? Come scegliere  ? Nessuna risposta teorica, solo risultati di simulazione Come evitare i minimi locali? Quanto è lungo il tempo di apprendimento? Come scegliere  ? Nessuna risposta teorica, solo risultati di simulazione Working with backpropagation

66 Esempio: Funzione Logistica )o(1o)o(t  jjjjj       k jkkjjj w  )o(1o  unità output unità nascosta Il ruolo della costante  l Troppo grande: oscillazione l Troppo piccolo: apprendimento lento l Troppo grande: oscillazione l Troppo piccolo: apprendimento lento

67 Soluzione 1 y x2x2 x1x1 x Il problema XOR

68 Logistic function  = cicli Output ≤ 0.1 per 0 ≥ 0.9 per 1 ~ 0 ~ 1 ~ 0 ~ 1 Il problema XOR

69 Soluzione 2 Minimo locale!!!! Output 0.5 per input 11 e presentazioni,  = Il problema XOR

70 APPRENDIMENTO NEL PRECETTRONE GEN. INPUT OUTPUT INIZ. OUTPUT DOPO 250 CICLI (1 CICLO) (  =.1)

71 Il problema XOR Difficoltà di classificazione

72 Teorema : La rete converge a uno stato stabile, che é minimo globale o locale della funzione energia: Le reti di Hopfield  n neuroni binari a soglia u i  connessione completa con pesi simmetrici T ij  evoluzione della rete verso uno stato stabile, a partire da uno stato iniziale assegnato  aggiornamento sequenziale casuale con distribuzione di probabilità uniforme

73 Le reti di Hopfield Dimostrazione: E decresce o resta invariata ad ogni aggiornamento. Se si aggiorna u i a u' i si ha la variazione di energia: Se Dimostrazione: E decresce o resta invariata ad ogni aggiornamento. Se si aggiorna u i a u' i si ha la variazione di energia: Se

74 Le reti di Hopfield  In altre parole, si cambia stato solo se ciò comporta una diminuzione di energia.  Stati stabili sono gli stati di minima energia, in cui E non é abbassata da modifiche di nessuna delle variabili u i  COMPUTAZIONE:  Si bloccano i valori di alcune unità (input)  Si lascia evolvere la rete fino all'equilibrio  Si leggono e interpretano i valori di alcune unità (output)  Il meccanismo probabilistico e l'esistenza di più minimi locali possono portare a risultati diversi in diverse esecuzioni

75  Rete di neuroni binari che usa la tecnica dell'annealing simulato per modificare le connessioni interne  Funzione obiettivo (bilineare):  Matrice di connessione simmetrica  No auto connessioni  Aggiornamento neuroni casuale  Funzione di attivazione sigmoidale casuale governata dalla seguente probabilità di transizione da s a s' ove s é contiguo a s' sse la loro distanza di Hamming é 1 Macchina di Boltzmann

76  processo  stocastico che, all'equilibrio, concentra la probabilità nella regione critica M per V, in base alla legge di distribuzione ove é una costante di normalizzazione  Procedure: MACCHINA DI BOLTZMANN External function: stopping_rule BEGIN prendi una configurazione iniziale s  {0,1} REPEAT calcola V = V(s) prendi uniformemente un i in {1,2,...,n} (scelta di un vettore prossimo) calcola V' = V(s) IF exp(–b(V–V')) > random [0,1) THEN flip si UNTIL stopping_rule é verificata END Macchina di Boltzmann

77 Apprendimento nelle B.M.  Si impara una buona approssimazione della distribuzione di probabilità condizionale sull'insieme di coppie (input, output)  1. Fase positiva Blocco unità di input e di output Evoluzione verso l'equilibrio termico Incremento del peso tra unità contemporaneamente attive (Hebb)  2. Fase negativa Blocco unità di input Evoluzione verso l'equilibrio termico Decremento del peso tra unità contemporaneamente attive  Elimina il rischio di saturazione dei pesi sinaptici

78 Literature & Resources  Textbook:  ”Neural Networks for Pattern Recognition”, Bishop, C.M., 1996  Software:  Neural Networks for Face Recognition ml  SNNS Stuttgart Neural Networks Simulator  Neural Networks at your fingertips


Scaricare ppt "Università di Milano-Bicocca Laurea Magistrale in Informatica Corso di APPRENDIMENTO E APPROSSIMAZIONE Lezione 6 - Reti Neurali Artificiali Prof. Giancarlo."

Presentazioni simili


Annunci Google