Apprendimento Automatico Apprendimento supervisionato

Slides:



Advertisements
Presentazioni simili
Introduzione ai circuiti elettronici digitali
Advertisements

Circuiti sequenziali Capitolo 5.
Integrazione Corso: Analisi Numerica Anno Accademico:
ODE PROBLEMA DI CAUCHY IN 1-D Sia f : I x RR, I  R.
Reti Neurali Alessandro Mazzetti.
Primo sguardo a metodi multivariati per l'analisi del ttH
Attività cerebrale I neuroni si attivano in gruppi sotto lazione di uno stimolo Attività in gruppi ben delimitati con alta o bassa attività Il gruppo.
Pattern Recognition con Reti Neurali MLP
ALGORITMI DI OTTIMIZZAZIONE PER L'ADDESTRAMENTO DI RETI NEURALI
Reti Neurali: studi sull'intelligenza artificiale
Le reti neurali dagli esordi alle applicazioni
Teoria e Tecniche del Riconoscimento
Apprendimento di funzioni algebriche
Valutazione delle ipotesi
Apprendimento di funzioni algebriche
Computational Learning Theory and PAC learning
Apprendimento Automatico: Reti Neurali
Support Vector Machines
Support Vector Machines
Gli Indici di Produttività di Divisia
Inversione differenziale della Cinematica
Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una variabile maggio '11.
Reti neurali naturali ed artificiali
Apprendimento: Regola “Delta”
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Sistemi di equazioni lineari
Ricerca della Legge di Controllo
INGEGNERIA CLINICA E BIOMEDICA
BIOINGEGNERIA S. Salinari Lezione 4.
BIOINGEGNERIA S. Salinari Lezione 6.
BIOINGEGNERIA S. Salinari Lezione 8. RETI AD APPRENDIMENTO NON SUPERVISIONATO Le reti ad apprendimento non supervisionato debbono essere in grado di determinare.
TECNOLOGIE DEI SISTEMI DI CONTROLLO
BIOINGEGNERIA S. Salinari Lezione 7. RETI CON APPRENDIMENTO SUPERVISIONATO A DISTANZA Nello sviluppo delle reti neurali si è proceduto indebolendo via.
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive
Modelli probabilistici
Filtri adattativi.
PATTERN RECOGNITION.
Reti Neurali Ricorrenti
Artificial intelligence
Reti Neurali Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop Reti Neurali Lezione.
Intelligenza Artificiale Algoritmi Genetici
Intelligenza Artificiale
Apprendimento Automatico Apprendimento non supervisionato:
In contrapposizione con i metodi convenzionali (hard computing), le tecniche di soft computing non si basano su procedimenti esprimibili in forma chiusa.
APPLICAZIONI DI INTELLIGENZA ARTIFICIALE ALLA MEDICINA
RETI NEURALI ARTIFICIALI
PoliICR Riconoscimento dei Caratteri Daniele Gasperini – William Spinelli Riconoscimento dei Segnali: un approccio unitario prof. Sergio Brofferio.
Il neurone e i suoi componenti Il nucleo I dendriti Lassone Le connessioni sinaptiche.
Laureando: Enrico Masini
IL CERVELLO UMANO Il cervello umano è sicuramente la struttura più complessa dell‘universo e può essere considerato come una enorme rete neurale. Circa.
Perceptron. è la somma effettuata sul nodo i-esimo dello strato j n è il numero di nodi dello strato j-1 è l'output proveniente dal nodo k-esimo dello.
LE RETI NEURALI: MODELLI, ALGORITMI E APPLICAZIONI
Rete di Hopfield applicata al problema del TSP Federica Bazzano
SEGMENTAZIONE PER OBIETTIVI: CHAID
Esercitazione 2 Reti Neurali Backpropagation. 2 Esercizio 1  Scompattare bp  Compilare i 4 programmi (con make, v.file readme )  Utilizzare i dati.
RETI NEURALI - 2.
Intelligenza Artificiale
Intelligenza Artificiale Reti Neurali
APPROSSIMAZIONE DI FUNZIONI
Learning Non Supervisionato
FILTRI ANALOGICI E DIGITALI Modulo del Corso Integrato di: Progetto di Circuiti per il Trattamento dei Segnali.
Microeconomia Introduzione Teoria del consumatore Impresa e produzione
Metodi di minimizzazione Ricerca del minimo di dove è l’insieme delle variabili (coordinate)
ALGORITMO PER IL CALCOLO DELLA RADICE QUADRATA DI UN NUMERO METODO DI NEWTON Carlo Platella
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Esercitazione N°5 Approssimazione di Funzioni. Esercizio 1 Costruzione di una rete RBF Il metodo più semplice per approssimare una funzione mediante reti.
Le reti neurali Simona Balbi. Cosa sono le reti neurali Una rete neurale artificiale (A)NN è un paradigma di elaborazione dell’informazione ispirato al.
Self-Organizing Map (SOM Kohonen, 1981) è una tecnica di visualizzazione dei dati multidimensionali SOM è una mappa mono- (bi-)dimensionale che rappresenta.
Transcript della presentazione:

Apprendimento Automatico Apprendimento supervisionato Reti Neurali Apprendimento supervisionato Stefano Cagnoni

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

Rete Neurale Artificiale: classificazione Sulla base del flusso dei segnali Reti feedforward: connessioni possibili solo in avanti Reti ricorrenti: connessioni possibili anche da strati più vicini alle uscite (all’indietro) Sulla base dell’organizzazione delle connessioni Reti totalmente connesse : ogni neurone è connesso con ogni altro Reti parzialmente connesse : ogni neurone è connesso ad un particolare sottoinsieme di neuroni reti singolo strato : le unità di ingresso sono connesse direttamente a quelle di uscita reti multistrato : organizzate in gruppi topologicamente equivalenti (strati)

Rete Neurale Artificiale: computabilità Teorema di Kolmogorov: Qualsiasi funzione continua y=f(x):Rn->Rm può essere computata da una opportuna rete ricorrente a 3 strati avente n unità nello strato di ingresso, 2n+1 nello strato nascosto ed m nello strato di uscita e totalmente connessa fra gli strati Problemi : Teorema che dimostra la sola esistenza della soluzione Le unità considerate nel teorema hanno caratteristiche diverse dai neuroni artificiali utilizzati nelle reti neurali Altri teoremi di esistenza (sulle reti neurali multistrato): Una rete neurale con uno strato nascosto avente un numero sufficiente di unità può approssimare qualsiasi funzione continua

Problemi risolubili con diverse topologie

Reti Neurali Artificiali Proprietà: Capacità di apprendere da esempi Capacità di generalizzare (risposte simili in corrispondenza di esempi simili a quelli su cui sono state addestrate) Capacità di astrarre (risposte corrette in corrispondenza di esempi diversi da quelli su cui sono state addestrate) Insensibilità al rumore (capacità di generalizzare anche in presenza di dati alterati o incerti) Decadimento graduale delle prestazioni (il comportamento si altera gradualmente se si eliminano connessioni o si alterano i pesi)

Training L’apprendimento (da esempi) da parte di una rete neurale si configura come un processo iterativo di ottimizzazione: i pesi della rete vengono modificati sulla base delle ‘prestazioni’ della rete su un insieme di esempi si minimizza una funzione obiettivo che rappresenta di quanto il comportamento della rete si discosta da quello desiderato L’insieme degli esempi su cui la rete viene addestrata è detto training set Le prestazioni della rete devono essere verificate su un insieme di dati (test set) che non appartengono al training set

Training L’apprendimento può essere di 2 tipi: con supervisione (supervised learning) senza supervisione (unsupervised learning) Con supervisione: esempi divisi in due componenti: pattern di ingresso teaching input, che specifica l’output che si desidera ottenere in corrispondenza di tale pattern I pesi sono adattati in modo da minimizzare le differenze fra il comportamento della rete e quello desiderato.

Training Senza supervisione: esempi costituiti da soli dati di ingresso. pesi adattati in modo tale che la rete si auto-organizzi in modo da riflettere alcune caratteristiche e regolarità del training set si parla anche di regularity discovery o feature detection

Training

Addestramento con supervisione: Legge di Hebb Prima proposta di modello di apprendimento Modello di tipo correlazionale nato per giustificare l’apprendimento nelle reti neuronali biologiche “se due unità sono attive nello stesso istante il peso della relativa connessione deve essere incrementato” Dwij = e oioj e = Learning Rate Problemi: non sempre conduce a risultati corretti continuando a mostrare gli stessi esempi i pesi crescono indefinitamente (non è plausibile biologicamente e porta a fenomeni di saturazione)

Addestramento con supervisione: Legge di Hebb Se si considera una rete singolo strato con attivazioni lineari e ingressi reali l’apprendimento hebbiano funziona solo se i vettori di ingresso formano un insieme ortogonale. Quindi, se lo spazio di ingresso ha dimensione N, si possono apprendere al max N associazioni esatte In ogni caso la legge è importante in quanto: troviamo traccia dei suoi principi anche in regole di apprendimento più potenti è un utile termine di paragone nello studio delle regole di apprendimento

Addestramento con supervisione: Percettroni Prima realizzazione di rete neurale artificiale (Rosenblatt, fine anni ‘50) Studiato inizialmente per problemi di riconoscimento forme da stimoli di tipo visivo Strato di ingresso (retina) cui sono collegate unità che realizzano una funzione f binaria dell’ingresso (stimolo visivo) collegati poi ad un neurone con attivazione a soglia. f1 w1 f2 w2 S o q wn fn

Addestramento con supervisione: Percettroni Possono realizzare funzioni estremamente complicate (ad es. distinzione fra figure concave e convesse) Per il percettrone esiste una legge di apprendimento: 1. si presenta un pattern di ingresso e si calcola l’uscita 2. se il pattern è stato classificato in modo corretto, ripeti 1. con un nuovo pattern 3. se l’uscita è alta e il teaching input è 0, decrementa di uno i pesi delle linee per cui ii=1 e incrementa la soglia di uno 4. se l’uscita è bassa e il teaching input è 1 fa l’inverso (incrementa i pesi e decrementa la soglia) 5. si ripetono i passi precedenti finché i pesi non convergono.

Addestramento con supervisione: Percettroni Formalmente: op = 1 se net = Si wi ipi > q 0 altrimenti Dpwi = (tp - op) ipi Dp q = (op - tp) In base a un teorema (Rosenblatt) converge alla soluzione in un numero finito di passi, se la soluzione esiste Purtroppo, non sempre esiste (es. XOR, se le uscite della funzione non sono linearmente separabili)

Addestramento con supervisione: discesa lungo il gradiente Si inizializzano i pesi 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 la direzione del 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

Addestramento con supervisione: Regola Delta (o di Widrow e Hoff) Data una rete monostrato con attivazioni lineari, un training set T = { (xp, tp) : p = 1, …., P} P=n.esempi e una funzione ‘errore quadratico’ sul pattern p-mo Ep = S j =1,N (tpj -opj)2 / 2 N=n.unità di uscita, opj,tpj= output/teaching input per l’unità j e una funzione ‘errore globale’ E = S p = 1,P Ep E = E(W), W = matrice dei pesi wij associati alle connessioni ij (dall’unità i verso l’unità j) Se vogliamo minimizzare E possiamo utilizzare una discesa lungo il gradiente, che converge al minimo locale di E più vicino al punto di partenza (inizializzazione dei pesi)

Addestramento con supervisione: Regola Delta Il gradiente di E ha componenti ¶E/¶wij = Sp ¶Ep/¶wij Per la regola di derivazione delle funzioni composte ¶Ep/¶wij = ¶Ep/¶opj · ¶opj/¶wij Dalla definizione di errore - ¶Ep/¶opj = (tpj - opj) = dpj (errore commesso dall’unità j sul pattern p) Per la linearità delle unità (opj = Si wij opi) ¶opj/¶wij = opi da cui ¶Ep/¶wij = - dpj opi (opi=ipi=ipj) e quindi ¶E/¶wij = - Sp dpj opi

Addestramento con supervisione: Regola Delta Discesa lungo il gradiente: Dwij = - e ¶E/¶wij = Sp e ¶Ep/¶wij = e Sp dpj opi = Sp Dpwij Quindi, se e è sufficientemente piccolo, possiamo modificare i pesi dopo la presentazione di un singolo pattern secondo la regola Dpwij = e dpj opi NB Sono tutte quantità facilmente calcolabili

¶+x/ ¶zi = ¶x/ ¶zi + S j>i ¶ +x/ ¶ zj * ¶ zj/ ¶ zi Regola delta per reti multistrato (feedforward): regola di derivazione a catena ¶+x/ ¶zi = ¶x/ ¶zi + S j>i ¶ +x/ ¶ zj * ¶ zj/ ¶ zi Un esempio: z2 = 4 * z1 z3 = 3 * z1 + 5 * z2 ¶ z3/ ¶ z1 = 3, ma in realtà z3 dipende da z1 anche tramite z2 ¶+z3/ ¶z1 = 23 che dà la vera dipendenza, propagata attraverso le variabili intermedie, di z3 da z1

Addestramento con supervisione: Regola Delta Generalizzata (Backpropagation) La regola delta è applicabile solo ad un caso particolare di reti (singolo strato con funzione di attivazione lineare) E’ possibile generalizzare la regola delta per configurazioni multi-strato della rete e per funzioni di attivazione non lineari. Le reti devono essere di tipo feedforward (è possibile definire un ordine topologico dei neuroni e quindi temporale nell’attivazione dei neuroni) Le funzioni di attivazione fj(netj) dei neuroni devono essere continue, derivabili e non decrescenti netpj= Si wij opi per una rete multistrato (i=neuroni che inviano l’output in input a j)

Addestramento con supervisione: Regola Delta Generalizzata (Backpropagation) Anche in questo caso si usa la discesa lungo il gradiente Dpwij = - e ¶Ep/¶wij Per la proprietà di derivazione delle funzioni composte ¶Ep/¶wij = ¶Ep/¶netpj · ¶netpj/¶wij ¶netpj/¶wij = ¶/¶wij (Sk wkj opk ) = opi Definiamo: dpj = - ¶Ep/¶netpj ottenendo così: ¶Ep/¶wij = e dpj opi (analogo della regola delta) Resta da calcolare dpj (stessa definizione data per la regola delta. Infatti per le reti lineari opj=netpj )

Addestramento con supervisione: Regola Delta Generalizzata (Backpropagation) dpj = - ¶Ep/¶netpj = - ¶Ep/¶opj · ¶opj/¶netpj Ma opj = fj(netpj) e ¶opj/¶netpj = dopj/dnetpj = f’j(netpj) Se l’unità j-ma è una unità di uscita ¶Ep/¶opj = - (tpj - opj) Quindi per tali unità dpj = - (tpj - opj) f’j(netpj)

Addestramento con supervisione: Regola Delta Generalizzata (Backpropagation) Se invece l’unità j-ma è una unità nascosta ¶Ep/¶opj = Sk ¶Ep/¶netpk · ¶netpk/¶opj = k>j = Sk ¶Ep/¶netpk · ¶/¶opj Si wik opi = = Sk ¶Ep/¶netpk · wjk = Sk dpk wjk Quindi, per le unità nascoste, si avrà dpj = f’j(netpj) · Sk dpk wjk k>j Quindi per le unità nascoste l’errore dpj è calcolato ricorsivamente a partire dalle unità di uscita (error backpropagation)

Addestramento con supervisione: Regola Delta Generalizzata (Backpropagation) Riassumendo: 1. Si inizializzano i pesi 2. Si presenta il pattern pmo si calcolano le uscite opj corrispondenti si calcola l’errore per le unità di uscita da cui si ricava dpj = - (tpj - opj) f’j(netpj) (per le unità di uscita) Per le unità nascoste si applica ricorsivamente dpj = f’j(netpj) · Sk dpk wjk a partire dallo strato nascosto più vicino all’uscita 3. Si apportano le modifiche ai pesi Dpwij = e dpj opj 4. Si ripetono i punti 2. e 3. fino a convergenza

Addestramento con supervisione: Regola Delta Generalizzata (Backpropagation) Rigorosamente si dovrebbe applicare la variazione dopo avere esaminato tutti i pattern (addestramento batch), ma se e è piccolo si ottiene lo stesso risultato modificandoli dopo ogni pattern (addestramento online). Se si inizializzano i pesi a 0 problemi di convergenza, quindi di solito si usano valori piccoli > 0 (0.05-0.1) Per scendere davvero lungo il gradiente e dovrebbe essere infinitesimo, ma più piccolo è e più lenta è la convergenza. Tuttavia, se e è troppo grande potremmo ‘sorvolare’ un minimo. Si può usare un learning rate adattativo. La discesa lungo il gradiente è poco efficiente.