Introduzione alle Reti Neurali Maurizio Palesi Introduzione alle Reti Neurali 1
Applicazioni dell I.A. n Giochi di strategia è Scacchi, dama, otello n Comprensione del parlato è Analisi sintattica e semantica n Risoluzione di teoremi è Dimostrazioni automatiche n Sistemi esperti è Diagnosi mediche, previsioni Introduzione alle Reti Neurali 2
Ricerca della Soluzione n Si basa su l esplorazione di vaste strutture dati organizzate ad albero n Dopo 10 passi ci sono circa 60.000 nodi da esplorare n Dopo 20 passi ce ne sono circa 3 miliardi e mezzo Introduzione alle Reti Neurali 3
Gli Scacchi n Ogni posizione ammette in media 20 mosse legali n Lo spazio di ricerca è immenso (10 120 ) n Potenza attuale dei computer è 10 8-10 9 posizioni/sec n Ricerca esaustiva è 10 111 s (U 10 17 s) è 10 94 U Introduzione alle Reti Neurali 4
Deep Blue vs. Kasparov n Tuttavia i calcolatori sono più efficienti dell uomo nelle ricerche su grosse strutture dati Deep Blue: 2 10 8 posiz /sec Kasparov: 3 posiz /sec 11 Maggio 1997 ore 19:00 GMT Deep Blue batte Kasparov 3.5 a 2.5 Introduzione alle Reti Neurali 5
Il Dilemma dell I.A. n I computer sono eccellenti nel calcolo, ma falliscono quando si cerca di riprodurre attività tipicamente umane è Percezione sensoriale è Coordinamento senso-motorio è Riconoscimento di immagini è Capacità di adattamento Introduzione alle Reti Neurali 6
Bambino batte Computer 3 a 0 n Sebbene un computer possa battere il campione del mondo di scacchi, esso non è in grado di competere con un bambino di 3 anni nel è Costruire con il Lego è Riconoscere il volto di una persona è Riconoscere la voce dei genitori Introduzione alle Reti Neurali 7
Problema n Le azioni complesse dipendono da molti fattori, che non possono essere previsti esattamente in un programma n Tali fattori devono essere acquisiti con l esperienza, in una fase di apprendimento Introduzione alle Reti Neurali 8
Esempi n Afferraggio di un oggetto è determinato da numerosi fattori è La posizione dell'oggetto è La nostra postura è La dimensione e la forma dell'oggetto è Il peso previsto è Gli eventuali ostacoli interposti Introduzione alle Reti Neurali 9
Riconoscimento del Parlato n Richiede una fase di apprendimento necessaria per è Adattarsi al soggetto che parla è Filtrare i rumori esterni è Separare eventuali altre voci Introduzione alle Reti Neurali 10
Riconoscimento delle Immagini Introduzione alle Reti Neurali 11
L Approccio Neuronale n L estrema difficoltà di trattare questi problemi con il calcolatore ha fatto nascere l'esigenza di studiare nuove metodologie di calcolo, ispirate alle reti neuronali è Medici ü Studi sul cervello è Ingegneri ü Risoluzioni di problemi Introduzione alle Reti Neurali 12
Come Funziona il Cervello? n Quando riconosciamo un volto o afferriamo un oggetto non risolviamo equazioni n Il cervello lavora in modo associativo è Ogni stato sensoriale evoca uno stato cerebrale che viene memorizzato a seconda delle necessità Introduzione alle Reti Neurali 13
Colpire una Palla da Tennis n La traiettoria dipende da diversi fattori è Forza di lancio, angolazione iniziale, effetto, velocità del vento n La previsione della traiettoria richiede è La misurazione precisa delle variabili è La soluzione simultanea di equazioni complesse, da ricalcolare ad ogni acquisizione dei dati Come fa un giocatore a fare tutto questo? Introduzione alle Reti Neurali 14
Fase di Apprendimento n In una fase di apprendimento si provano le azioni e si memorizzano quelle buone è Se la palla è passata in questa zona del campo visivo, fai un passo indietro; è Se la palla Introduzione alle Reti Neurali 15
Fase Operativa n Una volta allenati, il cervello esegue le azioni senza pensare, sulla base delle associazioni apprese è Un meccanismo simile è usato da chi suona o da chi guida Introduzione alle Reti Neurali 16
Il Calcolo Associativo n Un insieme di equazioni complesse vengono risolte mediante una look-up table n Essa è costruita in base all esperienza e viene affinata con l allenamento Stato sensoriale Azione memorizzata Introduzione alle Reti Neurali 17
Evoluzione della Ricerca n 1943, McCulloch e Pitts: nasce il primo modello neurale: il neurone binario a soglia n 1949, Hebb: dagli studi sul cervello, emerge che l apprendimento non è una proprietà dei neuroni, ma è dovuto a una modifica delle sinapsi n 1962, Rosenblatt: propone un nuovo modello di neurone capace di apprendere mediante esempi: il perceptron n 1969, Minsky e Papert: dimostrano i limiti del perceptron: crolla l entusiasmo sulle reti neurali Introduzione alle Reti Neurali 18
Evoluzione della Ricerca n 1982, Hopfield: propone un modello di rete per realizzare memorie associative n 1982, Kohonen: propone un tipo di rete autoorganizzante (mappe recettive) n 1985, Rumelhart, Hinton e Williams: formalizzano l apprendimento di reti neurali con supervisione (Back-Propagation) Introduzione alle Reti Neurali 19
Introduzione alle Reti Neurali n Il cervello è un calcolatore e come tale può essere riprodotto in una macchina n E un calcolatore che opera in parallelo, diversamente dai calcolatori tradizionali che operano in modo seriale Introduzione alle Reti Neurali 20
Neurone n Stazione elementare di elaborazione dell informazione n Trasmissione di un segnale elettrico, originato da squilibri chimici controllati tra interno ed esterno n Dendriti: molti input (da altri neuroni o recettori) n Assone: singolo, si diparte dal colle dell assone output (verso altri neuroni o effettori) Introduzione alle Reti Neurali 21
Le Reti Neurali n Se il neurone biologico consente l intelligenza, perché non dovrebbe consentire l intelligenza artificiale un neurone sintetico?... a neural network is a system composed of many simple processing elements operating in parallel whose function is determined by network structure, connection strengths, and the processing performed at computing elements or nodes. Neural network architectures are inspired by the architecture of biological nervous systems, which use many simple processing elements operating in parallel to obtain high computation rates. (DARPA, 1988) Introduzione alle Reti Neurali 22
A Cosa Servono? n Le reti neurali offrono i seguenti specifici vantaggi nell elaborazione dell informazione è Apprendimento basato su esempi (non è richiesta l elaborazione di un modello aderente alla realtà) è Autoorganizzazione dell informazione nella rete è Robustezza ai guasti (codifica ridondante dell informazione) è Funzionamento in tempo reale (realizzazione HW) Introduzione alle Reti Neurali 23
Cosa sono le Reti Neurali Artificiali? n Le reti neurali sono algoritmi non lineari per l approssimazione di soluzioni di problemi dei quali non esiste un modello preciso, mediante l utilizzo di esempi oppure per classificazioni n Sono un capitolo importante negli argomenti di intelligenza artificiale n Da un altro punto di vista possono essere utilizzate per lo studio delle reti neurali naturali, ovvero dei processi cognitivi Introduzione alle Reti Neurali 24
Computer Seriale (1/2) n Processore molto veloce (10 6 operazioni al secondo) n Tre tipi di memoria è Memoria che contiene le istruzioni è Memoria temporanea per i dati è Memoria permanente n Programma: istruzioni organizzate in modo gerarchico e tabelle di consultazione n L informazione viene elaborata sequenzialmente utilizzando regole e conoscenze predefinite Introduzione alle Reti Neurali 25
Computer Seriale (2/2) n Molto rapido ed efficiente in particolare in compiti difficili per gli esseri umani è Calcoli complessi, rotazioni di immagini tridimensionali, memorizzazione di grandi quantità di dati è che possiedono una soluzione analitica n Inefficienti in compiti facili da risolvere per gli esseri umani è Ttrasformazioni sensorimotorie, riconoscimento visivo Introduzione alle Reti Neurali 26
Cervello n 10 11 neuroni che comunicano in media con 10 4 altri neuroni n Ciascun neurone è un elemento di elaborazione che emette una risposta in funzione del segnale globale in ingresso e della propria soglia di attivazione n Non esiste una distinzione tra elementi di elaborazione e sistemi di immagazzinamento dell informazione n Le conoscenze sono incorporate nelle connessioni (sinapsi) Introduzione alle Reti Neurali 27
Cervello: Il Problema della Codifica n I neuroni sono cellule molto ramificate che ricevono ed inviano segnali elettro-chimici n La frequenza di scarica costituisce il codice fondamentale utilizzato nel cervello per rappresentare l informazione n Esempio è La frequenza di scarica di un neurone sensoriale primario codifica l intensità dello stimolo ed è proporzionale alla interpretazione percettiva dello stimolo Introduzione alle Reti Neurali 28
Concetto di Connessione n Il cervello è formato da tantissimi processori, le cui connessioni possono modificarsi nel tempo n Le connessioni sono è Hardware: entità fisiche è Software: si modificano Introduzione alle Reti Neurali 29
Differenze Cruciali n Cervello è Elaborazione in parallelo è Elaborazione distribuita: molti neuroni sono coinvolti nella stessa operazione è Accesso alle conoscenze per contenuto è Apprendimento: modifica delle connessioni sinaptiche è Codifica sub-simbolica n Calcolatore tradizionale è Elaborazione seriale è Accesso alle conoscenze per indirizzamento è Richiedono programmi che contengano tutte le istruzioni necessarie a risolvere un compito è Codifica simbolica è Manipolazione di simboli Introduzione alle Reti Neurali 30
Modelli Connessionistici n Non esiste una definizione formale, generale dei modelli connessionistici n Generalmente definiti come modelli computazionali accumunati dall ispirazione neurale, ad elaborazione distribuita in parallelo è Noti come reti neurali artificiali o, più semplicemente, reti neurali Introduzione alle Reti Neurali 31
Le Reti Neurali n Che cosa sono le Reti Neurali? è Sono sistemi di elaborazione composti da unità di calcolo (nodi, processori) operanti in parallelo, collegati da connessioni (pesi) attraverso cui viene trasferita l informazione è Ogni unità può ricevere e inviare informazione ad una o più unità contemporaneamente, l informazione quindi è distribuita nel sistema Introduzione alle Reti Neurali 32
Il Neurone Artificiale input 1 Modello di McCulloch-Pitts w 1 input 2 w 2 output w n µ input n Introduzione alle Reti Neurali 33
Critiche al Modello di McCulloch-Pitts n I neuroni reali non possono essere ridotti ad un dipositivo a soglia n Lo spike ha la sua forma continua che ha una durata di qualche millisecondo n Il tempo di propagazione lungo i dendriti non viene considerato n Gli input non sono sincroni n Le interazioni tra input non sono lineari n I pesi sono supposti costanti Introduzione alle Reti Neurali 34
Il Perceptrone (Rosemblatt, 1962) input 1 w 1 input 2 w 2 A(x) output w n µ input n 1.0 0.5 0.0 µ Introduzione alle Reti Neurali 35
Le Reti di Perceptroni i 1 A 1 o 1 i 2 i 3 A 2 o 2 n L apprendimento è la modifica dei parametri in funzione dei parametri di input/ output Introduzione alle Reti Neurali 36
Le Reti di Perceptroni Ingressi Pattern di allenamento Uscita attesa i 1 A 1 o 1 i 2 i 3 A 2 o 2 Correzione dei pesi e dei parametri delle funzioni di attivazione Introduzione alle Reti Neurali 37
Addestramento Introduzione alle Reti Neurali 38
I Vari Tipi di Apprendimento n Supervisionato (learning with a teacher) è Viene specificato per ogni pattern di input, il pattern desiderato in input n Non-supervisionato (learning without a teacher) è I neuroni verranno associati a pattern di ingresso contigui è Clustering è Mappe neurali Introduzione alle Reti Neurali 39
Apprendimento Supervisionato n Obiettivo: se esiste una soluzione, trovare ΔW in modo iterativo tale che l insieme dei pesi ΔW nuovo ottenuto come W nuovo = W vecchio + ΔW nuovo dia luogo a un errore sulle uscite minore di W vecchio n E un problema di ottimizzazione Introduzione alle Reti Neurali 40
Problemi nell Apprendimento Supervisionato n W iniziale è generalmente casuale e può condizionare la convergenza degli algoritmi iterativi n I problemi di convergenza sono legati all esistenza di minimi locali della funzione di errore Introduzione alle Reti Neurali 41
Classificazione n Un perceptron può essere addestrato a riconoscere se un pattern d'ingresso X appartenga o no ad una classe C Introduzione alle Reti Neurali 42
Riconoscitore di Caratteri Introduzione alle Reti Neurali 43
Limiti del Perceptrone n Per apprendere una classificazione, il problema deve essere linearmente separabile è I pattern appartenenti alla classe C devono essere contenuti in un semipiano dello spazio d ingresso n Con n ingressi, lo spazio d ingresso diventa n-dimensionale e i pattern vengono separati da un iperpiano Introduzione alle Reti Neurali 44
Funzioni Linearmente Separabili n Le reti di perceptroni sono efficaci soltanto se gli insiemi da classificare sono linearmente separabili in 2 in 2 in 1 Linearmente separabile in 1 Non linearmente separabile (non è possibile determinare una retta che separi i due insiemi) Introduzione alle Reti Neurali 45
Reti Multistrato n Tutti i neuroni di uno strato sono connessi con tutti i neuroni dello strato successivo n Non esistono connessioni tra neuroni dello stesso strato Strato di uscita Strato nascosto Strato di ingresso Introduzione alle Reti Neurali 46
Reti a 3 Strati n Sono in grado di separare regioni convesse numero di lati numero neuroni nascosti Introduzione alle Reti Neurali 47
Reti a 3 Strati n Sono in grado di separare regioni convesse numero di lati numero neuroni nascosti Introduzione alle Reti Neurali 48
Reti a 3 Strati n Sono in grado di separare regioni convesse numero di lati numero neuroni nascosti Introduzione alle Reti Neurali 49
Reti a 4 Strati n Sono in gradi di separare regioni qualsiasi Introduzione alle Reti Neurali 50
Reti a 4 Strati n L aggiunta di altri strati non migliora la capacità di classificazione Introduzione alle Reti Neurali 51
Implicazioni n Per effettuare classificazioni complesse, i neuroni devono essere non lineari ed essere organizzati su più strati n Problemi è Come si addestra una rete multistrato? è Qual è l uscita desiderata dei neuroni nascosti? Introduzione alle Reti Neurali 52
Back Propagation n Rumelhart-Hinton-Williams, 85 n Apprendimento è Insegnare alla rete un insieme di associazioni desiderate (training set) n Convergenza è Ridurre l errore globale E al variare dei pesi, in modo che E < ε n Generalizzazione è Far si che la rete si comporti bene su esempi mai visti Introduzione alle Reti Neurali 53
Convergenza n Per ridurre l errore al variare dei pesi, si adotta la seguente strategia Introduzione alle Reti Neurali 54
Aggiornamento dei Pesi n Dunque i pesi sono variati in base alla seguente legge Δw ij = η E w ij Regola del gradiente η: coefficiente di apprendimento (learning rate) Introduzione alle Reti Neurali 55
Reti Neurali MLP 14.0 12.0 10.0 Error Surface Local Minima 8.0 Error 6.0 4.0 2.0 w 0 w * Global Minima Weight Space 0.0-3.000 W2-2.000-1.000 0.000 1.000 2.000 3.000 4.000 5.000 6.000 6.000 5.000 4.000 3.000 2.000 1.000 0.000-1.000-2.000-3.000 W1 Introduzione alle Reti Neurali 56
Generalizzazione n E la capacità della rete di riconoscere stimoli leggermente diversi da quelli con cui è stata addestrata n Per valutare la capacità della rete di generalizzare gli esempi del TS, si definisce un altro insieme di esempi, detto Validation Set (VS) n Terminato l apprendimento sul TS (E TS < ε), si valuta l errore sul VS (E VS ) Introduzione alle Reti Neurali 57
Evaluation Overfitting n Quando il modello è valido? è Rischio di Overfitting: ü Sovrastima sui dati di training: il modello si comporta molto bene sui dati di training solo perchè è diventato troppo specifico Error Test Training Cycle Tipicamente procedendo nel training Errore su dati training continua a diminuire. Error su dati di test prima diminuisce e poi cresce Soluzione: fermarsi nel training quando l errore nell insieme di test inizia a crescere Introduzione alle Reti Neurali 58
Generalizzazione n Il numero di parametri da regolare dipende dal numero di neuroni nascosti della rete n Pochi neuroni nascosti potrebbero non essere sufficienti a ridurre l errore globale Introduzione alle Reti Neurali 59
Generalizzazione n Troppi neuroni nascosti potrebbero fossilizzare eccessivamente la rete sugli esempi specifici del TS n La rete risponderebbe bene sul TS, ma l errore sarebbe elevato su altri esempi (overtraining) Introduzione alle Reti Neurali 60
Generalizzazione n Per migliorare la capacità di generalizzazione si può addestrare la rete sul TS, monitorare l errore sul VS (E VS ) e fermare l apprendimento quando E VS < ε VS Introduzione alle Reti Neurali 61
Generalizzazione Introduzione alle Reti Neurali 62