Title: Mercoled
1Lezione 5
Reti Neurali
Mercoledì, 10 Novembre 2004 Giuseppe
Manco References Chapter 4, Mitchell Chapter
1-2,4, Haykin Chapter 1-4, Bishop
2Outline
- Perceptron Learning
- Unità neurale
- Gradiente Discendente
- Reti Multi-Layer
- Funzioni nonlineari
- Reti di funzioni nonlineari
- Backpropagation dellerrore
- Lalgoritmo backpropagation
- problematiche
- Ottimi locali
- Overfitting
3Modelli 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
4Reti 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
5Rete neurale
- http//www.cs.cmu.edu/afs/cs/project/alv/member/ww
w/projects/ALVINN.html
6Riconoscimento di caratteri(Progetto scorso anno)
7Le 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?
8Il Perceptron
- Perceptron modello neuronale singolo
- Input definito come una combinazione lineare
- Output funzione di attivazione basata su una
soglia sullinput (threshold ? w0)
?
9Le 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
10Perceptron 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
11Algoritmo Perceptron learning
- Algorithm Train-Perceptron (D ? ltx, t(x) ?
c(x)gt) - inizializza tutti I pesi wi 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
- wi ? wi ?(t - o)xi
12Convergenza 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
13Gradiente DiscendenteIdea
- 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
14Idea 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
15Gradiente discendente delta rule
16Algoritmo del Gradiente Discendente
- Algorithm Gradient-Descent (D, r)
- Ogni istanza ha la forma ltx, t(x)gt, 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 ltx, t(x)gt 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
17Delta 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
18Sommario Perceptron Learning
- Funzione di base
- Classificazione binaria
- Separabilità lineare
- Due estensioini
- K classi
- Relazioni nonlineari
19Estensioni
- K classi
- Relazioni nonlineari
20Reti Multi-Layer
- 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
21Funzioni di attivazione nonlineari
- 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
22Reti Feed-Forward
23Addestramento di FFNNs Backpropagation
- Obiettivo minimizzazione dellerrore
- Utilizzando
- Dobbiamo calcolare
24Backpropagation (2)
- Per un peso di output,
- otteniamo
25Backpropagation (3)
- riassumendo
- Regola di aggiustamento
26Backpropagation (4)
- Su un peso interno,
- otteniamo
27Backpropagation (5)
- riassumendo
- Regola di aggiustamento
28Algoritmo Backpropagation
29Proprietà
- 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
30Potere di rappresentazione
31Potere 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
32Learning Hidden Layer Representations
- Unità interne e Feature Extraction
- I valori interni rappresentano le proprietà
essenziali dellinput - esempio
33Evoluzione dellerrore e dei nodi interni
34Evoluzione dei pesi
- w0 converge a 0
- Cambiamneti dopo le prime 1000 epoche
35Overfitting
- Overfitting
- hpeggio di h su Dtrain, meglio su Dtest
- Overtraining
- Overfitting dovuto a troppe iterazioni
36Overfitting
- 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 gtgt 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
37ProgettoReti per il riconoscimento facciale