• Non ci sono risultati.

Reti Neurali (Parte III) Corso di AA, anno 2017/18, Padova Fabio Aiolli 08 Novembre 2017

N/A
N/A
Protected

Academic year: 2021

Condividi "Reti Neurali (Parte III) Corso di AA, anno 2017/18, Padova Fabio Aiolli 08 Novembre 2017"

Copied!
16
0
0

Testo completo

(1)

Reti Neurali (Parte III)

Corso di AA, anno 2017/18, Padova

Fabio Aiolli

08 Novembre 2017

(2)

Reti Neurali Multistrato

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 2 / 16

(3)

Reti Neurali Multistrato: terminologia

d unit` a di ingresso: dimensione dei dati in ingresso x ≡ (x

1

, . . . , x

d

), (d + 1 se includiamo la soglia nel vettore dei pesi x

0

≡ (x

0

, x

1

, . . . , x

d

)) N

H

unit` a nascoste (con output y ≡ (y

1

, . . . , y

NH

))

c unit` a di output: dimensione dei dati in output z = (z

1

, . . . , z

c

) e dimensione degli output desiderati t = (t

1

, . . . , t

c

)

w

ji

peso dalla unit` a di ingresso i alla unit` a nascosta j (w

j

` e il vettore pesi dell’unit` a nascosta j )

w

kj

peso dalla unit` a nascosta j alla unit` a di output k (w

k

` e il vettore

pesi dell’unit` a di output k)

(4)

Calcolo gradiente per i pesi di una unit` a di output

∂E

∂w

k ˆˆj

= ∂

∂w

ˆk ˆj

"

1 2cN

N

X

s=1 c

X

k=1

(t

k(s)

− z

k(s)

)

2

#

= 1

2cN

N

X

s=1

∂w

k ˆˆj

"

c

X

k=1

(t

k(s)

− z

k(s)

)

2

#

= 1

2cN

N

X

s=1

2(t

ˆ(s)

k

− z

ˆ(s)

k

) ∂

∂w

k ˆˆj

h

(t

(s)ˆ

k

− z

(s)ˆ

k

) i

= 1

cN

N

X

s=1

(t

ˆ(s)

k

− z

ˆ(s)

k

) ∂

∂w

k ˆˆj

h

t

ˆ(s)

k

− σ(w

ˆk

· y

(s)

) i

= − 1

cN

N

X

s=1

(t

(s)ˆ

k

− z

(s)ˆ

k

0

(w

kˆ

· y

(s)

)y

ˆ(s)

j

= − 1

cN

N

X

s=1

(t

(s)ˆ

k

− z

(s)ˆ

k

)z

kˆ

(1 − z

kˆ

)y

ˆ(s)

j

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 4 / 16

(5)

Calcolo gradiente per i pesi di unit` a nascoste

∂E

∂w

ˆj ˆi

= ∂

∂w

j ˆˆi

"

1 2cN

N

X

s=1 c

X

k=1

(t

k(s)

− z

k(s)

)

2

#

= 1

2cN

N

X

s=1 c

X

k=1

∂w

ˆj ˆi

h

(t

k(s)

− z

k(s)

)

2

i

= 1

2cN

N

X

s=1 c

X

k=1

2(t

k(s)

− z

k(s)

) ∂

∂w

ˆj ˆi

h

−z

k(s)

i

= − 1

cN

N

X

s=1 c

X

k=1

(t

k(s)

− z

k(s)

0

(w

k

· y

(s)

) ∂

∂w

j ˆˆi

NH

X

j =1

w

kj

y

j(s)

= − 1

cN

N

X

s=1 c

X

k=1

(t

k(s)

− z

k(s)

0

(w

k

· y

(s)

)w

k ˆj

∂w

ˆj ˆi

h

y

ˆ(s)

j

i

(6)

Calcolo gradiente per i pesi di unit` a nascoste

= − 1

cN

N

X

s=1 c

X

k=1

(t

k(s)

− z

k(s)

0

(w

k

· y

(s)

)w

k ˆj

∂w

ˆj ˆi

h y

ˆ(s)

j

i

= − 1

cN

N

X

s=1 c

X

k=1

(t

k(s)

− z

k(s)

0

(w

k

· y

(s)

)w

k ˆj

σ

0

(w

· x

(s)

) ∂

∂w

ˆj ˆi

h

w

ˆj

· x

(s)

i

= − 1

cN

N

X

s=1 c

X

k=1

(t

k(s)

− z

k(s)

0

(w

k

· y

(s)

)w

k ˆj

σ

0

(w

· x

(s)

)x

ˆ(s)

i

= − 1

cN

N

X

s=1

σ

0

(w

· x

(s)

)x

ˆ(s)

i c

X

k=1

(t

k(s)

− z

k(s)

)w

k ˆj

σ

0

(w

k

· y

(s)

)

= − 1

cN

N

X

s=1

y

ˆ(s)

j

(1 − y

ˆ(s)

j

)x

ˆ(s)

i c

X

k=1

(t

k(s)

− z

k(s)

)z

k(s)

(1 − z

k(s)

)w

k ˆj

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 6 / 16

(7)

Discesa Batch vs. Stocastica

Batch. Finch´ e la condizione di terminazione non ` e soddisfatta:

1

Calcola ∇E

S

[w]

2

w ← w − η∇E

S

[w]

Stocastica. Finch´ e la condizione di terminazione non ` e soddisfatta, per ogni esempio di training s:

1

Calcola ∇E

s

[w]

2

w ← w − η∇E

s

[w]

Mini-batch. Finch´ e la condizione di terminazione non ` e soddisfatta, consideriamo un sottoinsieme di esempi Q ⊆ S :

1

Calcola ∇E

Q

[w]

2

w ← w − η∇E

Q

[w]

dove in generale E

Q

[w] =

2cN1

P

s∈Q

P

c

k=1

(t

k(s)

− z

k(s)

)

2

, Q ⊆ S .

(8)

Algoritmo Backprop con uno strato nascosto

Back-Propagation-1hl-stocastico(S ,η):

Inizializza tutti i pesi a valori random piccoli (es. tra -0.05 e +0.05) Finch´ e non ` e verificata la condizione di terminazione:

Per ogni (x, t) ∈ S ,

1

Presenta x alla rete e calcola i vettori y e z

2

Per ogni unit` a di output k,

δ

k

= z

k

(1 − z

k

)(t

k

− z

k

)

∆w

kj

= δ

k

y

j 3

Per ogni unit` a nascosta j ,

δ

j

= y

j

(1 − y

j

)

c

X

k=1

w

kj

δ

k

∆w

ji

= δ

j

x

i 4

Aggiorna tutti i pesi: w

sq

← w

sq

+ η∆w

sq

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 8 / 16

(9)

Fase Forward

(10)

Fase Backward

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 10 / 16

(11)

Esempio di funzione errore

(12)

Universalit` a delle reti multi-strato

Teorema (Pinkus, 1996) semplificato

Data una rete feed-forward con un solo livello nascosto, una qualsiasi funzione continua f : R

n

→ R, un qualunque  > 0 piccolo a piacere, per un’ampia classe di funzioni di attivazione, esiste sempre un intero M tale che, la funzione g : R

n

→ R calcolata dalla rete usando almeno M unit`a nascoste approssima la funzione f con tolleranza , ovvero:

max

x∈Ω

|f (x) − g (x)| < 

Notare che il teorema afferma l’esistenza di una rete con M unit` a nascoste che approssima la funzione target con la tolleranza desiderata ma non dice niente su come tale numero M possa essere calcolato!

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 12 / 16

(13)

Alcuni problemi..

La scelta della tipologia della rete determina lo spazio delle ipotesi che si utilizza. Con architetture a 3 livelli (input, hidden, output), il numero delle unit` a nascoste determina la complessit` a dello spazio delle ipotesi

La scelta del passo di discesa (valore di η) pu` o essere determinante per la convergenza:

L’apprendimento ` e generalmente lento (ma il calcolo dell’output a regime ` e veloce)

Minimi locali (anche se efficace in pratica)

(14)

Evitare minimi locali

Aggiunta di un termine (chiamato momento) alla regola di update dei pesi. In pratica viene aggiunto un contributo che deriva dal passo precedente, imponendo una specie di inerzia al sistema

L’uso di apprendimento stocastico (randomizzando sugli esempi) invece che batch pu` o facilitare l’uscita da minimi locali

Apprendimento di reti diverse sugli stessi dati con inizializzazioni differenti e selezione della rete pi` u efficace (per esempio valutando su un validation set). Alternativamente, possiamo considerare un

”comitato” di reti in cui la predizione ` e una media (eventualmente pesata) delle predizioni delle singole reti

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 14 / 16

(15)

Rappresentazione dei livelli nascosti

Una importante caratteristica delle reti neurali multi-strato ` e che

permettono di scoprire utili rappresentazioni (alternative all’input) dei dati

di ingresso. In particolare, l’output delle unit` a nascoste ` e una efficace

rappresentazione dell’input che permette una pi` u semplice separazione dei

dati in output. Nell’esempio si nota come la rappresentazione (encoding)

appreso assomigli all’encoding binario su 3 bit ([100, 011, 010, . . . ]).

(16)

Overfitting

Aumentando il numero di updates sui pesi, l’errore sul validation set prima diminuisce poi incrementa. Perch´ e?

All’inizio, con valori dei pesi piccoli in modulo (molto simili tra di loro) si riescono a descrivere superfici di decisione pi` u ”lisce”.

All’aumentare del valore assoluto la complessit` a della superfice di decisione aumenta e con essa anche la possibilit` a di avere overfitting Soluzioni: Monitorare l’errore su un insieme di dati di validazione, oppure utilizzare un termine aggiuntivo nella funzione errore dipendente dalla norma dei pesi (regolarizzazione).

Fabio Aiolli Reti Neurali (Parte III) 08 Novembre 2017 16 / 16

Riferimenti

Documenti correlati

La trasformazione Albero → Regole permette di generare regole dove si possono considerare contesti per un nodo che non necessariamente contengono i nodi antecedenti (e in particolare

Dare reti multi-strato basate su Perceptron con soglia hard e relativi pesi (senza usare apprendimento) che realizzino funzioni booleane semplici quali: A and (not B), A xor

Non ` e detto che converga ad un

In particolare, essa usa la discesa di gradiente per esplorare lo spazio delle ipotesi e selezionare l’ipotesi che approssima meglio il concetto target (minimizzando una funzione

Step 1 is justified by Cover’s theorem on separability, which states that non-linearly separable patterns may be transformed into a new feature space where the patterns are

Raccolta, analisi e pulizia dei dati Preprocessing e valori mancanti Studio delle correlazioni tra variabili Feature Selection/Weighting/Learning Scelta del predittore e Model

Neural Networks: nonlinear/linear neurons, number of hidden units, η, other learning parameters we have not discussed (e.g., momentum µ) Hold-out or Cross-Validation can be used

Supponendo una distribuzione a priori uniforme sulle ipotesi corrette in H, Seleziona una qualunque ipotesi da VS , con probabilit` a uniforme Il suo errore atteso non ` e peggiore