Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a...

122
Introduzione a Deep Learning Rita Fioresi 1 1 Dipartimento di Matematica, Universita’ di Bologna rita.fi[email protected] February 26, 2018

Transcript of Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a...

Page 1: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Introduzione a Deep Learning

Rita Fioresi1

1 Dipartimento di Matematica, Universita’ di [email protected]

February 26, 2018

Page 2: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

IndiceIntroduzione Storica

PerceptronReti neurali Artificiali (ANN)Applicazioni

ImagenetLa Sfida ImagenetLa Sfida Imagenet: i vincitori

Il meccanismo dell’algoritmo della visioneLe immaginiLa funzione costo (loss)SGD La discesa al gradiente

L’Algoritmo di Deep LearningIl Modello biologicoFunzioni di attivazioneL’algoritmo di una ANNLe ConvoluzioniDettagli Tecnici

Problemi matematiciGraph Neural Networks GNN

Page 3: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La prima rete neurale: perceptron

Perceptron (1957 Rosenblatt): un algoritmo per la classificazionebinaria.

Page 4: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La prima rete neurale: perceptron

Perceptron (1957 Rosenblatt): un algoritmo per la classificazionebinaria.

f (x) =

{

1 if w · x + b > 0

0 otherwise

Dati (input e labels):

Page 5: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La prima rete neurale: perceptron

Perceptron (1957 Rosenblatt): un algoritmo per la classificazionebinaria.

f (x) =

{

1 if w · x + b > 0

0 otherwise

Dati (input e labels):

D = {(x1, d1), . . . , (xs , ds)}

Page 6: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La prima rete neurale: perceptron

Perceptron (1957 Rosenblatt): un algoritmo per la classificazionebinaria.

f (x) =

{

1 if w · x + b > 0

0 otherwise

Dati (input e labels):

D = {(x1, d1), . . . , (xs , ds)}

Training set con s esempi.

Page 7: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La prima rete neurale: perceptron

Perceptron (1957 Rosenblatt): un algoritmo per la classificazionebinaria.

f (x) =

{

1 if w · x + b > 0

0 otherwise

Dati (input e labels):

D = {(x1, d1), . . . , (xs , ds)}

Training set con s esempi.xj ,i e’ il valore della i -esima caratteristica del j-esimo input.

Page 8: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La prima rete neurale: perceptron

Perceptron (1957 Rosenblatt): un algoritmo per la classificazionebinaria.

f (x) =

{

1 if w · x + b > 0

0 otherwise

Dati (input e labels):

D = {(x1, d1), . . . , (xs , ds)}

Training set con s esempi.xj ,i e’ il valore della i -esima caratteristica del j-esimo input.w e’ la matrice dei pesi.

Page 9: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La prima rete neurale: perceptron

Perceptron (1957 Rosenblatt): un algoritmo per la classificazionebinaria.

f (x) =

{

1 if w · x + b > 0

0 otherwise

Dati (input e labels):

D = {(x1, d1), . . . , (xs , ds)}

Training set con s esempi.xj ,i e’ il valore della i -esima caratteristica del j-esimo input.w e’ la matrice dei pesi.

Page 10: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Mark I Perceptron

Page 11: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Mark I PerceptronLa macchina Perceptron al Laboratorio navale, Cornel 1957.

Page 12: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Mark I PerceptronLa macchina Perceptron al Laboratorio navale, Cornel 1957.

Page 13: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

Page 14: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

◮ Inizializziamo i pesi w (random)

Page 15: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

◮ Inizializziamo i pesi w (random)

◮ Per ogni esempio nel Dataset calcoliamo

Page 16: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

◮ Inizializziamo i pesi w (random)

◮ Per ogni esempio nel Dataset calcoliamo

yj(t) = w0(t)xj ,0 + w1(t)xj ,1 + w2(t)xj ,2 + · · ·+ wn(t)xj ,n

Page 17: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

◮ Inizializziamo i pesi w (random)

◮ Per ogni esempio nel Dataset calcoliamo

yj(t) = w0(t)xj ,0 + w1(t)xj ,1 + w2(t)xj ,2 + · · ·+ wn(t)xj ,n

◮ Aggiorniamo i pesi

Page 18: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

◮ Inizializziamo i pesi w (random)

◮ Per ogni esempio nel Dataset calcoliamo

yj(t) = w0(t)xj ,0 + w1(t)xj ,1 + w2(t)xj ,2 + · · ·+ wn(t)xj ,n

◮ Aggiorniamo i pesi

wi(t + 1) = wi (t) + (dj − yj(t))xj ,i , 0 ≤ i ≤ n.

Page 19: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

◮ Inizializziamo i pesi w (random)

◮ Per ogni esempio nel Dataset calcoliamo

yj(t) = w0(t)xj ,0 + w1(t)xj ,1 + w2(t)xj ,2 + · · ·+ wn(t)xj ,n

◮ Aggiorniamo i pesi

wi(t + 1) = wi (t) + (dj − yj(t))xj ,i , 0 ≤ i ≤ n.

◮ Ripetiamo finche’ l’errore:

Page 20: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzionamento del Perceptron

◮ Inizializziamo i pesi w (random)

◮ Per ogni esempio nel Dataset calcoliamo

yj(t) = w0(t)xj ,0 + w1(t)xj ,1 + w2(t)xj ,2 + · · ·+ wn(t)xj ,n

◮ Aggiorniamo i pesi

wi(t + 1) = wi (t) + (dj − yj(t))xj ,i , 0 ≤ i ≤ n.

◮ Ripetiamo finche’ l’errore:

1

s

s∑

j=1

|dj − yj(t)| < ǫ

Page 21: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Classificazione lineare

Page 22: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Classificazione lineare

Perceptron funziona soltanto se il dataset puo’ essere separato inmodo lineare.

Page 23: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Classificazione lineare

Perceptron funziona soltanto se il dataset puo’ essere separato inmodo lineare.

Page 24: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti Neurali Artificiali (ANN)

Page 25: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti Neurali Artificiali (ANN)Esempio di ANN:

Page 26: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti Neurali Artificiali (ANN)Esempio di ANN:

Page 27: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Apprendimento della ANN

Page 28: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Apprendimento della ANNTipi di apprendimento:

Page 29: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Apprendimento della ANNTipi di apprendimento:

◮ Supervisionato (supervised): i pesi vengono appresiattraverso backpropagation e analisi del dataset (perceptron).

Page 30: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Apprendimento della ANNTipi di apprendimento:

◮ Supervisionato (supervised): i pesi vengono appresiattraverso backpropagation e analisi del dataset (perceptron).

◮ Semisupervisionato (semisupervised, reinforced): il dato nonviene fornito, ma e’ ottenuto dall’interazione della rete conl’esterno (es. telecamera).

Page 31: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Apprendimento della ANNTipi di apprendimento:

◮ Supervisionato (supervised): i pesi vengono appresiattraverso backpropagation e analisi del dataset (perceptron).

◮ Semisupervisionato (semisupervised, reinforced): il dato nonviene fornito, ma e’ ottenuto dall’interazione della rete conl’esterno (es. telecamera).

◮ Non supervisionato (unsupervised).

Page 32: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Apprendimento della ANNTipi di apprendimento:

◮ Supervisionato (supervised): i pesi vengono appresiattraverso backpropagation e analisi del dataset (perceptron).

◮ Semisupervisionato (semisupervised, reinforced): il dato nonviene fornito, ma e’ ottenuto dall’interazione della rete conl’esterno (es. telecamera).

◮ Non supervisionato (unsupervised).

I pesi vengono appresi minimizzando la funzione costo (loss)

Page 33: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Apprendimento della ANNTipi di apprendimento:

◮ Supervisionato (supervised): i pesi vengono appresiattraverso backpropagation e analisi del dataset (perceptron).

◮ Semisupervisionato (semisupervised, reinforced): il dato nonviene fornito, ma e’ ottenuto dall’interazione della rete conl’esterno (es. telecamera).

◮ Non supervisionato (unsupervised).

I pesi vengono appresi minimizzando la funzione costo (loss)

Page 34: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Applicazioni principali delle ANN

Page 35: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Applicazioni principali delle ANN◮ Apprendimento Supervisionato: riconoscimento di

immagini/testi/suoni (usi civili, militari, medici e industriali).

Page 36: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Applicazioni principali delle ANN◮ Apprendimento Supervisionato: riconoscimento di

immagini/testi/suoni (usi civili, militari, medici e industriali).◮ Apprendimento Semisupervisionato: macchine uso

domestico, labelling di immagini (GAN).

Page 37: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Applicazioni principali delle ANN◮ Apprendimento Supervisionato: riconoscimento di

immagini/testi/suoni (usi civili, militari, medici e industriali).◮ Apprendimento Semisupervisionato: macchine uso

domestico, labelling di immagini (GAN).◮ Non supervisionato: macchine a guida autonoma, etc.

Page 38: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Applicazioni principali delle ANN◮ Apprendimento Supervisionato: riconoscimento di

immagini/testi/suoni (usi civili, militari, medici e industriali).◮ Apprendimento Semisupervisionato: macchine uso

domestico, labelling di immagini (GAN).◮ Non supervisionato: macchine a guida autonoma, etc.

Page 39: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet ILSVRC:

ImageNet Large Scale Visual Recognition Challenge

Page 40: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet ILSVRC:

ImageNet Large Scale Visual Recognition Challenge

◮ 2010 20000 immagini, 20 categorie: 25% errore.

Page 41: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet ILSVRC:

ImageNet Large Scale Visual Recognition Challenge

◮ 2010 20000 immagini, 20 categorie: 25% errore.

◮ 2011 1 milione di immagini, 1000 categorie: 16% errore.

Page 42: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet ILSVRC:

ImageNet Large Scale Visual Recognition Challenge

◮ 2010 20000 immagini, 20 categorie: 25% errore.

◮ 2011 1 milione di immagini, 1000 categorie: 16% errore.

◮ 2015 1 milione di immagini, 1000 categorie: 4% errore.

Page 43: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet ILSVRC:

ImageNet Large Scale Visual Recognition Challenge

◮ 2010 20000 immagini, 20 categorie: 25% errore.

◮ 2011 1 milione di immagini, 1000 categorie: 16% errore.

◮ 2015 1 milione di immagini, 1000 categorie: 4% errore.

Nel 2017 la sfida e’ stata dichiarata vinta.

Page 44: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet ILSVRC:

ImageNet Large Scale Visual Recognition Challenge

◮ 2010 20000 immagini, 20 categorie: 25% errore.

◮ 2011 1 milione di immagini, 1000 categorie: 16% errore.

◮ 2015 1 milione di immagini, 1000 categorie: 4% errore.

Nel 2017 la sfida e’ stata dichiarata vinta.

Page 45: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

Page 46: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

Page 47: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

◮ 2012 Alexnet: Errore 15% Alex Krizhevsky, Ilya Sutskever,and Geoffrey Hinton (la prima CNN)

Page 48: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

◮ 2012 Alexnet: Errore 15% Alex Krizhevsky, Ilya Sutskever,and Geoffrey Hinton (la prima CNN)

◮ 2013 ZF Net: Errore 11% Matthew Zeiler, Rob Fergus, NYU.

Page 49: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

◮ 2012 Alexnet: Errore 15% Alex Krizhevsky, Ilya Sutskever,and Geoffrey Hinton (la prima CNN)

◮ 2013 ZF Net: Errore 11% Matthew Zeiler, Rob Fergus, NYU.

◮ 2014 VGG Net: Errore 7.3% Karen Simonyan, AndrewZisserman, University of Oxford

Page 50: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

◮ 2012 Alexnet: Errore 15% Alex Krizhevsky, Ilya Sutskever,and Geoffrey Hinton (la prima CNN)

◮ 2013 ZF Net: Errore 11% Matthew Zeiler, Rob Fergus, NYU.

◮ 2014 VGG Net: Errore 7.3% Karen Simonyan, AndrewZisserman, University of Oxford

◮ 2014 GoogLeNet: Errore 6.7%

Page 51: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

◮ 2012 Alexnet: Errore 15% Alex Krizhevsky, Ilya Sutskever,and Geoffrey Hinton (la prima CNN)

◮ 2013 ZF Net: Errore 11% Matthew Zeiler, Rob Fergus, NYU.

◮ 2014 VGG Net: Errore 7.3% Karen Simonyan, AndrewZisserman, University of Oxford

◮ 2014 GoogLeNet: Errore 6.7%

◮ 2015 Microsoft ResNet: Errore 3.6%

Page 52: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

La Sfida Imagenet: i vincitori

◮ 2012 Alexnet: Errore 15% Alex Krizhevsky, Ilya Sutskever,and Geoffrey Hinton (la prima CNN)

◮ 2013 ZF Net: Errore 11% Matthew Zeiler, Rob Fergus, NYU.

◮ 2014 VGG Net: Errore 7.3% Karen Simonyan, AndrewZisserman, University of Oxford

◮ 2014 GoogLeNet: Errore 6.7%

◮ 2015 Microsoft ResNet: Errore 3.6%

Page 53: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cosa vede il computer?

Page 54: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cosa vede il computer?

Immagine= insieme di pixels= insieme di vettore tridimensionali

Page 55: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cosa vede il computer?

Immagine= insieme di pixels= insieme di vettore tridimensionalilarghezza × altezza × 33: canali RGB (Red Green Blue)Ogni coordinata e’ un numero tra 0 e 255 (intensita’ luminosa).

Page 56: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineare

Page 57: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).

Page 58: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).Score (il classificatore):

Page 59: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).Score (il classificatore):

f (x)r =10∑

r=1

Wrsxs + br

Page 60: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).Score (il classificatore):

f (x)r =10∑

r=1

Wrsxs + br

W matrice dei pesi (inizializzata random).

Page 61: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).Score (il classificatore):

f (x)r =10∑

r=1

Wrsxs + br

W matrice dei pesi (inizializzata random).x vettore immagine

Page 62: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).Score (il classificatore):

f (x)r =10∑

r=1

Wrsxs + br

W matrice dei pesi (inizializzata random).x vettore immaginef (x) da’ un punteggio per ogni classe. Viene assegnata la classecon il valore piu’ grande.

Page 63: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).Score (il classificatore):

f (x)r =10∑

r=1

Wrsxs + br

W matrice dei pesi (inizializzata random).x vettore immaginef (x) da’ un punteggio per ogni classe. Viene assegnata la classecon il valore piu’ grande.

Page 64: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il classificatore lineareIl problema: 50000 immagini 32× 32× 3 suddivise in 10 categorie(database CIFAR).Score (il classificatore):

f (x)r =10∑

r=1

Wrsxs + br

W matrice dei pesi (inizializzata random).x vettore immaginef (x) da’ un punteggio per ogni classe. Viene assegnata la classecon il valore piu’ grande.

Page 65: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Page 66: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Li = −logefyi

j efj= fyi + log

j

efj , L =∑

i

Li

Page 67: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Li = −logefyi

j efj= fyi + log

j

efj , L =∑

i

Li

yi : classe della i-esima immagine

Page 68: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Li = −logefyi

j efj= fyi + log

j

efj , L =∑

i

Li

yi : classe della i-esima immagineLi esprime la probabilita’ condizionata che si verifichi l’evento“classe yi” data l’immagine xi .

Page 69: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Li = −logefyi

j efj= fyi + log

j

efj , L =∑

i

Li

yi : classe della i-esima immagineLi esprime la probabilita’ condizionata che si verifichi l’evento“classe yi” data l’immagine xi .bias: bi si aggiungono all’immagine xi , influenzano lo score manon dipendono da xi .

Page 70: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Li = −logefyi

j efj= fyi + log

j

efj , L =∑

i

Li

yi : classe della i-esima immagineLi esprime la probabilita’ condizionata che si verifichi l’evento“classe yi” data l’immagine xi .bias: bi si aggiungono all’immagine xi , influenzano lo score manon dipendono da xi .regolarizzazione: λ, si aggiunge un termine per “livellare” i pesi.

Page 71: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Li = −logefyi

j efj= fyi + log

j

efj , L =∑

i

Li

yi : classe della i-esima immagineLi esprime la probabilita’ condizionata che si verifichi l’evento“classe yi” data l’immagine xi .bias: bi si aggiungono all’immagine xi , influenzano lo score manon dipendono da xi .regolarizzazione: λ, si aggiunge un termine per “livellare” i pesi.Un classificatore lineare: funziona solo se il database puo’ essereseparato in modo lineare.

Page 72: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Cross Enthropy Loss: Softmax

Li = −logefyi

j efj= fyi + log

j

efj , L =∑

i

Li

yi : classe della i-esima immagineLi esprime la probabilita’ condizionata che si verifichi l’evento“classe yi” data l’immagine xi .bias: bi si aggiungono all’immagine xi , influenzano lo score manon dipendono da xi .regolarizzazione: λ, si aggiunge un termine per “livellare” i pesi.Un classificatore lineare: funziona solo se il database puo’ essereseparato in modo lineare.

Page 73: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Page 74: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Page 75: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Aggiornamento dei pesi:

Page 76: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Aggiornamento dei pesi:

wij(t + 1) = wij(t)− α∇ Lstoc

Page 77: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Aggiornamento dei pesi:

wij(t + 1) = wij(t)− α∇ Lstoc

Gradiente stocastico: ∇Lstoc =∑32

i=1∇Lrand(i)

Page 78: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Aggiornamento dei pesi:

wij(t + 1) = wij(t)− α∇ Lstoc

Gradiente stocastico: ∇Lstoc =∑32

i=1∇Lrand(i)Gradiente vero: ∇L =

∑50000i=1 ∇Li

Page 79: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Aggiornamento dei pesi:

wij(t + 1) = wij(t)− α∇ Lstoc

Gradiente stocastico: ∇Lstoc =∑32

i=1∇Lrand(i)Gradiente vero: ∇L =

∑50000i=1 ∇Li

Epoca: quando vengono esaminate (quasi) tutte le immagini(attraverso random sampling, senza rimbussolamento!).

Page 80: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Aggiornamento dei pesi:

wij(t + 1) = wij(t)− α∇ Lstoc

Gradiente stocastico: ∇Lstoc =∑32

i=1∇Lrand(i)Gradiente vero: ∇L =

∑50000i=1 ∇Li

Epoca: quando vengono esaminate (quasi) tutte le immagini(attraverso random sampling, senza rimbussolamento!).

Page 81: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente

Aggiornamento dei pesi:

wij(t + 1) = wij(t)− α∇ Lstoc

Gradiente stocastico: ∇Lstoc =∑32

i=1∇Lrand(i)Gradiente vero: ∇L =

∑50000i=1 ∇Li

Epoca: quando vengono esaminate (quasi) tutte le immagini(attraverso random sampling, senza rimbussolamento!).

Page 82: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il neurone come classificatore lineare

Page 83: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il neurone come classificatore lineareNeurone biologico

Page 84: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il neurone come classificatore lineareNeurone biologico

Neurone artificiale

Page 85: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il neurone come classificatore lineareNeurone biologico

Neurone artificiale

Page 86: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzioni di attivazione

Page 87: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzioni di attivazione◮ La sigmoide

Page 88: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzioni di attivazione◮ La sigmoide

◮ RELU (Rectifying Linear Unit)

Page 89: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Funzioni di attivazione◮ La sigmoide

◮ RELU (Rectifying Linear Unit)

Page 90: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali (non convoluzionali)

Page 91: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali (non convoluzionali)

Rete Neurale con 2 strati nascosti

Page 92: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali (non convoluzionali)

Rete Neurale con 2 strati nascosti

f (x) = W3max(0,W2max(0,W1x))

Page 93: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali (non convoluzionali)

Rete Neurale con 2 strati nascosti

f (x) = W3max(0,W2max(0,W1x))

Page 94: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali convoluzionali

Page 95: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali convoluzionali

Convoluzioni: estraggono le features da ciascuna immagine.

Page 96: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali convoluzionali

Convoluzioni: estraggono le features da ciascuna immagine.Rappresentano una convoluzione discreta, ottenuta attraverso unfiltro (kernel).

Page 97: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Reti neurali convoluzionali

Convoluzioni: estraggono le features da ciascuna immagine.Rappresentano una convoluzione discreta, ottenuta attraverso unfiltro (kernel).

Page 98: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Page 99: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Strumenti principali: TensorFlow (Google), PyTorch (Facebook).

Page 100: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Strumenti principali: TensorFlow (Google), PyTorch (Facebook).Computer: GPU (NVidia) non piu’ CPU!

Page 101: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Strumenti principali: TensorFlow (Google), PyTorch (Facebook).Computer: GPU (NVidia) non piu’ CPU!Programmazione intrinsecamente parallela e ad oggetti:dimenticare “if else” e “loops”.

Page 102: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Strumenti principali: TensorFlow (Google), PyTorch (Facebook).Computer: GPU (NVidia) non piu’ CPU!Programmazione intrinsecamente parallela e ad oggetti:dimenticare “if else” e “loops”.Ogni array caricato in memoria simultaneamente e tutti elementodisponibili contemporaneamente.

Page 103: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Strumenti principali: TensorFlow (Google), PyTorch (Facebook).Computer: GPU (NVidia) non piu’ CPU!Programmazione intrinsecamente parallela e ad oggetti:dimenticare “if else” e “loops”.Ogni array caricato in memoria simultaneamente e tutti elementodisponibili contemporaneamente.Libreria Numpy (attenzione, ogni oggetto e’ ridefinito, ognioperatore comune e’ overloaded!)

Page 104: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Strumenti principali: TensorFlow (Google), PyTorch (Facebook).Computer: GPU (NVidia) non piu’ CPU!Programmazione intrinsecamente parallela e ad oggetti:dimenticare “if else” e “loops”.Ogni array caricato in memoria simultaneamente e tutti elementodisponibili contemporaneamente.Libreria Numpy (attenzione, ogni oggetto e’ ridefinito, ognioperatore comune e’ overloaded!)Programmazione ad altissimo livello. PyTorch permette diprogrammare le ANN e CNN in poche righe di codice.

Page 105: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Programmazione delle CNN

Strumenti principali: TensorFlow (Google), PyTorch (Facebook).Computer: GPU (NVidia) non piu’ CPU!Programmazione intrinsecamente parallela e ad oggetti:dimenticare “if else” e “loops”.Ogni array caricato in memoria simultaneamente e tutti elementodisponibili contemporaneamente.Libreria Numpy (attenzione, ogni oggetto e’ ridefinito, ognioperatore comune e’ overloaded!)Programmazione ad altissimo livello. PyTorch permette diprogrammare le ANN e CNN in poche righe di codice.

Page 106: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Graph Neural Networks GNN

L’utilizzo dei grafi nella modellazione di computer vision (Bronsteinet al, 2018).

Page 107: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Graph Neural Networks GNN

L’utilizzo dei grafi nella modellazione di computer vision (Bronsteinet al, 2018).

◮ Una immagine e’ una griglia, dunque un grafo ove ogni pixele’ un nodo.

Page 108: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Graph Neural Networks GNN

L’utilizzo dei grafi nella modellazione di computer vision (Bronsteinet al, 2018).

◮ Una immagine e’ una griglia, dunque un grafo ove ogni pixele’ un nodo.

◮ Una immagine tridimensionale e’ un grafo, dove si effettuauna triangolazione della varieta’ corrispondente.

◮ L’insieme delle relazioni tra un gruppo di persone (es.amicizia su facebook) e’ un grafo.

Page 109: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Graph Neural Networks GNN

L’utilizzo dei grafi nella modellazione di computer vision (Bronsteinet al, 2018).

◮ Una immagine e’ una griglia, dunque un grafo ove ogni pixele’ un nodo.

◮ Una immagine tridimensionale e’ un grafo, dove si effettuauna triangolazione della varieta’ corrispondente.

◮ L’insieme delle relazioni tra un gruppo di persone (es.amicizia su facebook) e’ un grafo.

Domande.

Page 110: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Graph Neural Networks GNN

L’utilizzo dei grafi nella modellazione di computer vision (Bronsteinet al, 2018).

◮ Una immagine e’ una griglia, dunque un grafo ove ogni pixele’ un nodo.

◮ Una immagine tridimensionale e’ un grafo, dove si effettuauna triangolazione della varieta’ corrispondente.

◮ L’insieme delle relazioni tra un gruppo di persone (es.amicizia su facebook) e’ un grafo.

Domande.

1. E’ possibile fare la convoluzione sui grafi?

Page 111: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Graph Neural Networks GNN

L’utilizzo dei grafi nella modellazione di computer vision (Bronsteinet al, 2018).

◮ Una immagine e’ una griglia, dunque un grafo ove ogni pixele’ un nodo.

◮ Una immagine tridimensionale e’ un grafo, dove si effettuauna triangolazione della varieta’ corrispondente.

◮ L’insieme delle relazioni tra un gruppo di persone (es.amicizia su facebook) e’ un grafo.

Domande.

1. E’ possibile fare la convoluzione sui grafi?

2. Come cambia la topologia di un grafo se modifico un lato? (oaggiungo un vertice?)

Page 112: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Graph Neural Networks GNN

L’utilizzo dei grafi nella modellazione di computer vision (Bronsteinet al, 2018).

◮ Una immagine e’ una griglia, dunque un grafo ove ogni pixele’ un nodo.

◮ Una immagine tridimensionale e’ un grafo, dove si effettuauna triangolazione della varieta’ corrispondente.

◮ L’insieme delle relazioni tra un gruppo di persone (es.amicizia su facebook) e’ un grafo.

Domande.

1. E’ possibile fare la convoluzione sui grafi?

2. Come cambia la topologia di un grafo se modifico un lato? (oaggiungo un vertice?)

Page 113: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocastico

Page 114: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:

Page 115: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).

Page 116: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).Il deep learning come sistema dinamico (Chaudari, Soatto 2018):

Page 117: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).Il deep learning come sistema dinamico (Chaudari, Soatto 2018):

dw(t) = −∇Ldt + βB(t)

Page 118: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).Il deep learning come sistema dinamico (Chaudari, Soatto 2018):

dw(t) = −∇Ldt + βB(t)

B(t) e’ un termine stocastico, moto browniano

Page 119: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).Il deep learning come sistema dinamico (Chaudari, Soatto 2018):

dw(t) = −∇Ldt + βB(t)

B(t) e’ un termine stocastico, moto browniano

Problemi.

Page 120: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).Il deep learning come sistema dinamico (Chaudari, Soatto 2018):

dw(t) = −∇Ldt + βB(t)

B(t) e’ un termine stocastico, moto browniano

Problemi.

1. Stabilire che relazione sussiste tra il sistema dinamico con Lloss effettiva e sistema dinamico con Lstoc.

Page 121: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).Il deep learning come sistema dinamico (Chaudari, Soatto 2018):

dw(t) = −∇Ldt + βB(t)

B(t) e’ un termine stocastico, moto browniano

Problemi.

1. Stabilire che relazione sussiste tra il sistema dinamico con Lloss effettiva e sistema dinamico con Lstoc.

2. Stabilire in che regione esistono soluzioni stabili al problema di“minimizzazione” e qual’e’ il loro bacino di stabilita’(Lyapunov).

Page 122: Introduzione a Deep Learning - unibo.itfioresi/2018/dl/dl-conf.pdf · 2018-02-26 · Introduzione a Deep Learning Rita Fioresi1 1 Dipartimento di Matematica, Universita’ di Bologna

Il gradiente stocasticoGradiente stocastico:Invece che minimizzare l’intera loss, siminimizza una piccola parte della loss che viene scelta casualmente(senza rimbussolamento!).Il deep learning come sistema dinamico (Chaudari, Soatto 2018):

dw(t) = −∇Ldt + βB(t)

B(t) e’ un termine stocastico, moto browniano

Problemi.

1. Stabilire che relazione sussiste tra il sistema dinamico con Lloss effettiva e sistema dinamico con Lstoc.

2. Stabilire in che regione esistono soluzioni stabili al problema di“minimizzazione” e qual’e’ il loro bacino di stabilita’(Lyapunov).