1 / 37

Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Lezione 5. Reti Neurali. Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop. Outline. Perceptron Learning Unità neurale Gradiente Discendente Reti Multi-Layer Funzioni nonlineari Reti di funzioni nonlineari

zalman
Download Presentation

Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lezione 5 Reti Neurali Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop

  2. Outline • Perceptron Learning • Unità neurale • Gradiente Discendente • Reti Multi-Layer • Funzioni nonlineari • Reti di funzioni nonlineari • Backpropagation dell’errore • L’algoritmo backpropagation • problematiche • Ottimi locali • Overfitting

  3. Modelli Connezionisti • Il cervello umano • Tempo di switch di un neurone: ~ 0.001 (10-3) secondi • Numero di neuroni: ~10-100 miliardi (1010 – 1011) • connessioni per neurone: ~10-100.000 (104 – 105) • 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

  4. 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 l’inferenza • Esempi • Classificazione di immagini • Predizione finanziaria

  5. Rete neurale • http://www.cs.cmu.edu/afs/cs/project/alv/member/www/projects/ALVINN.html

  6. Riconoscimento di caratteri(Progetto scorso anno) • Dimensionalità

  7. x2 + + - + x1 - - 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?

  8. x0= 1 x1 w1 w0 x2 w2 xn wn Il Perceptron • Perceptron: modello neuronale singolo • Input definito come una combinazione lineare • Output: funzione di attivazione basata su una soglia sull’input (threshold = w0) 

  9. x2 x2 + + - + - + x1 x1 - + - - Esempio A Esempio B Le regioni di decisione • Il perceptron può rappresentare alcune funzioni • Emulazione di porte logiche • ESERCIZIO: Quali pesi rappresentano g(x1, x2) = AND(x1, x2)? OR(x1, x2)? NOT(x)? • Alcune funzioni non sono rappresentabili • Non linearmente separabili

  10. Perceptron Learning • Regola di learning del Perceptron (Rosenblatt, 1959) • Idea: un target può aggiornare I pesi in modo tale da produrre l’output desiderato • dove t = c(x) è il valore di output atteso, o è il valore di output calcolato •  è il tasso di learning

  11. Algoritmo Perceptron learning • Algorithm Train-Perceptron (D  {<x, t(x)c(x)>}) • inizializza tutti I pesi wi a valori random • WHILE non tutti i valori sono predetti correttamente DO FOR EACH istanza x  D Calcola l’output o(x) FOR i = 1 to n wi  wi + (t - o)xi

  12. Convergenza dell’algoritmo • Teorema di convergenza • Se esiste un insieme di pesi consistente con i dati (cioè: I dati sono linearmente separabili), l’algoritmo converge • Complessità computazionale • Regioni non linearmente separabili • Se le regioni non sono linearmente separabili, l’algorimo entra in un loop infinito • Cicla sugli stessi pesi

  13. Gradiente Discendente:Idea • Unità lineari • Consideriamo l’unità più semplice: • Obiettivo: trovare il “migliore adattamento” a D • Algoritmo di approssimazione • Minimizzare l’errore sul training set D • Funzione dell’errore: Somma dei quadrati (SSE) • Come si minimizza? • Ottimizzazione semplice • Ci muoviamo in direzione del più ripido gradiente nello spazio pesi-errore

  14. 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

  15. Il gradiente • Regola di learning Gradiente discendente: delta rule

  16. Algoritmo del Gradiente Discendente • Algorithm Gradient-Descent (D, r) • Ogni istanza ha la forma <x, t(x)>, 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 wi a valori random • WHILE la condizione di terminazione non è soddisfatta, DO Inizializza ogni wi a 0 FOR each <x, t(x)> in D, DO Calcola o(x) FOR each wi, DO wi  wi + r(t - o)xi FOR each wi, DO wi  wi + wi • RETURN w

  17. x2 x2 x2 + + + - + + - - + - + - + + + - + + - - - + - - x1 x1 x1 + + - + - + - - + - - - - - - - - Esempio A Esempio B Esempio C Delta e Perceptron Rules • 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

  18. Sommario: Perceptron Learning • Funzione di base: • Classificazione binaria • Separabilità lineare • Due estensioini: • K classi • Relazioni nonlineari

  19. Estensioni • K classi • Relazioni nonlineari

  20. Output Layer o1 o2 v42 Hidden Layer h1 h2 h3 h4 u 11 x1 x2 x3 Input Layer Reti Multi-Layer • Unità nonlineari • Funzione d’attivazione (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

  21. x0= 1 x1 w1 w0 x2 w2  xn wn Funzioni di attivazione nonlineari • Funzione sigmoidale • Funzione di attivazione a threshold: sgn (w x) • Funzione nonlineare: generalizzazione di sgn •  è la funzione sigmoidale • utile per ottenere l’update dal gradiente per • Una unità • Reti Multi-layer • Funzione iperbolica

  22. Reti Feed-Forward

  23. Addestramento di FFNNs: Backpropagation • Obiettivo: minimizzazione dell’errore • Utilizzando • Dobbiamo calcolare

  24. Backpropagation (2) • Per un peso di output, • otteniamo:

  25. Backpropagation (3) • riassumendo: • Regola di aggiustamento:

  26. Backpropagation (4) • Su un peso interno, • otteniamo:

  27. Backpropagation (5) • riassumendo: • Regola di aggiustamento:

  28. Idea: Riportiamo l’effetto dell’errore ai layers successivi • Algorithm Train-by-Backprop (D, r) • Ogni istanza ha la forma <x, t(x)>, 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 wi a valori random • UNTIL la condizione di terminazione non è ottenuta, DO FOR EACH <x, t(x)> in D, DO calcola o(x) = (net(x)) FOR EACH unità k di output, DO FOR EACH unità j interna, DO Aggiorna ogni w = wi,j (a = xj) o w = vj,k (a = zk) wstart-layer, end-layer  wstart-layer, end-layer +  wstart-layer, end-layer wstart-layer, end-layer  end-layeraend-layer • RETURN w, v Output Layer o1 o2 v42 Hidden Layer h1 h2 h3 h4 w 11 x1 x2 x3 Input Layer Algoritmo Backpropagation

  29. 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

  30. x1 x2 x1 x2 x1 x2 Potere di rappresentazione

  31. 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

  32. Learning Hidden Layer Representations • Unità interne e Feature Extraction • I valori interni rappresentano le proprietà essenziali dell’input • esempio

  33. errorD(ok) zj(01000000), 1  j 3 Evoluzione dell’errore e dei nodi interni

  34. ui1, 1  i 8 Evoluzione dei pesi • w0 converge a 0 • Cambiamneti dopo le prime 1000 epoche

  35. Overfitting • Overfitting • h’peggio dih su Dtrain,meglio su Dtest • Overtraining • Overfitting dovuto a troppe iterazioni

  36. 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

  37. sinistra fronte destra su 30 x 32 Inputs Progetto:Reti per il riconoscimento facciale

More Related