Quelle est la différence entre Inception v2 et Inception v3?


18

L'article Aller plus loin avec les circonvolutions décrit GoogleNet qui contient les modules de création d'origine:

entrez la description de l'image ici

La modification de la création v2 a consisté à remplacer les convolutions 5x5 par deux convolutions 3x3 successives et à appliquer le pooling:

entrez la description de l'image ici

Quelle est la différence entre Inception v2 et Inception v3?


S'agit-il simplement d'une normalisation par lots? Ou est-ce que Inception v2 a déjà une normalisation par lots?
Martin Thoma

github.com/SKKSaikia/CNN-GoogLeNet Ce référentiel contient toutes les versions de GoogLeNet et leur différence. Essaie.
Amartya Ranjan Saikia

Réponses:


22

Dans l'article Batch Normalization , Sergey et al, 2015. proposé l' architecture Inception-v1 qui est une variante de GoogleNet dans le document Aller plus loin avec les convolutions , et en attendant ils ont introduit la normalisation par lots à la création (BN-Inception).

La principale différence avec le réseau décrit dans (Szegedy et al., 2014) est que les couches convolutives 5x5 sont remplacées par deux couches consécutives de convolutions 3x3 avec jusqu'à 128 filtres.

Et dans l'article Repenser l'architecture d'inception pour la vision par ordinateur , les auteurs ont proposé Inception-v2 et Inception-v3.

Dans Inception-v2 , ils ont introduit la factorisation (factoriser les convolutions en convolutions plus petites) et quelques changements mineurs dans Inception-v1.

Notez que nous avons factorisé la convolution 7x7 traditionnelle en trois convolutions 3x3

Quant à Inception-v3 , c'est une variante d'Inception-v2 qui ajoute BN-auxiliaire.

BN auxiliaire fait référence à la version dans laquelle la couche entièrement connectée du classificateur auxiliaire est également normalisée, pas seulement les convolutions. Nous nous référons au modèle [Inception-v2 + BN auxiliaire] comme Inception-v3.


3

à côté de ce qui a été mentionné par daoliker

la création v2 a utilisé la convolution séparable comme première couche de profondeur 64

citation du papier

Notre modèle a utilisé une convolution séparable avec un multiplicateur de profondeur 8 sur la première couche convolutionnelle. Cela réduit le coût de calcul tout en augmentant la consommation de mémoire au moment de la formation.

pourquoi c'est important? car il a été abandonné en v3 et v4 et réinitialisé au début, mais réintroduit et largement utilisé dans mobilenet plus tard.


1

La réponse se trouve dans le document Approfondir avec des convolutions: https://arxiv.org/pdf/1512.00567v3.pdf

Consultez le tableau 3. Inception v2 est l'architecture décrite dans le document Approfondir les convolutions. Inception v3 est la même architecture (modifications mineures) avec différents algorithmes de formation (RMSprop, régularisateur de lissage d'étiquette, ajout d'une tête auxiliaire avec la norme de lot pour améliorer la formation, etc.).


1

En fait, les réponses ci-dessus semblent fausses. En effet, c'était un gros gâchis avec la dénomination. Cependant, il semble que cela ait été corrigé dans le document qui présente Inception-v4 (voir: "Inception-v4, Inception-ResNet et l'impact des connexions résiduelles sur l'apprentissage"):

L'architecture convolutionnelle profonde Inception a été introduite en tant que GoogLeNet dans (Szegedy et al. 2015a), ici nommée Inception-v1. Plus tard, l'architecture Inception a été affinée de diverses manières, d'abord par l'introduction de la normalisation par lots (Ioffe et Szegedy 2015) (Inception-v2). Plus tard, par des idées de factorisation supplémentaires dans la troisième itération (Szegedy et al. 2015b), qui sera appelée Inception-v3 dans ce rapport.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.