La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Intelligenza Artificiale Reti Neurali Stefano Cagnoni.

Presentazioni simili


Presentazione sul tema: "Intelligenza Artificiale Reti Neurali Stefano Cagnoni."— Transcript della presentazione:

1 Intelligenza Artificiale Reti Neurali Stefano Cagnoni

2 Reti Neurali Artificiali Paradigma computazionale caratterizzato dal massiccio parallelismo di processori elementari (neuroni artificiali). Ispirato da un modello matematico del neurone (McCulloch & Pitts 1943). Ogni processore può eseguire funzioni di per sé poco significative, ma l’azione combinata di un numero elevato di unità può realizzare funzioni anche molto complesse. Nate alla fine degli anni ‘50, presto abbandonate per i limiti evidenziati da Minsky (Perceptrons, 1969), per poi riaffermarsi alla fine degli anni ‘80, quando fu dimostrato che tali limiti potevano essere superati.

3 Neurone artificiale Costituito da due stadi: sommatore lineare (produce il cosiddetto net input) funzione di attivazione non lineare tipicamente a soglia; gradino o sigmoide 1 / (1 + e -(x -  ) )

4 Rete Neurale Artificiale Architettura a più strati: strato di ingresso strato/i nascosto/i strato di uscita Reti feedforward: connessioni possibili solo in avanti Reti ricorrenti: connessioni possibili anche da strati più vicini alle uscite (all’indietro) IN OUT

5 Reti Neurali Artificiali Ad ogni connessione è associato un peso, utilizzato nel sommatore che costituisce il primo stadio del neurone che riceve dati attraverso la connessione. Il comportamento di una rete neurale è quindi determinato: dal numero dei neuroni dalla topologia dai valori dei pesi associati alle connessioni

6 Problemi risolubili con diverse topologie

7 Reti Neurali Artificiali Proprietà: Capacità di apprendere da esempi Capacità di generalizzare Capacità di astrarre Insensibilità al rumore Decadimento graduale delle prestazioni

8 Training L’addestramento (training) di una rete neurale è un processo iterativo che modifica i pesi della rete sulla base delle ‘prestazioni’ della rete su un insieme di esempi, al fine di minimizzare una funzione obiettivo (cioè di raggiungere un comportamento desiderato). L’insieme degli esempi su cui la rete viene addestrata è detto training set Le prestazioni della rete, ottimizzate sul training set, devono essere poi verificate su dati che non appartengono al training set (test set)

9 Training L’addestramento può essere di 2 tipi: Con supervisione: gli esempi sono divisi in una parte che contiene dati di ingresso ed un’altra parte (teaching input) che contiene le uscite che si desidera ottenere in corrispondenza di tali ingressi. I pesi sono adattati in modo da minimizzare le differenza fra il comportamento della rete e quello desiderato. Senza supervisione: gli esempi sono costituiti dai soli dati di ingresso. I pesi vengono adattati in modo tale che la rete si auto- organizzi in modo da riflettere alcune caratteristiche del training set.

10 Training

11 Addestramento con supervisione: Backpropagation Metodo di ottimizzazione basato sul principio della discesa lungo il gradiente. Minimizza una funzione ‘errore quadratico’ t=1,T i=1,N (y(t) - d(t)) 2 / 2  t=1,T  i=1,N (y(t) - d(t)) 2 / 2 N=dim. Uscita, T=n.esempi, y(t)=output rete, d(t)=teaching input Applicabile a reti di tipo feedforward (in cui è possibile definire un ordine temporale nell’attivazione dei neuroni) Deriva il nome dal fatto che la modifica dei pesi avviene sulla base della “propagazione all’indietro” dell’errore dallo strato di uscita verso quello di ingresso.

12 Addestramento con supervisione: Backpropagation Si inizializzano i pesi con piccoli numeri random Ad ogni iterazione Per ogni esempio nel training set: si calcola l’uscita prodotta dalla attuale configurazione della rete si calcola l’errore si modificano i pesi ‘spostandoli’ lungo il gradiente della funzione errore calcolato rispetto ai pesi fino al raggiungimento di un limite inferiore prestabilito per l’errore o di un certo numero prestabilito di iterazioni

13

14 Regola di derivazione a catena   x/  z i =  x/  z i +  j>i   x/  z j *  z j /  z i Un esempio: z 2 = 4 * z 1 z 3 = 3 * z * z 2  z 3 /  z 1 = 3, ma in realtà z 3 dipende da z 1 anche tramite z2   z 3 /  z 1 = 23 che dà la vera dipendenza, propagata attraverso le variabili intermedie, di z 3 da z 1

15 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen Modello biologico di partenza Nella corteccia cerebrale esistono mappature (proiezioni) di stimoli sensoriali su specifiche reti di neuroni corticali. I neuroni senso-motori costituiscono una mappa distorta (l’estensione di ciascuna regione è proporzionale alla sensibilità della corrispondente area corporea, non alle dimensioni) della superficie corporea. Tuttavia, parti adiacenti della corteccia corrispondono a parti adiacenti della superficie corporea.

16 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen Interazioni laterali fra neuroni eccitazione laterale a breve raggio (  m) azione inibitoria (fino a  m) azione eccitatoria debole a lungo raggio (fino a qualche cm) approssimabili come:

17 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen Mappe “sensoriali”, costituite da un singolo strato di neuroni in cui le unità si specializzano a rispondere a stimoli diversi in modo tale che: ingressi di tipo diverso attivino unità diverse unità topologicamente vicine vengano attivate da ingressi simili

18 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen Singolo strato di neuroni n i i=1,w*h (w=largh. h= alt. mappa) Ogni ingresso X={x j, j=1,N } è collegato a tutti i neuroni Ogni connessione è associata ad un peso w ij Funzione di attivazione f i = 1/d(W i,X) d= distanza Presenza di interazioni laterali

19 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen I pesi di ciascun neurone vengono modificati: in senso eccitatorio proporzionalmente al valore della propria funzione di attivazione e di quelle dei neuroni appartenenti ad un loro vicinato, proporzionalmente alla distanza da essi; in senso inibitorio proporzionalmente al valore della funzione di attivazione dei neuroni esterni al vicinato, proporzionalmente alla distanza da essi. Quindi, se si ripropone lo stesso ingresso alla rete: i neuroni che avevano un valore elevato di attivazione e i vicini mostreranno un’attivazione ancora maggiore i neuroni che rispondevano poco risponderanno ancor meno

20 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen Se si presentano dati ben distribuiti nello spazio degli ingressi, in modo iterativo, ogni neurone si specializza a rispondere a dati di un certo tipo Inoltre, neuroni vicini rispondono a stimoli vicini proiettando, in pratica, lo spazio degli ingressi sullo strato di neuroni. Risultati: riduzione di dimensionalità dei dati da N (dim. dell’ingresso) a m (dimensione della mappa); ogni dato è rappresentato dalla coordinata dell’unità su cui si proietta, cioè quella che ha massima attivazione, cioè quella per cui i cui pesi sono più simili (vicini) al dato stesso.

21 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen In pratica: si partiziona lo spazio degli ingressi in tanti sottospazi quanti sono i neuroni ogni sottospazio s i di S={X k } è definito come: s i = {X j t.che d(X j,W i ) = min t (X i,W t ) } Tassellazione di Voronoi

22 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen Semplificazioni del modello per implementazione algoritmo di addestramento: si modificano i pesi solo nell’intorno del neurone che ha max attivazione (neurone vincente, questo tipo di addestramento è detto anche competitive learning) si considerano solo le interazioni laterali eccitatorie all’interno di un intorno limitato del neurone vincente NB Modificare i pesi in senso eccitatorio significa renderli più simili all’ingresso; modificarli in senso inibitorio significa renderli meno simili.

23 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen  =C (  learning rate, C costante positiva piccola << 1 ) Ripeti - Per ogni esempio x i nel training set: determina l’unità vincente n w modifica i pesi dell’unità vincente e di quelle che si trovano in un suo intorno nel modo seguente: w j (t+1) = w j (t) +  x i - w j (t))  -  (k+1) =  (k) * (1 -  ) (  costante positiva piccola << 1 ) finché la rete non raggiunge una configurazione stabile

24 Addestramento senza supervisione: Mappe auto-organizzanti (SOM) di Kohonen Realizzazione di un clustering dei dati, cioè di una identificazione, nello spazio degli ingressi, di partizioni indotte dalle similitudini/differenze fra i dati ogni partizione è rappresentata da un prototipo (centroide) definito dal valore dei pesi del neurone corrispondente il clustering è di tipo non supervisionato, in quanto non abbiamo alcuna informazione a priori sulle classi di appartenenza dei dati a posteriori è possibile etichettare (classificare) dati in base alla partizione dello spazio degli ingressi cui appartengono


Scaricare ppt "Intelligenza Artificiale Reti Neurali Stefano Cagnoni."

Presentazioni simili


Annunci Google