Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoDonata Sartori Modificato 10 anni fa
2
Reti Neurali Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop Reti Neurali Lezione 5
3
Reti Neurali Outline Perceptron Learning –Unità neurale –Gradiente Discendente Reti Multi-Layer –Funzioni nonlineari –Reti di funzioni nonlineari Backpropagation dellerrore –Lalgoritmo backpropagation –problematiche Ottimi locali Overfitting
4
Reti Neurali Modelli Connezionisti Il cervello umano –Tempo di switch di un neurone: ~ 0.001 (10 -3 ) secondi –Numero di neuroni: ~10-100 miliardi (10 10 – 10 11 ) –connessioni per neurone: ~10-100.000 (10 4 – 10 5 ) –Tempo di classificazione: ~0.1 secondi Reti Neurali artificiali –… 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. - DARPA (1988) Proprietà –Molti neuroni –Molte interconnessioni pesate –Computazione distribuita –I pesi si costituiscono automaticamente
5
Reti Neurali Input: dati numerici di alta dimensionalità –Esempio: input da sensori –Rumore Output: nominale/Numerico/vettoriale –Funzione di forma ignota Risultato: leggibilità meno importante delle performances –Performance misurata in termini di accuratezza –Leggibilità: capacità di spiegare linferenza Esempi –Classificazione di immagini –Predizione finanziaria
6
Reti Neurali Rete neurale –http://www.cs.cmu.edu/afs/cs/project/alv/member/www/projects/ALVINN.html
7
Reti Neurali Riconoscimento di caratteri (Progetto scorso anno) Dimensionalità
8
Reti Neurali Le regioni di decisione Dato x, vogliamo trovare h(x) consistente con c(x) –h(x) può essere approssimata con una funzione lineare y –y = 1: h(x) = + –y = 0: h(x) = - –Qual è una possibile istanziazione di y? –generalizzazione? + - + + - - x1x1 x2x2
9
Reti Neurali Perceptron: modello neuronale singolo –Input definito come una combinazione lineare –Output: funzione di attivazione basata su una soglia sullinput (threshold = w 0 ) Il Perceptron x1x1 x2x2 xnxn w1w1 w2w2 wnwn x 0 = 1 w0w0
10
Reti Neurali Le regioni di decisione Il perceptron può rappresentare alcune funzioni –Emulazione di porte logiche –ESERCIZIO: Quali pesi rappresentano g(x 1, x 2 ) = AND(x 1, x 2 )? OR(x 1, x 2 )? NOT(x)? Alcune funzioni non sono rappresentabili –Non linearmente separabili Esempio A + - + + - - x1x1 x2x2 + + Esempio B - - x1x1 x2x2
11
Reti Neurali Perceptron Learning Regola di learning del Perceptron (Rosenblatt, 1959) –Idea: un target può aggiornare I pesi in modo tale da produrre loutput desiderato –dove t = c(x) è il valore di output atteso, o è il valore di output calcolato – è il tasso di learning
12
Reti Neurali Algoritmo Perceptron learning Algorithm Train-Perceptron (D { }) –inizializza tutti I pesi w i a valori random –WHILE non tutti i valori sono predetti correttamente DO FOR EACH istanza x D Calcola loutput o(x) FOR i = 1 to n w i w i + (t - o)x i
13
Reti Neurali Convergenza dellalgoritmo Teorema di convergenza –Se esiste un insieme di pesi consistente con i dati (cioè: I dati sono linearmente separabili), lalgoritmo converge –Complessità computazionale –Regioni non linearmente separabili –Se le regioni non sono linearmente separabili, lalgorimo entra in un loop infinito –Cicla sugli stessi pesi
14
Reti Neurali Gradiente Discendente: Idea Unità lineari –Consideriamo lunità più semplice: –Obiettivo: trovare il migliore adattamento a D Algoritmo di approssimazione –Minimizzare lerrore sul training set D –Funzione dellerrore: Somma dei quadrati (SSE) Come si minimizza? –Ottimizzazione semplice –Ci muoviamo in direzione del più ripido gradiente nello spazio pesi-errore
15
Reti Neurali Idea di fondo Vogliamo trovare una sequenza di pesi w(1), w(2), …, w(t) tali che Metodo: Giustificazione: –Sviluppo in serie di Taylor al primo ordine –Sostituendo, –Quando è positivo, il secondo addendo è sempre negativo
16
Reti Neurali Gradiente discendente: delta rule Il gradiente Regola di learning
17
Reti Neurali Algoritmo del Gradiente Discendente Algorithm Gradient-Descent (D, r) –Ogni istanza ha la forma, dove x è il vettore di input e t(x) è il valore di output. r è il tasso di learning (ad esempio, 0.05) –Inizializza i pesi w i a valori random –WHILE la condizione di terminazione non è soddisfatta, DO Inizializza ogni w i a 0 FOR each in D, DO Calcola o(x) FOR each w i, DO w i w i + r(t - o)x i FOR each w i, DO w i w i + w i –RETURN w
18
Reti Neurali Concetti Linearmente Separabili: classificazione ottimale –esempio A: Convergenza Concetti Non-LS: approssimazione –esempio B: non LS; la delta rule converge, ma non è ottimale –esempio C: non LS; buona generalizzazione Vettore w = somma dei x D misclassificati –Perceptron: minimizza w –Delta Rule: minimizza errore distanca dal separatore Delta e Perceptron Rules Esempio A + - + + - - x1x1 x2x2 + + Esempio B - - x1x1 x2x2 Esempio C x1x1 x2x2 + + + + + + + + + + + + + - - - - - - - - - - - - - - - ---
19
Reti Neurali Sommario: Perceptron Learning Funzione di base: –Classificazione binaria –Separabilità lineare Due estensioini: –K classi –Relazioni nonlineari
20
Reti Neurali Estensioni K classi Relazioni nonlineari
21
Reti Neurali Unità nonlineari –Funzione dattivazione (originaria): sgn (w x) –Attivazione nonlinare: generalizzazione di sgn Reti Multi-Layer –Multi-Layer Perceptrons (MLPs) –Una rete multi-layer feedforward è composta da uno strato di input, uno strato intermedio (nascosto) e uno strato di output –Gli strati di output è intermedi sono perceptrons (unità nonlineari) MLPs in teoria –Le reti (di 2 or o più strati) possono rappresentare qualsiasi funzione MLPs in pratica –Trovare la topologia giusta è difficoltoso –La fase di training è molto dispendiosa Reti Multi-Layer x1x1 x2x2 x3x3 Input Layer u 11 h1h1 h2h2 h3h3 h4h4 Hidden Layer o1o1 o2o2 v 42 Output Layer
22
Reti Neurali Funzione sigmoidale –Funzione di attivazione a threshold: sgn (w x) –Funzione nonlineare: generalizzazione di sgn – è la funzione sigmoidale –utile per ottenere lupdate dal gradiente per Una unità Reti Multi-layer Funzione iperbolica Funzioni di attivazione nonlineari x1x1 x2x2 xnxn w1w1 w2w2 wnwn x 0 = 1 w0w0
23
Reti Neurali Reti Feed-Forward
24
Reti Neurali Addestramento di FFNNs: Backpropagation Obiettivo: minimizzazione dellerrore Utilizzando Dobbiamo calcolare
25
Reti Neurali Backpropagation (2) Per un peso di output, otteniamo:
26
Reti Neurali Backpropagation (3) riassumendo: Regola di aggiustamento:
27
Reti Neurali Backpropagation (4) Su un peso interno, otteniamo:
28
Reti Neurali Backpropagation (5) riassumendo: Regola di aggiustamento:
29
Reti Neurali Algoritmo Backpropagation x1x1 x2x2 x3x3 Input Layer w 11 h1h1 h2h2 h3h3 h4h4 Hidden Layer o1o1 o2o2 v 42 Output Layer Idea: Riportiamo leffetto dellerrore ai layers successivi Algorithm Train-by-Backprop (D, r) –Ogni istanza ha la forma, dove x è il vettore di input e t(x) è il valore di output. r è il tasso di learning (ad esempio, 0.05) –Inizializza tutti i w i a valori random –UNTIL la condizione di terminazione non è ottenuta, DO FOR EACH in D, DO calcola o(x) = (net(x)) FOR EACH unità k di output, DO FOR EACH unità j interna, DO Aggiorna ogni w = w i,j (a = x j ) o w = v j,k (a = z k ) w start-layer, end-layer w start-layer, end-layer + w start-layer, end-layer w start-layer, end-layer end-layer a end-layer –RETURN w, v
30
Reti Neurali Proprietà Gradiente Discendente –Trova un ottimo locale Backprop in pratica –Tipicamente, si tende ad includere il momento –Quanto generalizza su altri esempi? –La fase di training è molto lenta: migliaia di iterazioni (epoche) –Inferenza (applicazione della rete) estremamente veloce
31
Reti Neurali Potere di rappresentazione x1x1 x2x2 x1x1 x2x2 x1x1 x2x2
32
Reti Neurali Potere di rappresentazione Representational (i.e., Expressive) Power –2-layer feedforward ANN Funzioni booleane Ogni funzione continua limitata –3-layer feedforward ANN: Qualsiasi funzione Inductive Bias –Spazio delle ipotesi continuo –Spazio euclideo n-dimensionale (spazio dei pesi) –Preference bias: interpolazione tra gli esempi positivi –Non ancora compreso a fondo
33
Reti Neurali Unità interne e Feature Extraction –I valori interni rappresentano le proprietà essenziali dellinput esempio Learning Hidden Layer Representations
34
Reti Neurali Evoluzione dellerrore e dei nodi interni error D (o k ) z j (01000000), 1 j 3
35
Reti Neurali –w 0 converge a 0 –Cambiamneti dopo le prime 1000 epoche Evoluzione dei pesi u i1, 1 i 8
36
Reti Neurali Overfitting Overfitting –hpeggio di h su D train, meglio su D test Overtraining –Overfitting dovuto a troppe iterazioni
37
Reti Neurali Overfitting Altre possibili cause –Il numero di nodi interni è fissato –Troppo pochi (underfitting) La rete non riesce a riassumere Analogia: sistemi di equazioni non determinati (troppe variabili rispetto alle equazioni) –Troppi La rete non generalizza analogia: approssimare una parabola con un polinomio di grado >> 2 Approcci –Prevenzione: selezione degli attributi –aggiramento Hold out o k-fold cross-validation Weight decay: decrementiamo ogni peso di un certo fattore ad ogni epoca –recovery: aggiunta o cancellazione di unità interne
38
Reti Neurali Progetto: Reti per il riconoscimento facciale 30 x 32 Inputs sinistra fronte destra su
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.