La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI

Presentazioni simili


Presentazione sul tema: "LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI"— Transcript della presentazione:

1 LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI
L'idea di riprodurre l'intelligenza mediante sistemi artificiali ha sempre affascinato i ricercatori, e negli anni '40 questa idea ha potuto cominciare ad essere messa in pratica, perché da un lato erano maturate le basi teoriche necessarie, (Turing, Church, von Neumann, …), dall'alro cominciava ad esistere una tecnologia adatta a tradurla in pratica. Storia complicata, non lineare, in cui interagiscono diversi fattori: 1. Neurocibernetica 2. Emergere dell'I.A. 3. Limiti 4. Riemergere dei modelli connessionisti. LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI Giancarlo Mauri Università di Milano - Bicocca

2 1.1. Perché le reti neurali LA POTENZA DEL CALCOLO ELETTRONICO…
I calc. sono molto veloci e precisi nel fare i calcoli … Gli uomini sono relativamente lenti e imprecisi, ma riescono ad asimilare una scena o a capire un discorso molto più rapidamente. Il cervello riesce a risolvere problemi di visione e linguaggio in pochi decimi di secondo, mentre i programmi di A.I. più sofisticati per compiti analoghi non hanno la stessa generalità e sono più lenti. Consideriamo il processo di comprensione di una frase. Per capire il messaggio comunicato, il cervello non deve solo capire il significato delle singole parole, ma deve tener conto di fattori come il contesto, il tono di voce etc. Ci sono quindi numerosi fattori mutuamente interagenti e i calcolatori tradizionali non sono adeguati: – sono sequenziali – richiedono informazioni codificate in forma precisa; é difficile credere che il cervello dia un valore numerico all'inflessione della voce per il processo di comprensione di una frase. 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" Quello che conta é lo schema di interconnessione: da qui il nome "connessionismo" Fino a 10 alla 15 connessioni sinaptiche: più delle stelle nella nostra galassia!!

5 IL CERVELLO COME CALCOLATORE
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: 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
Le r. n. artificiali sono studiate da decenni nella speranza di ottenere prestazioni simili a quelle umane in diversi campi applicativi. L'interesse per le r. n. inizia negli anni '40, col lavoro di … Nei '60 Rosenblatt, Widrow e Hopf si occupano soprattutto di apprendimento nelle r.n. Ulteriori progressi sono limitati dalle carenze tecnologiche rispetto alla implementazione e simulazione di reti di grandi dimensioni. L'interesse ritorna negli anni '80 … 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 LA PRIMA ETA’ DELL’ORO ('50–'60)
1.2. 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 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. 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)
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) Sviluppo di calcolatori basati sulla architettura sequenziale di von Neuman Intelligenza artificiale

10 GLI ANNI DELLA RIPRESA ('80–'90)
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 di back 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
Un aspetto piuttosto importante da discutere é il rapporto tra le l'area tradizionale dell'I.A. e questo nuovo settore. Essi rappresentano impostazioni radicalmente diverse. Tuttavia, credo che sia più produttivo pensare i rapporti tra le due aree in termini di integrazione piuttosto che di contrapposizione, dato che é evidente che ognuna delle due ha punti di forza e lacune 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 Diversi tipi di neur., ma con strutture e caratteristiche comuni. Nucleo membrana dendriti : fili di collegamento assone: collegam. in uscita,tubolare, spesso lungo e ramificato sinapsi: struttura specializzata per la trasmissione tra due neuroni Messaggi trasmessi con meccanismi elettrochimici, dagli assoni di altri neuroni ai dendriti e poi alla membrana e al corpo cellulare. Nel corpo cellulare i segnali vengono "sommati" producendo un certo potenziale; se si supera una soglia critica, caratteristica del neurone, parte un segnale lungo l'assone. Ci sono poi meccanismi di amplificazione che permettono di raggiungere neuroni remoti. 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:
Abbiamo visto gli aspetti generali di funzionamento del neurone biologico. Passo successivo: formulare un modello logico che formalizzi gli aspetti salienti del modello biologico. Un neurone formale é un sistema attivo che modifica il proprio stato interno nel tempo sulla base di sollecitazionbi provenienti dall'esterno. Ha un certo numero di connessioni in ingresso, attraverso cui riceve segnali di attivazione o inibizione da altre unià Ha connessioni in uscita, attraverso cui … i segnali in arrivo determinano lo stato di attivazione Ad ogni connessione é associato un peso quantitativo, positivo o negativo, che fa da moltiplicatore per lo stato di attivazione dell'unità da cui proviene ESEMPIO: (valori numerici sulla rete del lucido) La somma pesata sviuene detta input netto. Lo stato di attivazione e l'uscita sono funzione dell'input netto. GLI ELEMENTI ESSENZIALI: Stato Funzione di transizione Funzione di uscita Modalità di transizione UN ESEMPIO: il neurone binario a soglia (McCulloch, Pitts 1943) <n, C, W, > nome canali vettore soglia input pesi

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

16 Funzioni di trasferimento
2.2. Neuroni formali Possiamo comporre la funzione di transizione di stato e quella di output, considerando direttamente la funzione di trasferimento. Funzioni di trasferimento A gradino Output Input Lineare Output Input

17 2.2. Neuroni formali Output Input Mista Sigmoide Output Input

18 2.3. Reti neurali artificiali
1 3 4 5

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
Il primo tentativo di dotare di capacità di apprendimento una rete artificiale é rappresentato dal percettrone, studiato e costruito da R. negli anni '60. Deve imparare a : discriminare in classi le forme presentategli generalizzare, classificando correttamente anche forme non viste in fase di appr. 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 3.1. Il percettrone Struttura: • • • • Regola di transizione:
Deve imparare a : discriminare in classi le forme presentategli generalizzare, classificando correttamente anche forme non viste in fase di appr. I pesi vengono determinati adattivamente sulla base di una sequenza di esempi presentata. Si vede facilmente che il confine di decisione, che separa la zona in cui l’input é positivo, e quindi la risposta é 1, dalla zona in cui é negativo é una forma lineare, e quindi rappresenta una retta, un piano o in generale un iperpiano. Due classi di punti che possono essere separate da un iperpiano si dicono linearmente separabili, e sono queste le classi che un percettrone semplice può imparare a distinguere. Struttura: w 1 n x t S NODI DI INPUT NODO DI OUTPUT PESI SOGLIA k • • • • 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
Input x = (x1, …, xd) Input esteso x = (x1, …,xd, 1) Pesi w = (w1, …,wd, -) 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 ≥ se yA wy < se yB

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
Si consideri Cerchiamo v tale che v  y ≥ yA' {yi}iN sequenza di addestramento yiA’ yB' occorre infinite volte {wi}iN sequenza dei pesi w0 = scelta arbitraria wk+1= wk se wk  yk ≥ 0 wk + yk altrimenti

30 3.3. Il teorema di convergenza del percettrone
{vi}iN sequenza dei pesi modificati {ti}iN sottosequenza di training corrispondente w0 ≠ w1 = w2 = w3 ≠ w4 = w5 = w6 ≠ w7 ≠ w8 …….. v v v2 v3 t t t2 t3 vj tj < 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 ≥  y  A' Si ponga  = min (y • w | y  A') ( ) vj+1 • w = • w ≥ j •  () + ( ) (vj+1 • w)2 ≤ | vj+1|2 • |w| (Cauchy-Schwarz) | vj+1|2 ≥ (  )

32 Il teorema di convergenza del percettrone
Si ponga M = 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
b dipende dalla soluzione W b non è 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 Ipotesi: Esiste un neurone binario a soglia 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) Per s = 1, ts – ≥ (01 = 1 = 10) Per s = 2, ts – < (11 =0) Questa é una contraddizione, poiché una retta non può salire e poi scendere

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 con f(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 Un esempio .5 1.5 +1 –2 Una rete per l'or esclusivo con una unità nascosta

41 Retropropagazione dell'errore
L'algoritmo (senza unità nascoste) x w y 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

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 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 Il momento evita oscillazioni eccessive nella traiettoria dei pesi Il range –1, 1 permette variazioni di peso anche con sj=0 Si può sfuggire ai minimi locali con algor. tipo Metropolis, che non seguono la discesa più ripida. Bastano tre stati per calcolare tutte le funzioni discrete, ma a noi serve trovare il numero di strati più conveniente Le connessioni all'indietro consentono feedback, ma complicano i calcoli 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

46 Retropropagazione dell'errore
Il tasso di apprendimento 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

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 x3 x1 x2 6.3 -4.2 -4.2 -9.4 2.2 -6.4

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

52 Il problema XOR Soluzione 2 -.8 -4.5 5.3 2.0 -.1 -2.0 8.8 4.3 9.2
Minimo locale!!!! Output 0.5 per input 11 e 01 6.587 presentazioni, =0.25

53 Il problema XOR APPRENDIMENTO NEL PRECETTRONE GEN.
INPUT OUTPUT INIZ OUTPUT DOPO 250 CICLI (1 CICLO) ( = .1)

54 Il problema XOR -.4 -.9 -6.9 -3.3 -1.8 -2.0 -1.6 -1.4 -.8 -1.4 -2.3
-1.5 -.4 -1.7 -2.2 -2.9 -1.4 -.7 -.8 -.1 -2.4 -1.2 -1.1 Difficoltà di classificazione

55 Il problema XOR N.B. Non c'è una soluzione corretta a cui convergere, perché la soluzione cambia al variare dell'ambiente! Necessità di feedback dall'ambiente, per un adattamento continuo.

56 Le reti di Hopfield Resta da capire come e "cosa" computa una r.n. Come output, si assume il vettore degli stati di alcuni nodi particolari, rilevato allorché la rete si "ferma" 'se si ferma !!!) Un problema fondamentale é quindi quello della stabilizzazione della rete, intesa come … Vediamo adesso il caso particolare delle reti di Hopfield. Introdotte nel 1982, segnano la rinascita dell'interesse Illustra una memoria associativa che può essere descritta dalle reti. Mostra problemi di ottimizzazione che possono essere risolti n neuroni binari a soglia ui connessione completa con pesi simmetrici Tij evoluzione della rete verso uno stato stabile, a partire da uno stato iniziale assegnato aggiornamento sequenziale casuale con equidistribuzione di probabilità Teorema: La rete converge a uno stato stabile, che é minimo globale o locale della funzione energia: Dimostrazione: E decresce o resta invariata ad ogni aggiornamento. Se si aggiorna ui a u'i si ha la variazione di energia: Se

57 Le reti di Hopfield COMPUTAZIONE:
N.B. Dipende crucialmente dalla ipotesi di simmetria. Altrimenti si avrebbe 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 ui 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.

58 Macchina di Boltzmann La BM é un modello computazionale parallelo adatto per compiti di soddisfazione di vincoli con un gran numero di vincoli. Introdotta da Hinton, Ackley, Sejnowski, può essere vista come una generalizzazione probabilistica del modello det. descritto da Hopfield. Trova i minimi globali della funz. energia, convergendo a una distribuz. uniforme sui minimi gmlobali grazie alla applicazione della tecnica cosiddetta di a.s. Per questa caratteristicapuò essere usata per risolvere (approx) problemi di ottimizzazione combinatoria e per implementare algor. di apprendimento o riconoscimento di forme.a come "hw generale" per problemi di ottimizzazione globale. Più formalmente, 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

59 Macchina di Boltzmann La pendenza della funzione diu probabilità é determinata da un parametro di temperatura. 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

60 Apprendimento nelle B.M.
L'algor. di learning consiste di due fasi. La prima é una fase supervisionata i inviano i pattern al sistema e lo si lascia stabilizzare con i pesi correnti. La seconda é non supervisionata: non c'é output atteso, e il sistema evolve fino all'equilibrio. Si aggiornano i pesi con informazioni tratte da queste fasi: la prob. media p'i,j) che le unità i e j siano attive nella fase supervisionata e p'(i,j) che lo siano nella seconda fase. si continua finché la modifica media dei pesi é 0. 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  Decremento del peso tra unità contemporaneamente attive Elimina il rischio di saturazione dei pesi sinaptici

61 Reti neurali e apprendimento
Si aumenta l'efficacia sinaptica delle connessioni tra neuroni contemporaneam. attivi più volte successiva 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)

62 Reti neurali e apprendimento
capacità della rete ad autoorganizzarsi in una topologia che esibisce le caratteristiche desiderate (cambiamento nel comportamento che deriva dall'attività, dall'addestramento o dall'osservazione) Principali metodi di apprendimento: 1. Apprendimento con supervisione noti ingresso e uscita corrispondente i pesi sono modificati per produrre l'uscita migliore 2. Apprendimento rinforzato non è data l'uscita corretta viene detto se l'uscita prodotta é buona o cattiva 3. Apprendimento senza supervisione La rete sviluppa le proprie regole di classificazione mediante l'estrazione di informazioni dagli esempi ricevuti

63 Apprendimento da esempi
L'appr. con supervisione é un caso particolaree del più generale problemla dell'appr. da esempi Input: una sequenza di coppie (argomento, valore) da una funzione f Output: un programma (o una rete neurale) che computa la funzione Approcci  Apprendimento induttivo (Solomonov, Goodman, Blum) [Risultati asintotici]  Apprendimento computazionale (Valiant, Blumer, Natarajan) [ Risultati probabilistici]  Apprendimento con reti neurali (Hinton, Kohonen, Seinowskj)

64 La strategia di apprendimento Le tecniche di minimizzazione
Apprendere come ? Learning is the basic operation mode of n.n., and is based on knowledge acquisition in the absence of explicit programming., starting from a set of examples of the function we want to compute. Since at the end of the learning phase we don't have a symbolic description of the "program" or of the "rules", this kind of learning is called subsymbolic, so as to distinguish it from other techniques for machine learning based on a symbolic approach. An.n. learns by modifying its weights Il compito Data una funzione (ignota) f: X Y Estrarre un campione e sottoporlo a una rete neurale Cercare la rete neurale che simula f La strategia di apprendimento Minimizzare una opportuna funzione della differenza E tra il comportamento effettivo della rete e quello che si accorderebbe col campione Le tecniche di minimizzazione Discesa lungo il gradiente (rispetto ai pesi) La valutazione dell'apprendimento Per generalizzazione della funzione appresa a nuovi esempi mai visti dalla rete

65 Apprendere come ? RETE NEURALE generatore dei parametri iniziali
della rete generatore di esempi RETE NEURALE + modulo di confronto calcolo del gradiente x y z W W' W

66 Alcune applicazioni Filtri adattivi per telecomunicazioni
B. Widrow ADALINE Valutazione rischi per mutui e prestiti Nestor Mortgage Risk Evaluator Training su qualche migliaio di casi Individua pattern di dati associati a forte rischio Può essere configurato come prudente o ottimista Confronto con esperto umano promettente Individuazione di esplosivi SAIC SNOOPE Riconosce il pattern di emissioni gamma di esplosivi Reagisce a poco più di un kg di esplosivo Installato al JFK di NY – Costo: 1.1 M$ Prevista l'installazione in altri grandi aeroporti

67 Alcune applicazioni Monitoraggio di processo Riconoscimento parlato
GTE Produzione lampadine Confronta dati da sensori con gli standard (variaz. di temperatura, pressione, sostanze chimiche) Determina condizioni di produzione ottimali Vantaggi su tecniche statistiche (regressione lineare): raccolta dati incrementale, meno memoria Riconoscimento parlato Intel Accuratezza 99% su un centinaio di parole da un solo speaker Usato per registrare relazioni di ispettori Individuazione prodotti difettosi Siemens Impianti condizionamento per auto rumorosi Accuratezza 90%

68 Prototipi e ricerca Classificazione segnali sonar
Bendix Aerospace Distingue mine da rocce o altri oggetti sul fondo marino Accuratezza 99.8% su dati training, 90% su nuovi dati Riconoscimento sequenze DNA Riconoscimento scrittura manuale (indirizzi) Ottimizzazione prenotazioni e tariffe aeree Lettura assegni Analisi dati clinici (ECG, EEG)

69 Movimento di un braccio flessibile
Prototipi e ricerca Movimento di un braccio flessibile

70 Prototipi e ricerca Controllo degli angoli di un satellite geostazionario


Scaricare ppt "LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI"

Presentazioni simili


Annunci Google