64
Philippe Giguère CNN (Partie II) : Exemples d’architecture

CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Philippe Giguère

CNN (Partie II) :

Exemples d’architecture

Page 2: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Admin

• Pas de laboratoire cette semaine

• Examen la semaine prochaine

2

Page 3: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Résumé CNN I

• Plus grande profondeur

• Disparition graduelle des têtes fully-connected

– remplacé par Global Average Pooling + 1 layer de fully-connected

• conv 3x3 est la taille dominante

• Parfois conv plus grande que 3x3 à la base

– 5x5 ou 7x7

3

Page 4: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Résumé des architectures CNN I

4AlexNet VGG

GA

P

1 GA

P

par classe

maxpool

maxpool

maxpool

NiNGoogLeNet

Module Inception(multi-branche)

Page 5: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Résumé CNN I

• conv 1x1 sont des réseaux fully-connected

• Servent à réduire la dimensionnalité des featuremaps

5

C1 = 256

H

conv + ReLU,N filtres1x1x256

C2 = N

H

Page 6: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Large Scale Visual Recognition Challenge

6

0

5

10

15

20

25

30

SENetsHu et al.

2017

-Shao et al.

2016

28.225.8

3.57 2.99 2.25

5.1

HumanRussakovsky

et al. 2014

ResNetHe et al.

2015

6.7

GoogLeNetSzegedy et

al.2014

11.7

ZFNetZeiler and

Fergus2013

7.3

VGGSimonyan

and Zisserman

2014

16.4

AlexNetKrizhevsky

et al.2012

-Sanchez

and Perronnin

2011

-Lin et al.

2010

Réseaux profonds

Err

eur

top

-5

8 couches 8 couches

19 couches

22 couches

50-1000 couches

Page 7: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet• Vise l’entraînement de réseaux très profonds (30+

couches)

• Problème du vanishing gradient en partie réglé par la Batch Norm

• Constat : dégradation

des résultats passé une

certaine profondeur

• Intuition : un réseau devrait simplement apprendre la fonction identité – mais l’optimisation n’y arrive pas 8

ICML tutorial 2016, He.

Page 8: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet

• Dilution de l’information de correction (gradient)

• Difficile pour une couche de réutiliser des features des couches précédentes

– perte de l’information flow [1]

• Difficulté d’apprendre la fonction identitaire

9[1] Srivastava, R.K., Greff, K., Schmidhuber, J.: Highway networks. arXivpreprint arXiv:1505.00387 (2015)

Page 9: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet : idée de base

10

couche

couche

ReLU

x

F(x) +

couche

couche

ReLU

F(x)

x

F(x) + x

+

couche

couche

ReLU

F(x)

x

H(x) = F(x) + x

F(x) = H(x) - x

F(x) est le résiduel entre la fonction H(x) désirée et la fonction identitaire :

standard :

skip

• N’ajoute aucun paramètre au réseau, très peu de calcul• Doit avoir au moins deux couches internes

Page 10: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Highway network

• Compétiteur contemporain des ResNet

• Va utiliser du gating pour choisir le mélange résiduel vs. identité

• ResNet a fait le pari qu’il est toujours mieux de faire la somme des deux : architecture plus simple

11

+

couche

couche

ReLU

x

s

W

+-

1

T

Srivastava, R. et al., Training Very Deep Networks, NIPS 2015

( ) ( ) (1 )H x F x T x T= + −

H(x)

F(x)

Page 11: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet

12

+

conv 3x3

conv 3x3

xadapté de : cs231n, Université Stanford

Global avg pool

BN

ReLU

BN

ReLU

Page 12: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet• Apprentissage du résiduel :

– plus facile (car cela peut être que des petits ajustements)

– F(x) initialisé avec des petites valeurs

– pourra facilement apprendre des mappingidentitaires

13adapté de : cs231n, Université Stanford

Notes :• architecture simple de conv 3x3, style VGG

• convolution 7x7 avec stride 2 à la base

• double le # filtre après chaque réduction de taille du feature map

• position des ReLU : sera différente pour version « identity mapping »

• pas de dropout

Global avg pool

Page 13: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet

14adapté de : cs231n, Université Stanford

Global avg pool

Si besoin d’ajuster les dimensions : y =F(x)+ Wsx

Downsampling se fait par des conv avec pas=2

Global Average Pooling

(1x1 conv)

“…we find that the initial learning rate of 0.1 is slightly too large to start converging. So we use 0.01 to warm up the training until the training error is below 80% (about 400 iterations), and then go back to 0.1 and continue training.”

Dans certains cas, besoin de warm up

Page 14: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet

15

Bottleneck(pour efficacité, pas pour régularisation)

Page 15: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

• Ensemble exponentiel 2L de réseaux

• Gradient est atténué dans le résiduel :

– profondeur effective du gradient est de 10-34 couches (sur 110)

ResNet : ensemble implicite

16A. Veit, M. Wilber and S. Belongie. Residual Networks Behave Like Ensembles of Relatively Shallow Networks. arXiv:1605.06431v2,2016.

(similaire à Dropout)

Page 16: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet : ensemble implicite

• Si l’on retire un bloc résiduel ResNet, on élimine un nombre de sous-réseaux

• Il reste encore 2L-1 sous-réseaux

17

On retire f2 :

blo

c ré

sid

uel

f

A. Veit, M. Wilber and S. Belongie. Residual Networks Behave Like Ensembles of Relatively Shallow Networks. arXiv:1605.06431v2,2016.

Page 17: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet : ensemble implicite• Retirer des couches en testing pour ResNet

• Catastrophique pour VGG!

18A. Veit, M. Wilber and S. Belongie. Residual Networks Behave Like Ensembles of Relatively Shallow Networks. arXiv:1605.06431v2,2016.

Page 18: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Stochastic Depth• Aléatoirement retirer des blocs résiduels

lors du training

– dropout empiriquement inutile selon eux

• Conserver plus souvent les blocs résiduels de bas niveau

19Huang et al. Deep Network with Stochastic Depth, 2016.

Page 19: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Stochastic Depth

20

Page 20: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Stochastic Depth• Améliore le flot du gradient, en réduisant

le nombre de couches

21Huang et al. Deep Network with Stochastic Depth, 2016.

epoch

Gradient de la première couche convolutive

Page 21: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Stochastic Depth• Accélère l’entraînement :

– réseaux moins profonds sont plus rapides à entraîner

– 25% moins de calcul (si décroissance linéaire 1→0.5 pour probabilité pl droper le bloc l)

• Forme de régularisation

• Utilise le plein réseau en test

– calibrer les forces des features en fonction de pl

– comme avec dropout

22Huang et al. Deep Network with Stochastic Depth, 2016.

Page 22: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNet version preactivation

23

tiré : ICML workshop 2016, He.

Original «pre-activation»

ReLU dans le chemin du gradient

• Bloc résiduel amélioré• Meilleur flot du gradient • Améliore les résultats

- 6.7% → 4.8% top-5

He et al., Identity Mappings in Deep Residual Networks, ECCV 2016.

Page 23: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Variations de ResNet

Page 24: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4

25

Page 25: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4

26

• convolutions 1x7 et 7x1 (introduits dans v2 et v3)

• Base a seulement un convolution 3x3, stride 2

Champ récepteur de 7x7, mais avec 14/49ème param.

Page 26: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4

• Les 5x5 ont disparus

• Avg Pooling au lieu de max

27

Page 27: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4• Max Pool

28

Page 28: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4• 7x1 et 1x7 conv

29

Page 29: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4

30

Page 30: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4• 3x1 et 1x3 en parallèle

31

Page 31: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception v4

32

Average pool

Average pool

Average pool

Max pool

Max pool

Différences avec GoogLeNet

• Couches de réduction plus complexes

• Convolutions avec stride≠1 • Aucun 5x5• 1x7 et 7x1• 1x3 et 3x1 :

• en série• en parallèle

• etc…

Page 32: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception-ResNet v1

Page 33: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception-ResNet v1

Each Inception block is followed byfilter-expansion layer (1 × 1convolution without activation) whichis used for scaling up thedimensionality of the filter bankbefore the addition to match the depthof the input. This is needed tocompensate for the dimensionalityreduction induced by the Inceptionblock.

Page 34: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception-ResNet v1

Page 35: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception-ResNet v1

Page 36: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception-ResNet v1

Page 37: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Inception-ResNet v1 et v2

augmenteavec laprofondeur

Page 38: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Résultats

• Connection résiduelle accélère l’entraînement

• Améliore les scores

40

Ensembles

Page 39: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNeXt

• Architecture multi-branche (comme Inception), mais répète la même topologie (contrairement à Inception)

• Le nombre de branche == cardinality

• Prétend qu’il est mieux d’augmenter la cardinality que la profondeur/largeur

• Cherche à améliorer la performance sous un budget fixe de FLOPS et de paramètres

42S. Xie, R. Girshick, P. Dollar, Z. Tu and K. He. Aggregated Residual Transformations for Deep Neural Networks. arXiv preprint arXiv:1611.05431v1,2016.

Page 40: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNeXt

• Inception effectue split-transform-merge

• On peut voir Inception comme étant un sous-espace d’une couche ne contenant que des 5x5

• Le nombre de filtres 1x1, 3x3, 5x5 varie d’une couche à l’autre, difficile à tuner

• ResNeXt va empruter d’inception la philosophie split-transform-merge

43

Page 41: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

44

embedding de basse dimension

1 embeddingde 64

plusieurs embedding de taille d, ici 4

aggrégationpar somme

bottlenecks C

C

Page 42: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNeXt

45

répétition

s

diminution/ augmentation au même rythme

Page 43: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

ResNeXt : Résultats

46

Si on double la capacitécard

inal

ity

bo

ttle

nec

k

cap

acit

é si

mila

ire

cap

acit

é si

mila

ire

Page 44: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

DenseNet

• Ajoute encore plus de

skip connections

• N’additionne pas : fait une concaténation des features des couches précédentes

52

Couches peu larges : 12 filtres

ResNet : DenseNet :

concaténation

Huang et al., Densely Connected Convolutional Networks, 2016.

( 1)

2

L L +connexions

(par bloc de L couches)

Page 45: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

DenseNet

• Diminue vanishing gradient

• Augmente la propagation et réutilisation de features

• Semble régulariser

• Réduit le nombre de paramètres :

– Conv standard : doit apprendre implicitement quels features laisser passer

– ResNet : explicite, mais certaines couches contribuent peu (voir Stoch. Depth), donc des poids inutiles

53

Page 46: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

DenseNet• Connection vers toutes les couches subséquentes qui

ont la même taille de feature map (Dense Block)

54

BN

ReLU

3x3 Conv

flot

Transition layer:

BN + 1x1 conv + 2x2 avg pooling

32x32 16x16 8x8

BN

ReLU

3x3 Conv

BN

ReLU

1x1 Conv bottleneck

(compression via bottleneck)

Deux types de fonction Hl(•):

Page 47: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

DenseNet (ImageNet)

55

Page 48: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

DenseNet

56

Sans data

augm.

taille similaire

taille similaire

(effet régularisateur)

Page 49: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Large Scale Visual Recognition Challenge

58

0

5

10

15

20

25

30

SENetsHu et al.

2017

-Shao et al.

2016

28.225.8

3.57 2.99 2.25

5.1

HumanRussakovsky

et al. 2014

ResNetHe et al.

2015

6.7

GoogLeNetSzegedy et

al.2014

11.7

ZFNetZeiler and

Fergus2013

7.3

VGGSimonyan

and Zisserman

2014

16.4

AlexNetKrizhevsky

et al.2012

-Sanchez

and Perronnin

2011

-Lin et al.

2010

Réseaux profonds

Err

eur

top

-5

8 couches 8 couches

19 couches

22 couches

50-1000 couches

Shao et al. : ensemble, peu intéressant

Page 50: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Large Scale Visual Recognition Challenge

59

0

5

10

15

20

25

30

SENetsHu et al.

2017

-Shao et al.

2016

28.225.8

3.57 2.99 2.25

5.1

HumanRussakovsky

et al. 2014

ResNetHe et al.

2015

6.7

GoogLeNetSzegedy et

al.2014

11.7

ZFNetZeiler and

Fergus2013

7.3

VGGSimonyan

and Zisserman

2014

16.4

AlexNetKrizhevsky

et al.2012

-Sanchez

and Perronnin

2011

-Lin et al.

2010

Réseaux profonds

Err

eur

top

-5

8 couches 8 couches

19 couches

22 couches

50-1000 couches

Page 51: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Squeeze and Excite Net : SENet

• Exemple de microarchitecture

• convnet standard entremêle l’information spatiale et du domaine des features

• SENet: pondérer les feature mapsglobalement avec un micro-réseau

• Ajoute très peu de paramètres et de calcul

– architectures sont déjà larges

• Idée du bottleneck qui revient60

8 3

5Dans une région spatiale donnée(localité)

Page 52: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

SENet• Ajout tel-que-tel (drop-in)

61

facteurs de pondération

Global average

pooling

Conv + ReLu

Conv + ReLU

Conv + ReLu

SE

Net

Conv + ReLU

Conv + ReLU

Conv + ReLu

SE

Net

1x1x

CW1

ReL

U

C/r

W2

sssssssss

r : ratio de compression

Page 53: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

SENet

• Modéliser les interdépendances entre feature maps avec un micro-réseau

• Appelle ce mécanisme feature recalibration

• Forme d’attention, mais selon les featuremap

• Utilise information globale pour rehausser des features utiles et réprimer les moins utiles

62

Page 54: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

SENet• Testés sur différentes architectures

– ResNet

– Inception et Inception-ResNet

– ResNeXt

63

ajoute 4-10% + de paramètres

Page 55: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

SENet : Résultats ImageNet

64

Différence négligeable en calcul

Gains partout

Facteur de réduction de dimensionnalité va

leu

r u

tili

sée

Page 56: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

SENet

• Rôle joué semble varier en fonction de la profondeur

– en bas, les excitations des features sont peu corrélées avec la classe

– en haut, les excitations des features sont plus spécialisés (en fonction de la classe)

66

Page 57: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Efficacité des réseaux

A. Canziani et al. An Analysis of Deep Neural Network Models for Practical Applications, 2017.

Page 58: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Autres architectures

Page 59: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Dual Path network

• À chaque bloc, devrait-on :– additionner, ou

– concaténer

• ResNet :

• Inception :

• DenseNet :

• Dual Path : fait les deux!

69https://arxiv.org/abs/1707.01629

additionconcaténation

additionne

concatèneconcatène

Page 60: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

FractalNet: Ultra-Deep Neural Networks without Residuals[Larsson et al. 2017]

- Argues that key is transitioning

effectively from shallow to deep

and residual representations are

not necessary

- Fractal architecture with both

shallow and deep paths to output

- Trained with dropping out

sub-paths

- Full network at test time

Figures copyright Larsson et al., 2017. Reproduced w ith permission.

Lecture 9 - 70

M

ay

2

,2

0

17

FractalNet

tiré de : cs231n, Université Stanford

Page 61: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

CresendoNet

71CRESCENDONET: A SIMPLE DEEP CONVOLUTIONAL NEURAL NETWORK WITH ENSEMBLE BEHAVIOR, https://arxiv.org/pdf/1710.11176.pdf

Page 62: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

CresendoNet

72CRESCENDONET: A SIMPLE DEEP CONVOLUTIONAL NEURAL NETWORK WITH ENSEMBLE BEHAVIOR, https://arxiv.org/pdf/1710.11176.pdf

Drop-path

Page 63: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

SqueezeNet: AlexNet-level Accuracy With 50x Fewer

Parameters and <0.5Mb Model Size[Iandola et al. 2017]

- Fire modules consisting of a

‘squeeze’ layer with 1x1 filters

feeding an ‘expand’ layer with 1x1

and 3x3 filters

- AlexNet level accuracy on

ImageNet with 50x fewer

parameters

- Can compress to 510x smaller

than AlexNet (0.5Mb)Figure copyright Iandola, Han, Moskew icz, Ashraf, Dally, Keutzer, 2017. Reproduced w ith permission.

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 9 - May 2, 2017Lecture 9 -

M

ay

2

,2

0

17

Fei-Fei Li & Justin Johnson & Ser

SqueezeNet

tiré de : cs231n, Université Stanford

Page 64: CNN (Partie II) · 2020-05-15 · mais avec 14/49ème param. Inception v4 •Les 5x5 ont disparus •Avg Pooling au lieu de max 27. Inception v4 •Max Pool 28. Inception v4 •7x1

Fin!