1 / 70

LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI

LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI. Giancarlo Mauri Università di Milano - Bicocca. 1.1. Perché le reti neurali. LA POTENZA DEL CALCOLO ELETTRONICO… calcoli numerici complessi (anni per un uomo) in frazioni di secondo memorizzazione grandi quantità di dati.

erna
Download Presentation

LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI

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. LE RETI NEURALI:MODELLI, ALGORITMIE APPLICAZIONI Giancarlo Mauri Università di Milano - Bicocca

  2. 1.1. Perché le reti neurali • LA POTENZA DEL CALCOLO ELETTRONICO… • calcoli numerici complessi (anni per un uomo) in frazioni di secondo • memorizzazione grandi quantità di dati • … 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)

  3. 1.1. Perché le reti neurali • 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 ?

  4. 1.1. Perché le reti neurali La differenza non sta nelle componenti: Cellule nervose: tempo risposta ordine msec Circuiti logici elettronici: tempo risposta ordine nsec ma nella "architettura"

  5. 1.1. 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: 1010 - 1011 neuroni 105 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

  6. 1.2. Un po' di storia INTERESSE PER IL NEURAL COMPUTING

  7. 1.2. Un po' di storia 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. • 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, atraverso il rafforzamento di connessioni spesso attive. • La regola di apprendimento di Hebb è ancora alla base di molti modelli

  8. 1.2. Un po' di storia LA PRIMA ETA’ DELL’ORO ('50–'60) 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. • 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.

  9. 1.2. Un po' di storia GLI ANNI DELLA CRISI ('70) Sviluppo di calcolatori basati sulla architettura sequenziale di von Neuman Intelligenza artificiale • 1969: M. Minsky, S. Papert • "Perceptrons: an introduction to computational geometry" • Analisi approfondita dei percettroni. • Dimostrazione della inadeguatezza a risolvere molti problemi. 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)

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

  11. 1.3. Campi applicativi • Elaborazione di segnali • Controllo • Riconoscimento di schemi grafici • Elaborazione di immagini • Medicina • Riconoscimento e produzione del parlato • Finanza

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

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

  14. 2.2. Neuroni formali GLI ELEMENTI ESSENZIALI: • Stato • Funzione di transizione • Funzione di uscita • Modalità di transizione UN ESEMPIO:ilneurone binario a soglia(McCulloch, Pitts 1943) • <n, C, W, > • nome canali vettore soglia • input pesi

  15. c1 w1 c2  w2 wn cn 2.2. Neuroni formali • Stati: {0,1} o {-1,1} • Funzione di transizione: s(t+1) = 1ssewisi(t) ≥  • Funzione di uscita: coincide con lo stato • Modalità di transizione: deterministica

  16. Output Input Output Input 2.2. Neuroni formali Funzioni di trasferimento A gradino Lineare

  17. Output Input Output Input 2.2. Neuroni formali Mista Sigmoide

  18. 2.3. Reti neurali artificiali 2 1 3 5 4

  19. 2.3. Reti neurali artificiali • 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 delle schema di connessione per apprendimento • FORMALMENTE: matrice dei pesi vettore delle soglie input netto a i in t funzione di trasferimento

  20. 2.3. Reti neurali artificiali ELEMENTI CARATTERIZZANTI: • tipo di unità • topologia (direzione delle connessioni, numero di strati …) • modalità di attivazione: • seriale ciclica • seriale probabilistica • parallela • mista • modalità di addestramento

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

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

  23. t SOGLIA S NODO DI OUTPUT w w w PESI k n 1 • • • • • • • • NODI DI INPUT x x x 1 k n 3.1. Il percettrone • Struttura: • Regola di transizione: se allora S = 1 altrimenti S = 0

  24. 3.2. 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 {xk} di vettori tale che ve ne siano un numero infinito sia di A che di B • Per ogni xk la rete calcola la risposta • 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

  25. 3.2. Apprendimento nel percettrone • 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.

  26. 3.3. 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y ≥ 0 se yA wy < 0 se yB Input x = (x1, …, xd) Input esteso x = (x1, …,xd, 1) Pesi w = (w1, …,wd, -)

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

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

  29. 3.3. Il teorema di convergenza del percettrone Convergenza Si consideri Cerchiamovtale chev  y ≥ 0 yA' • {yi}iNsequenza di addestramento • yiA’ • yB' occorre infinite volte • {wi}iNsequenza dei pesi • w0 = 0 scelta arbitraria • wk+1= wksewk yk ≥ 0 wk + ykaltrimenti

  30. 3.3. Il teorema di convergenza del percettrone • {vi}iNsequenza dei pesi modificati {ti}iNsottosequenza di training corrispondente w0 ≠w1 = w2 = w3 ≠w4 = w5 = w6 ≠ w7 ≠ w8 …….. v0 v1 v2 v3 t0 t1 t2 t3 • vjtj< 0 j vj+1= vj+tj= vj-1+ tj-1+tj= …… = • TESI: la sequenza{vi} è finita

  31. Il teorema di convergenza del percettrone • DIMOSTRAZIONE • Sia w una qualsiasi soluzione (esiste per ipotesi)! y • w ≥ 0  y  A' • Si ponga = min (y • w | y  A') ( ) • vj+1• w = • w ≥ j • () + ( ) • (vj+1• w)2≤ | vj+1|2• |w|2 (Cauchy-Schwarz) • | vj+1|2 ≥ (  )

  32. Il teorema di convergenza del percettrone • Si pongaM = max {|y|2 | y  A'} • |vj+1|2 = |vj+tj|2 = | vj|2 + 2 vj•tj + |tj|2≤ | vj|2 + |tj|2 (vj•tj < 0) • |vj+1|2 ≤ | tj|2 ≤ j • M () ≤ | vj+1|2 ≤ j M = g(j) (  ) +() f(j) = lineare in j quadratico in j

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

  34. Il teorema di convergenza del percettrone • Ma: • bdipende dalla soluzioneW • bnon è il reale numero di stadi LIMITAZIONI DEL PRECETTRONE Minsky – Papert theory

  35. Un esempio OR ESCLUSIVO (addizione binaria): I punti a valore 1 non sono linearmente separabili da quelli a valore 0 tale che xy = 1 se e solo se x + y ≥. 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 Ipotesi: Esiste un neurone binario a soglia

  36. Il percettrone generalizzato • 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 attivazione: con P(x) funzione sigmoidale. • Per ogni configurazione x del primo strato (ingresso), la rete calcola una configurazione y dell'ultimo strato (uscita)

  37. Il percettrone generalizzato • Obiettivo è che, fissata una mappa f tra configurazioni di ingresso e di uscita, sulla base di una sequenza di stimoli(xk), la rete cambi i pesi delle connessioni in modo che, dopo un numero finito s di passi di apprendimento, l'uscita(yk)coincida conf(xk)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}

  38. Reti multistrato

  39. Reti multistrato REGOLA DELTA E CALO GRADIENTE ● Strategie di apprendimento: ridurre una funzione appropriata della differenza tra il reale output y sull'input x e l'output desiderato t ● Tecnica di riduzione: calo gradiente (versus pesi di connessione) E w

  40. .5 +1 +1 –2 1.5 +1 +1 Un esempio Una rete per l'or esclusivo con una unità nascosta

  41. Retropropagazione dell'errore L'algoritmo (senza unità nascoste) La convergenza a un minimo globale é garantita per funzioni di attivazione lineari senza unità nascoste e per dati consistenti x w y I pesi sono modificati proporzionalmente a questa derivata (regola delta):

  42. Retropropagazione dell'errore Assunzioni • Neuroni u1, u2, …, un: • unità di input • unità nascoste • unità di output • Pesi reali wij • Stati di attivazione sj • Input netto • Funzione di attivazione semilineare differenziabile non decrescente: sj(t+1) = fj(nj(t)) Es. : Funzione logistica

  43. Retropropagazione dell'errore • Sia x input, y output atteso, t output effettivo. • Consideriamo la norma quadratica • Cerchiamo una regola di modifica dei pesi tale che: con tasso di apprendimento. Poiché: dobbiamo determinare

  44. Retropropagazione dell'errore • Passo 1 – Input Il neurone di input j é posto nello stato xj • Passo 2 – Propagazione • Per ogni neurone interno o di output j si calcola lo stato • Passo 3 – Confronto • Per ogni neurone di output j, noto l'output atteso, si calcola: • Passo 4 – Retropropagazione dell'errore • Per ogni neurone nascosto j, si calcola: • Passo 5 – Aggiornamento dei pesi

  45. Retropropagazione dell'errore Limiti • 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 • mancanza di teoremi generali di convergenza • può portare in minimi locali di E • difficoltà per la scelta dei parametri • scarsa capacità di generalizzazione, anche nel caso di buona minimizzazione di E Possibili modifiche migliorative

  46. Retropropagazione dell'errore Il tasso di apprendimento • 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 • grande, rischio di comportamento oscillatorio • piccolo, apprendimento lento Strategie di identificazione della architettura ottimale

  47. Retropropagazione dell'errore Inserimento di connessioni all'indietro • 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 Il ruolo dell'integrazione • la rete può integrarsi con moduli tradizionali, sfruttando tutte le informazioni simboliche e le sinergie che vi possono essere

  48. Come lavorare con la retropropagazione B.P. al lavoro Come evitare i minimi locali? Quanto è lungo il tempo di apprendimento? Come scegliere ? Nessuna risposta teoretica, solo risultati di simulazione

  49. Come lavorare con la retropropagazione Esempio: Funzione Logistica unità output unità nascosta Il ruolo dell'integrazione • Troppo grande: oscillazione • Troppo piccolo: apprendimento lento

  50. Il problema XOR Soluzione 1 y 6.3 -4.2 -4.2 -9.4 x3 2.2 -6.4 -6.4 x1 x2

More Related