700 likes | 862 Vues
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.
E N D
LE RETI NEURALI:MODELLI, ALGORITMIE 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 • … 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)
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 ?
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"
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
1.2. Un po' di storia INTERESSE PER IL NEURAL COMPUTING
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
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.
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)
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
1.3. Campi applicativi • Elaborazione di segnali • Controllo • Riconoscimento di schemi grafici • Elaborazione di immagini • Medicina • Riconoscimento e produzione del parlato • Finanza
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
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
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
c1 w1 c2 w2 wn cn 2.2. Neuroni formali • Stati: {0,1} o {-1,1} • Funzione di transizione: s(t+1) = 1ssewisi(t) ≥ • Funzione di uscita: coincide con lo stato • Modalità di transizione: deterministica
Output Input Output Input 2.2. Neuroni formali Funzioni di trasferimento A gradino Lineare
Output Input Output Input 2.2. Neuroni formali Mista Sigmoide
2.3. Reti neurali artificiali 2 1 3 5 4
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
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
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)
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
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
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
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.
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: wy ≥ 0 se yA wy < 0 se yB Input x = (x1, …, xd) Input esteso x = (x1, …,xd, 1) Pesi w = (w1, …,wd, -)
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 yA w' := w–y se yB 3. Si prova un nuovo input
3.3. Il teorema di convergenza del percettrone • Correttezza • Sia yA e wy < 0 • Poiché yy ≥ 0 vale w'y = (w+y)y = wy + yy > wy • Quindi w' classifica y in modo "più corretto" rispetto a w. • Ma altri input possono essere classificati "meno correttamente".
3.3. Il teorema di convergenza del percettrone Convergenza Si consideri Cerchiamovtale chev y ≥ 0 yA' • {yi}iNsequenza di addestramento • yiA’ • yB' occorre infinite volte • {wi}iNsequenza dei pesi • w0 = 0 scelta arbitraria • wk+1= wksewk yk ≥ 0 wk + ykaltrimenti
3.3. Il teorema di convergenza del percettrone • {vi}iNsequenza dei pesi modificati {ti}iNsottosequenza 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
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 ≥ ( )
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
Il teorema di convergenza del percettrone f g j Dopo al massimo b modificazioni di peso, il percettrone classifica correttamente ogni input.
Il teorema di convergenza del percettrone • Ma: • bdipende dalla soluzioneW • bnon è il reale numero di stadi LIMITAZIONI DEL PRECETTRONE Minsky – Papert theory
Un esempio OR ESCLUSIVO (addizione binaria): I punti a valore 1 non sono linearmente separabili da quelli a valore 0 tale che xy = 1 se e solo se x + y ≥. Essendo simmetrica, vale anche xy = 1 sse y + x ≥. Sommando e dividendo per 2 si ottiene: xy = 1 sse tx + ty = t(x+y)≥ ove t = (+ )/2. Posto ora x+y = s, abbiamo: xy = 1 sse ts –≥ 0. Dallo studio del polinomio di primo grado in s y = ts – si ottiene: Per s = 0, ts – < 0 (00 = 0) Per s = 1, ts – ≥ 0 (01 = 1 = 10) Per s = 2, ts – < 0 (11 =0) Questa é una contraddizione, poiché una retta non può salire e poi scendere Ipotesi: Esiste un neurone binario a soglia
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)
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}
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
.5 +1 +1 –2 1.5 +1 +1 Un esempio Una rete per l'or esclusivo con una unità nascosta
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):
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
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
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
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
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
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
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
Come lavorare con la retropropagazione Esempio: Funzione Logistica unità output unità nascosta Il ruolo dell'integrazione • Troppo grande: oscillazione • Troppo piccolo: apprendimento lento
Il problema XOR Soluzione 1 y 6.3 -4.2 -4.2 -9.4 x3 2.2 -6.4 -6.4 x1 x2