Anteprima
Vedrai una selezione di 20 pagine su 98
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 1 Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 2
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 6
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 11
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 16
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 21
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 26
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 31
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 36
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 41
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 46
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 51
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 56
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 61
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 66
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 71
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 76
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 81
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 86
Anteprima di 20 pagg. su 98.
Scarica il documento per vederlo tutto.
Riassunto esame Fundamentals of machine learning, Prof. Seidenari Lorenzo, libro consigliato Recognition and Machine Learning, Bishop, Christopher M. Pattern Pag. 91
1 su 98
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Regolarizzatore - Early stopping 2

() | | | | <

sotto il vincolo

Data Augmentation () () '() () '()

( ) ( )

= , ' = ,

Si ha un dataset e si ha che si può creare in cui è una

()

versione “aumentata” di , ad esempio su immagini di rappresentazioni di numeri scritti a

mano, ruotando leggermente di pochi gradi l’immagine riesco a creare da un singolo

() ()

esempio tanti altri esempi della stessa classe . E’ molto importante che la classe sia

invariante rispetto a quella specifica trasformazione applicata, e qui entra in gioco la

conoscenza specifica di dominio.

Dropout δ ∼

( θ )

Per ogni unità si ha un’unità aggiuntiva (anche sugli input ) che rende il

calcolo della rete: = ∑ δ +

()

Ciò che succede in pratica è che, ogni volta che presento un nuovo esempio alla rete

δ θ

campiono dei nuovi , che fanno si che con una certa probabilità la specifica unità

venga spenta o lasciata accesa.

Facendo in questo modo si crea un Ensemble di un numero esponenziale di reti. Attenzione:

non è esattamente un ensemble stile bagging o random forest, in quanto le reti diverse

create non votano in realtà, semplicemente creano varianti che eseguono il train con

qualche porzione delle unità che vengono spente.

Si può dimostrare che:

Ciò implica che la media aritmetica dei logits diventa la media geometrica delle probabilità.

δ

Vi è anche una versione estrema del dropout, in cui mettiamo a zero ogni tranne uno. A

quel punto la rete diventa un modello Naive Bayes, in quanto si ha una diretta relazione tra

la variabile accesa e la corrispondente classe. Il peso relativo a quell’input viene addestrato

singolarmente senza considerare tutti gli altri, quindi il modello diventa generativo. Limita

l’overfitting, ma non riesce ad addestrare bene, in quanto non rappresenta bene i dati. L’idea

da trarre da questo è che un giusto ammontare di dropout è buono per limitare l’overfitting

→ idealmente le variabili combinate con i pesi devono riuscire a classificare bene anche in

gruppi più piccoli e non necessariamente tutte insieme.

Batch Normalization:

idea: modificare la procedura di training e modificare leggermente l’architettura,

regolarizzazione ma leggermente diversa.

ricordare: standardizzazione o normalizzazione sono processi necessari da eseguire sugli

inputs, perché valori alti creano pesi che sono molto distanti dallo zero, che è dove

vorremmo stare specialmente all’inizio.

Idealmente vorremmo cercare che i valori interni alla rete siano sotto controllo anche

durante la computazione al crescere di per migliorare l’apprendimento dei pesi dei layer

più alti. Questo shift dei valori interni della rete viene chiamato Internal Covariate Shift.

L’idea potrebbe essere quella di standardizzare anche i valori interni alla fine dell’epoca su

minibatch di varie dimensioni (e.g. 32, 64 esempi).

Si introduce quindi un BatchNorm layer (anche il dropout in realtà viene visto come un layer,

(1) ()

...

è una lista di valori) che riceve degli inputs dove è la minibatch size e produce

(1) ()

... come suo output: (1) () (1) ()

{ } ( )

... = ...

γ,β

µ

In particolare si calcola che è la media sul batch:

()

1

µ = ∑

=1

e la deviazione standard sul batch: 2

( )

2 ()

1

σ = ∑ − µ

=1

e i vettori standardizzati: ()

() −µ

= 2

σ +ε

ε

dove è un termine che previene la divisione per zero.

()

A questo punto la quantità in output viene calcolata come:

()

()

= γ + β

γ β

dove e sono dei parametri aggiornati man mano dal GD. Idealmente, a seconda dei valori

che impara, il metodo può prevenire questa operazione o amplificarla, non è un’operazione

γ β

hard ma è resa soft dai parametri e introdotti. 2

µ σ

C’è un problema: in fase di predizione, non si ha a disposizione e , in quanto la

predizione sul test non deve dipendere da quale batch di destinazione è finito l’esempio

* *

µ σ

-esimo. Vengono quindi collezionati dei valori e ottenuti tramite accumulazione di

diverse medie e varianze durante la computazione, sull’intero dataset.

L’effetto finale è quello di “accelerazione”, ovvero consente di arrivare all’accuratezza finale

più velocemente, oltre a quello di normalizzazione.

Idealmente è più logico applicare la BatchNormalization prima dell’applicazione della ReLU,

in quanto si assume che durante la BN si abbia a che fare con valori distribuiti secondo

gaussiane, quindi lineari, e poi infine applicare l’operazione non-lineare ReLU.

Adversarial Learning

Idea: trovare una rete “nemica” che ha il compito di cercare di creare un dato “maligno” per

farlo classificare male alla rete che si vuole creare.

()

() ()

In e si ha che la prima immagine è , la seconda è una perturbazione applicata

dalla rete avversaria, la terza è l’immagine risultante dalla somma della prima e dalla

seconda immagine. Si ha che sulla terza immagine gli errori risultanti sono molto alti.

Il problema risulta trasformarsi in:

( ( ', ), )

()

( )

'∈ ,ε

ovvero prendiamo la perturbazione che massimizza la Loss e poi ci applichiamo la

minimizzazione, ottenendo la formula dell’adversarial learning:

∑ ( (

',

), )

()

( )

'∈ ,ε

| | − ' | | < ε

dove in particolare indica che la perturbazione deve avere un certo limite, in

() ()

quanto altrimenti l’esempio cambia anche classe . Devono essere piccole

trasformazioni che perturbano l’esempio, mirando alla robustezza della previsione da parte

della NN.

Convolutional Networks

Contesto: abbiamo ad esempio un’immagine di MNist, ovvero l’immagine di una digit 28x28

pixel (risultante 784 pixel totali), “spiattellati” in un array unico lungo 784 ottenuto tramite

l’operazione flatten, concatenando le righe.

E’ importante che le NN sono invarianti rispetto a trasformazioni tipo permutazioni dei nodi

()

di input (con corrispondenza sui pesi ) che alterano l’ordine dei valori di input .

Idea: ogni sistema di computer vision o reti che trattano immagini dovrebbero fare uso di

“campi recettivi”, che tentano in qualche modo di isolare il focus su una porzione di

immagine alla volta. Idealmente quindi anche la rete, permutando i pixel, non dovrebbe

riuscire a riconoscere nulla e classificare correttamente, perché dovrebbe essere in grado di

osservare porzioni di immagine allo stesso tempo per analizzare la correlazione dei pixel

limitrofi reti convoluzionali perché sfruttano i prodotti di convoluzione.

Prodotto di convoluzione:

si indica con il segnale = {

[ ], ∈ }

[ ] ∈ ℜ < 0 > [ ] = 0

con . Per e dove è la lunghezza dell’input, si ha che .

Il prodotto di convoluzione è dato quindi da

[ ] = ∑ [ ' ] [ − ' ]

'=−∞

ν = ()

oppure secondo il reverse :

ν ∗ [ ] = ∑ ν [

' ] [ − ' ] = ∑

[

− ' + 1

] [

− ' ]

'=1 '=1

= − ' + 1

e ponendo :

ν ∗ [ ] = ∑ [ ] [ − − 1 +

]

=1

L’idea è quella di applicare sull’input un filtro a lunghezza finita

[ 1

]... [

] 0

diversi da

che sono anche i parametri (pesi) che le reti aggiustano.

Valid convolution:

⎡ ⎤

[ ] = ∑ [ ] + − − 1

⎣ ⎦

2

=1

⎡ ⎤

∈ − − 1,

valido solo per .

⎣ ⎦

2

“Same” = variante che considera anche un piccolo padding di zeri:

Altra idea di convoluzione:

Pooling:

ridurre la dimensionalità di una feature map (shape)

Vi sono diversi tipi: →

- avg. pooling fa la media delle feature vicine

→ →

- max pooling prende il valore massimo (comune nelle immagini) invarianza

traslazionale nelle immagini

Stride: alternativa al pooling per ridurre la dimensionalità.

Consiste nell’effettuare un’estrazione delle feature tramite maschera ma con un salto che

non è di 1, ma bensì per esempio saltando un numero di “pixel” pari allo stride scelto.

Recurrent Networks

Idea:

ogni stato si aggiorna secondo un’equazione ricorrente, che mi indica quanto

dell’informazione passata “mantengo” e quanto “prendo” di nuovo dall’input corrente:

ℎ[] = σ ( ℎ [ − 1 ] + [

] )

ℎ [ − 1 ] [ ]

dove rappresenta lo stato precedente e è l’input attuale.

σ

Per varie opzioni non vanno bene varie opzioni (identità e ReLU) ma preferibile usare

ℎ [ − 1, 1

]

sigmoidi ( perché i suoi valori sono limitati tra ).

Idea chiave di funzionamento:

Backprop. through time Reverse Mode AD

Per calcolare la derivata della loss usiamo la chain rule:

∂ ∂ ∂ℎ[] ∂ℎ[]

= ∑

∂ ∂ℎ[] ∂ℎ[] ∂

∂ℎ[] ∂ℎ[−1] ∂ℎ[−2] ∂ℎ[+1]

= ...

dove &pa

Dettagli
Publisher
A.A. 2022-2023
98 pagine
SSD Ingegneria industriale e dell'informazione ING-IND/14 Progettazione meccanica e costruzione di macchine

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ElenaSmith di informazioni apprese con la frequenza delle lezioni di Fundamentals of machine learning e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Firenze o del prof Seidenari Lorenzo.