37
Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop Reti Neurali

Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

  • Upload
    lydang

  • View
    267

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

Giuseppe Manco

References: Chapter 4, Mitchell

Chapter 1-2,4, Haykin Chapter 1-4, Bishop

Reti Neurali

Page 2: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 3: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 4: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

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

Page 5: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

–  http://www.cs.cmu.edu/afs/cs/project/alv/member/www/projects/ALVINN.html

Page 6: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

• Dimensionalità

Page 7: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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?

+

- +

+

- -

x1

x2

Page 8: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Perceptron: modello neuronale singolo –  Input definito come una combinazione lineare

–  Output: funzione di attivazione basata su una soglia sull’input (threshold θ = w0)

x1

x2

xn

w1

w2

wn

Σ

x0 = 1 w0

Page 9: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Esempio A

+

- +

+

- -

x1

x2

+

+

Esempio B

-

- x1

x2

Page 10: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 11: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 12: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 13: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 14: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 15: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Il gradiente

•  Regola di learning

Page 16: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 17: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

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

Esempio A

+

- +

+

- -

x1

x2

+

+

Esempio B

-

- x1

x2

Esempio C

x1

x2

+ +

+

+ +

+ +

+ +

+

+

+ +

-

-

- -

- -

-

- -

-

- -

-

- -

- - -

Page 18: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Funzione di base:

–  Classificazione binaria –  Separabilità lineare

•  Due estensioini: –  K classi –  Relazioni nonlineari

Page 19: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  K classi

•  Relazioni nonlineari

Page 20: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

x1 x2 x3 Input Layer

u 11

h1 h2 h3 h4 Hidden Layer

o1 o2 v42

Output Layer

Page 21: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

x1

x2

xn

w1

w2

wn

Σ

x0 = 1 w0

Page 22: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

Page 23: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Obiettivo: minimizzazione dell’errore

•  Utilizzando

•  Dobbiamo calcolare

Page 24: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Per un peso di output,

•  otteniamo:

Page 25: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  riassumendo:

•  Regola di aggiustamento:

Page 26: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Su un peso interno,

•  otteniamo:

Page 27: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  riassumendo:

•  Regola di aggiustamento:

Page 28: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

x1 x2 x3 Input Layer

w 11

h1 h2 h3 h4 Hidden Layer

o1 o2 v42

Output Layer

•  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-layer aend-layer

–  RETURN w, v

Page 29: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 30: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

x1 x2

x1 x2

x1 x2

Page 31: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 32: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Unità interne e Feature Extraction –  I valori interni rappresentano le proprietà essenziali dell’input

•  esempio

Page 33: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

errorD(ok)

zj(01000000), 1 ≤ j ≤ 3

Page 34: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

–  w0 converge a 0

–  Cambiamneti dopo le prime 1000 epoche

ui1, 1 ≤ i ≤ 8

Page 35: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  Overfitting –  h’peggio di h su Dtrain, meglio su Dtest

•  Overtraining –  Overfitting dovuto a troppe iterazioni

Page 36: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

•  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

Page 37: Reti Neurali - staff.icar.cnr.itstaff.icar.cnr.it/manco/Teaching/datamining/wp-content/uploads/... · Reti Neurali Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin

Reti Neurali

30 x 32 Inputs

sinistra fronte destra su