Bonjour, vous appartenez à CodeNext, c'est @ aiskoaskosd. J'ai été régulièrement redevable à Chainer, alors j'ai pensé que ce serait formidable si je pouvais redonner, alors j'ai écrit un article. Aujourd'hui, je vais me concentrer sur le modèle de reconnaissance d'image qui est devenu un sujet brûlant au cours des 1 à 2 dernières années, publier la mise en œuvre et expliquer une partie du contenu de l'article. Certains des documents antérieurs à 2013 sont également mis en œuvre de manière exceptionnelle. ** 22 des 24 modèles ont été implémentés dans Chainer. ** Malheureusement, au 22 décembre, toutes les implémentations et vérifications avec cifar10 n'étaient pas terminées. Nous le mettrons à jour un par un. Je pense qu'il y a des interprétations erronées et des erreurs de mise en œuvre. Dans ce cas, je serais très heureux si vous pouviez me le dire.
1. Netowork In Network 2. Very Deep Convolutional Networks for Large-Scale Image Recognition 3. Going deeper with convolutions 4. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 5. Rethinking the Inception Architecture for Computer Vision 6. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification 7. Training Very Deep Networks 8. Deep Residual Learning for Image Recognition 9. Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning 10. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size 11. Identity Mappings in Deep Residual Networks 12. Resnet in Resnet: Generalizing Residual Architectures 13. Deep Networks with Stochastic Depth 14. Swapout: Learning an ensemble of deep architectures 15. Wide Residual Networks 16. FractalNet: Ultra-Deep Neural Networks without Residuals 17. Weighted Residuals for Very Deep Networks 18. Residual Networks of Residual Networks: Multilevel Residual Networks 19. Densely Connected Convolutional Networks 20. Xception: Deep Learning with Depthwise Separable Convolutions 21. Deep Pyramidal Residual Networks 22. Neural Architecture Search with Reinforcement Learning 23. Aggregated Residual Transformations for Deep Neural Networks 24. Deep Pyramidal Residual Networks with Separated Stochastic Depth
Papier d'introduction | Date | modèle | Nombre de paramètres( |
Papier de précision totale cifar10(%) | Implémentation de précision totale cifar10 | imagenet top-5 error(%) |
---|---|---|---|---|---|---|
1 | 131116 | Référence d'implémentation Caffe | 0.1 | 91.19 | ||
1 | 131116 | Référence d'implémentation Caffe avec BN | 0.1 | Aucun papier n'existe | 91.52% | Aucun papier n'existe |
2 | 140904 | Modèle A | 129 | 92.1(Modèle A) | 6.8(Modèle E) | |
3 | 140917 | googlenet | 6 | 91.33% | 6.67 | |
4 | 150211 | inceptionv2 | 10 | 94.89% | 4.9 | |
5 | 151202 | inceptionv3(référence) | 22.5 | 94.74% | 3.58 | |
6 | 150206 | model A | 43.9(Mise en commun moyenne mondiale au lieu de spp) | 94.98% | 4.94 | |
7 | 150722 | Highway(Fitnet19) | 2.8 | 92.46 | ||
8 | 151210 | ResNet110 | 1.6 | 93.57 | 3.57 | |
9 | 160223 | inception v4 | 3.1 | |||
10 | 160224 | Squeezenet with BN | 0.7 | 82%(alexnet without data augmentation) | 17.5(withoutBNandsingle) | |
11 | 160316 | ResNet164 | 1.6 | 94.54 | 4.8(single) | |
12 | 160325 | 18-layer + wide RiR | 9.5 | 94.99 | ||
13 | 160330 | ResNet110 | 1.7 | 94.75 | ||
14 | 160520 | Swapout v2(32)W×4 | 7.1 | 95.24 | ||
15 | 160523 | WRN28-10 | 36.2 | 96.0 | ||
16 | 160524 | 20 layers | 33.7 | 95.41 | 7.39%(FractalNet-34) | |
17 | 160528 | WResNet-d | 19.1 | 95.3 | ||
18 | 160809 | RoR-3-WRN58-4 | 13.6 | 96.23 | ||
19 | 160825 | k=24, depth=100 | 27.0 | 96.26 | ||
20 | 161007 | xception | 5.5(single) | |||
21 | 161010 | 28.4 | 96.23 | 4.7( |
||
22 | 161105 | depth=49 | 32(Du papier) | 96.16 | $\bigtriangleup$90.35(Appendix A: 4.1M) | |
23 | 161116 | ResNeXt-29, 16×64d | 68.3 | 96.42 | ||
24 | 161205 | depth=182, |
16.5 | 96.69 |
https://github.com/nutszebra/chainer_image_recognition
Soyez prudent lorsque vous utilisez des modèles qui n'ont pas été vérifiés
Pour le moment, je pense que 97% ou plus seront SoTA. Autant que je sache, la précision la plus élevée est de 96,69%. Il est peut-être temps de se concentrer sur cifar100 ou un autre ensemble de données.
Je pense que cette année était l'année de la famille Resnet. Le point caractéristique est que la profondeur = la précision est terminée. Bien que googlenet et d'autres insistent depuis longtemps, divers articles ont montré que ** s'il est profond dans une certaine mesure, la précision sera plus élevée si la largeur est plus large que la profondeur **. À partir de mars environ, le résultat selon lequel il est préférable d'élargir la largeur de Resnet est devenu un effet secondaire, et je pense qu'il est devenu décisif dans Wide Residual Netowrks publié le 23 mai. Je pense qu'il est clair cette année que la largeur est importante. En regardant le papier à vol d'oiseau, il semble que la famille Resnet était principalement un ** bloc Res modifié **.
Il est difficile de dire quel est le meilleur dérivé de ce bloc Res. Comme tout le monde le pense, dans l'article, tous les modèles ont différents nombres de paramètres et FLOPS d'avance, il n'est donc pas très logique de simplement comparer la précision. Par conséquent, même si vous lisez le document, vous ne savez pas quelle méthode est essentielle et dans la bonne direction. Je pense qu'il est actuellement nécessaire de définir une règle selon laquelle tout le monde construit un modèle avec une métrique spécifique liée, puis publie la précision du test d'un seul modèle (comme FLOPS?). Tous les articles sont dans un état difficile à évaluer, mais je pense que la tendance générale est que ** ReLU n'est pas appliqué à la valeur de sortie finale du bloc Res **. Je pense qu'il vaut mieux le baser sur le bloc Res de BN-ReLU-Conv-BN-ReLU-Conv proposé en 11 au lieu du 8 original. C'est une impression personnelle, mais cela semble être une année calme avec une augmentation modérée de la précision. Je ne pense pas qu'il y ait de nouvelles structures à venir cette année, comme des structures résiduelles. Imagenet 2016 a également vu de nombreux ensembles basés sur Residual Networks et Inception.
Je pense personnellement que le papier Google de 22 est très choquant et qu'il y a une petite possibilité que quelque chose se développe à partir d'ici (il n'y a pas de base). 22 recherche le réseau avec 800 gpu et gradient de politique RNN +, et a enregistré 96,16% avec Cifar 10. Si c'est 99% pour mnist, c'est fini, mais c'est étonnant que cifar10 ait une valeur proche de SoTA. Laisser les données déterminer la structure du réseau est une idée très fascinante, qui rappelle l'avènement du DNN (création de données de conception de caractéristiques). De plus, je ne l'ai pas présenté ici, mais je me souviens que Hyper Networks était très intéressant et choqué quand je l'ai lu. HyperNetworks est un réseau qui génère des pondérations de réseau, et est une technologie qui est susceptible d'être fusionnée ou développée dans le futur. S'il n'y a rien, il semble que la manière de remodeler le bloc Res et de connecter le bloc Res se développera dans le futur, mais que va-t-il se passer?
4. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift La normalisation par lots est, en un mot, "normaliser chaque entrée entre les lots au niveau du canal". Cette normalisation par lots est très utile. Il n'y a aucune raison de ne pas faire partie du réseau. La convergence n'est plus possible et la précision est légèrement améliorée. La normalisation par lots est importante, je vais donc l'expliquer fermement. Tout d'abord, je vais expliquer le phénomène appelé décalage de covariable interne, qui est à la base de la motivation pour la normalisation par lots, et l'algorithme spécifique.
Supposons que le poids de la couche $ l_ {i} $ soit modifié par la méthode de propagation des erreurs. Ensuite, la distribution de la valeur de sortie (la nature de la sortie) qui est sortie à l'aide de ce poids change. La couche $ l_ {i + 1} $ doit apprendre le mappage non linéaire approprié, correspondant à la distribution des différentes valeurs de sortie. Le problème ici est que l'apprentissage de la cartographie non linéaire de la discrimination est très lent en raison du grand effort qu'implique l'apprentissage pour s'adapter à la distribution changeante des extrants. Ce phénomène est défini dans l'article comme un décalage de covariable interne. Ce changement de covariable interne entraîne une stagnation de l'apprentissage. Supposons que le coefficient d'apprentissage de SGD soit défini comme grand. Ensuite, le poids de la couche $ l_ {i} $ change considérablement. En conséquence, la couche $ l_ {i + 1} $ ne peut pas s'adapter à la valeur de sortie modifiée (ou cela prend énormément de temps pour s'adapter), et l'apprentissage stagne. En conséquence, le coefficient d'apprentissage doit être réglé petit pour apprendre, et cette fois, l'apprentissage ralentira la convergence de l'apprentissage. Si vous vous tenez là, vous avez l'impression de ne pas pouvoir rester ici. Ce changement de covariable interne devient un problème plus sérieux à mesure que le modèle s'approfondit. Même si le changement de sortie dans la couche inférieure est léger, il sera amplifié dans la couche supérieure, et même un petit changement deviendra un grand changement. C'est comme un effet papillon. La solution à cela est très simple. Si la distribution des valeurs de sortie change, vous pouvez l'ajuster à chaque fois pour que la distribution soit la même. BN (Batch Normalization) normalise l'entrée (moyenne 0, distribution 1) et la sort. Par conséquent, lorsque la sortie de BN est utilisée comme entrée, la distribution de la sortie devient stable et le besoin d'apprentissage pour répondre aux changements dans la distribution de sortie est réduit. Vous pouvez vous concentrer sur l'apprentissage du mappage non linéaire que vous devez essentiellement faire et, par conséquent, l'apprentissage converge rapidement. De plus, la distribution stable vous permet de définir un coefficient d'apprentissage important. Cela contribue également de manière significative à la convergence rapide des apprentissages. Si vous incluez ce NE, le temps d'apprentissage de GoogLeNet sera d'environ 7%. C'est incroyable.
Entrez $ x_ {i, cxy} $. Cela signifie que l'entrée est à la position $ (x, y) $ du canal $ c $ dans le lot $ i $. Soit la moyenne sur le canal $ c $ $ \ mu_ {c} $ et la variance sur le canal $ c $ soit $ \ sigma_ {c} ^ 2 $. Ensuite, lorsque le nombre de lots est $ m $, la hauteur d'entrée est $ Y $, et la largeur d'entrée est $ X $, $ \ mu_ {c} $ et $ \ sigma_ {c} ^ 2 $ peuvent être exprimés comme suit. Je vais.
En regardant les équations (4.1) et (4.2), nous pouvons voir que la moyenne $ \ mu_ {c} $ et la distribution $ \ sigma_ {c} ^ 2 $ sont calculées pour chaque canal entre les lots. Ce n'est pas apprendre. Ensuite, soit $ \ hat {x_ {i, cxy}} $ la version normalisée de chaque entrée $ x_ {i, cxy} $. Ici, nous définissons l'échelle $ \ gamma_ {c} $ et le décalage $ \ beta_ {c} $ pour chaque canal. $ \ Gamma_ {c} $ et shift $ \ beta_ {c} $ sont des paramètres appris par la méthode de rétropropagation d'erreur. La raison de l'introduction d'une telle chose sera décrite plus tard. Si vous entrez $ x_ {i, cxy} $ dans la normalisation par lots, la sortie finale $ y_ {i, cxy} $ et la valeur normalisée $ \ hat {x_ {i, cxy}} $ Est défini comme suit.
Vous pouvez voir que l'équation (4.3) normalise simplement $ x_ {i, cxy} $ en utilisant les équations (4.1) et (4.2) (distribué $ \ sigma_ {c} ^ 2 $ est égal à 0). Si $ \ hat {x_ {i, cxy}} $ devient infini, ajoutez un petit nombre $ \ epsilon $. Chainer utilise $ 2.0 \ times 10 ^ {-5} $ comme valeur par défaut Il est.). La question ici est l'équation (4.4), où $ \ gamma_ {c} $ et shift $ \ beta_ {c} $ sont cartographiés linéairement, mais l'équation (4.3) normalise déjà le cercle principal. J'ai fini, qu'est-ce que tu fais?
Soit $ \ gamma_ {c} = \ sigma_ {c}, \ beta_ {c} = \ mu_ {c} $. Alors, quand $ \ epsilon $ est petit et ignoré, $ y_ {i, cxy} $ sera comme suit.
5. Rethinking the Inception Architecture for Computer Vision Le réseau lui-même est une extension élégante de googlenet. La bonne chose à propos de cet article est qu'il verbalise la politique de conception de réseau. Surtout avant ** le sous-échantillonnage, il est très important d'augmenter le nombre de canaux sur le réseau **.
6. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification Il s'agit d'une extension ReLU de xavier initialization, qui est la méthode d'initialisation standard actuelle pour DNN. Il est également appelé initialisation ReLU, initialisation msra, initialisation He, etc. Cette initialisation xavier est une manière très révolutionnaire de calculer la distribution de poids afin que la valeur de distribution de sortie ne change pas pendant le transfert. Chose. En tant qu'initialisation basée sur les données, Tout ce dont vous avez besoin est une bonne init et Initialisations dépendant des données des réseaux de neurones convolutifs / 1511.06856) etc. ont été proposés cette année, mais c'est aussi une extension de xavier initialization. J'utilise essentiellement la valeur de variance calculée par l'initialisation de msra pour générer une matrice aléatoire diagonale et je les utilise comme valeur initiale du poids. Je suis. Cet article propose PReLU, qui est une extension de ReLU autre que l'initialisation. Le contenu est simple, comme changer la partie x <0 en ax au lieu de 0 comme ReLU. A ce moment, a est appris par la méthode de propagation de retour d'erreur. La chose intéressante à propos de cet article est la valeur apprise d'un. Le résultat est: C'est un grand a dans la couche initiale et devient une petite valeur dans la couche supérieure. Il semble que la couche initiale conserve les informations et les rejette à mesure qu'elles montent. On peut voir que la couche initiale conserve sa linéarité et devient non linéaire au fur et à mesure qu'elle monte. Ce résultat est très proche de CReLU. CReLU est une fonction non linéaire de l'idée de sortie d'une concaténation de ReLU (x) et ReLU (-x). Un autre point intéressant est que la valeur de a augmente avant le sous-échantillonnage (pool). Les informations sont déposées dans le pool, il semble donc que vous essayez de ne pas les supprimer. En regardant la valeur d'un, je sens que je peux comprendre les sentiments de CNN, et j'aime ça.
7. Training Very Deep Networks
C'est ce qu'on appelle les réseaux routiers. Les réseaux routiers sont mathématiquement comme suit.
8. Deep Residual Learning for Image Recognition C'est un réseau qui est devenu le champion de l'ILSVRC2015 dans le département reconnaissance. Il a une structure simplifiée de Highway Netoworks (7), et la partie caractéristique est une structure appelée résiduelle. La plupart des réseaux publiés cette année seront basés sur cela et améliorés. La figure ci-dessus montre clairement la structure résiduelle. Ajoutez simplement l'entrée x à F (x) avec la fonction non linéaire appliquée. Ce F est composé de plusieurs couches de conv, BN et ReLU. Vous trouverez ci-dessous un aperçu du réseau.
10. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size Ce squeezenet est un modèle très rentable. Un module appelé module incendie a été proposé, et un réseau est construit en l'utilisant. Le module incendie ressemble à ceci: L'idée d'un module d'incendie est très simple, comme entrer la sortie de 1x1conv avec réduction de dimension (réduire le nombre de canaux d'entrée dans l'étape suivante) à 3x3conv et 1x1conv, et concaténer les sorties respectives. Si le réseau dans le papier est donné BN, le nombre de poids est d'environ 0,7 M et 92,6% peuvent être obtenus avec cifar10. Si vous résolvez une tâche de reconnaissance d'image de 2 à 100 classes dans la pratique, c'est à peu près un morceau. 11. Identity Mappings in Deep Residual Networks Un article qui a essayé plusieurs types de blocs Res et a montré que BN-ReLU-Conv-BN-ReLU-Conv était bon. De manière générale, Residual Networks fait maintenant référence à cela.
13. Deep Networks with Stochastic Depth C'est ce qu'on appelle la profondeur stochastique, et c'est une méthode de régularisation qui supprime de manière probabiliste les blocs Res. Cela a déjà été adopté dans plusieurs modèles papier et semble avoir eu un certain effet. Cependant, certains rapports indiquent que la profondeur stochastique normale ne fonctionnait pas à 24, donc l'évaluation de la profondeur stochastique est provisoire et doit être surveillée. La méthode de réduction de la probabilité d'abandon du bloc Res de la couche inférieure à la couche supérieure semble être la plus précise. Dans le document, définissez une probabilité de chute d'environ 1 (ne pas laisser tomber) dans la couche inférieure et d'environ 0,5 (goutte avec une probabilité de 50%) dans la couche supérieure, et appliquez la probabilité de chute calculée linéairement à ces valeurs à la couche intermédiaire La façon de le faire est prise dans le papier et le résultat est le meilleur.
14. Swapout: Learning an ensemble of deep architectures
Il s'agit d'une méthode d'application indépendante du décrochage à la partie résiduelle du bloc Res et à la valeur de sortie de la fonction non linéaire. La formule est la suivante.
15. Wide Residual Networks Le papier dit que si vous augmentez la largeur du bloc Res au lieu de le rendre plus profond, la précision augmentera. L'ensemble du réseau ressemble à la figure ci-dessous.
La configuration du réseau est déterminée par le nombre de blocs N et le paramètre de largeur k. Le motif avec N comme 4 et k comme 10 fonctionne le mieux dans le papier. Bien sûr, ce seul n'est pas un papier, donc je vérifie également quel bloc Res donnera l'exactitude. La conclusion montre qu'il était bon d'utiliser deux convs 3x3 à l'intérieur du bloc Res. Il était intéressant de constater que les performances se dégradent dans le cas de l'empilement 1, 3 ou 4 au lieu d'empiler 2 3x3conv. Cela ne fonctionne pas avec cifar10, mais pour des tâches telles que cifar100, l'insertion d'abandons entre les convs dans le bloc Res semble améliorer la précision. Si vous le définissez sur large, la vitesse d'apprentissage sera plus lente (8 fois la vitesse d'apprentissage de Resnet-1001), et vous pourrez apprendre même si vous utilisez jusqu'à 5 fois le nombre de paramètres par rapport à Resnet normal. Si vous essayez de vous entraîner avec le modèle que vous avez réellement construit, l'apprentissage est très rapide. Avec cifar10, la précision d'environ 60% ressort à la 1ère époque.
16. FractalNet: Ultra-Deep Neural Networks without Residuals
16 est un réseau fractal, qui n'a pas de résidu, est caractérisé par une structure qui prend une valeur moyenne et un réseau fractal. Le titre a sans résidu pour prendre la valeur moyenne. La figure suivante est facile à comprendre pour la structure fractale.
Configurez votre réseau avec la règle d'extension fractale comme indiqué. Dans cet article, la valeur moyenne est appliquée à la sortie des deux convs (couche de jointure sur la figure). Je suis très intéressé par ce qui arrive à la précision du réseau lorsque la jointure est conservée (dans l'article, seule la moyenne est appliquée à la jointure).
Le titre de l'article est présenté comme sans résidu, mais j'estime que la moyenne est essentiellement la même chose que le résidu. L'auteur prétend que c'est différent, mais personnellement, j'ai des doutes.
~~ Ce que j'ai trouvé intéressant en apprenant le réseau, c'est que l'apprentissage a stagné pendant les 20 premières époques (décrites dans l'article). C'est un comportement que je n'ai pas vu beaucoup. ~~ Quand j'ai augmenté le coefficient d'apprentissage, j'ai appris de la 1ère époque (les larmes).
17. Weighted Residuals for Very Deep Networks
Lorsque H est une fonction non linéaire, x est une entrée, $ \ alpha $ est un paramètre d'apprentissage et y est la sortie d'un bloc Res, l'idée principale de cet article est de définir un bloc Res comme la formule suivante.
18. Residual Networks of Residual Networks: Multilevel Residual Networks L'idée simple est de sauter également les connexions d'autres couches. Il est facile de voir la figure ci-dessous. C'est la seule idée.
19. Densely Connected Convolutional Networks 19 est un réseau dense, qui se caractérise en connectant la sortie à l'entrée et en la plaçant dans le bloc. La sortie devient récursivement l'entrée suivante, comme indiqué dans la figure ci-dessous. Il semble faire essentiellement la même chose qu'un réseau résiduel, sauf qu'il concatène récursivement les sorties au lieu du résidu.
20. Xception: Deep Learning with Depthwise Separable Convolutions Il s'agit d'un réseau configuré en remplaçant la conv du bloc Res par une conv séparable. La conv. Séparable est une conv. Par canal et une conv. 1x1 appliquées dans l'ordre, et a la particularité de réduire le nombre de poids. Une convolution par canal est une conv qui ne regarde pas la corrélation entre les voies, et est une conv qui sort sans addition après le calcul de la fenêtre de convolution. Comme indiqué dans cet article, il a été observé qu'un réseau basé sur vgg pouvait être comparable à la version 4 de démarrage sans structure résiduelle. Cependant, il est également vérifié dans cet article que la convergence est plus rapide avec la structure résiduelle. Est-ce un sentiment que la structure résiduelle devrait être insérée en silence?
21. Deep Pyramidal Residual Networks L'idée simple est d'augmenter progressivement le nombre de canaux de sortie dans le bloc Res. En général, les réseaux résiduels, lors de l'application de la conv. Stride2 en tant qu'échantillon descendant dans le bloc Res, le nombre de canaux est doublé à l'avance. Les réseaux pyramidaux seront un réseau comme d sur la figure, qui augmentera progressivement le nombre de canaux au lieu d'augmenter rapidement le nombre de canaux avant de sous-échantillonner.
22. Neural Architecture Search with Reinforcement Learning Il s'agit d'un article dans lequel Google utilise 800 gpu et RNN pour générer un réseau. Apprenez le réseau RNN qui crache le réseau CNN approprié à partir de la méthode de rétropropagation d'erreur en utilisant la précision des données de validation et le gradient de stratégie. Ce qui est surprenant, c'est que Cifar 10 est aussi précis que SoTA. Il semble que la raison pour laquelle cela a fonctionné était que le réseau généré a été simplifié (le filtre est seulement 3,5,7, etc.) et que le réseau généré a été simplement évalué par SGD. Le réseau généré est très intéressant. Voici le réseau léger généré. Les points de rencontre des flèches sont connectés. Il n'y a pas de structure résiduelle. Configuration similaire au filet dense 19. Étant donné que les données déterminent la structure du réseau, il s'agit d'une entrée très compliquée que les humains ne peuvent pas comprendre. La chose intéressante est que la suppression ou l'augmentation de cette flèche réduit la précision du test. Je pense que plus vous donnez de liberté à la génération de réseau, plus elle sera précise. Cependant, si le degré de liberté est trop élevé, il semble que le réseau ne puisse pas être généré correctement, donc le matériel pour les travaux d'ajustement et d'expérimentation est essentiel. Je pense qu'il n'y a que quelques environnements dans le monde où vous pouvez vérifier cette expérience. .. ..
23. Aggregated Residual Transformations for Deep Neural Networks Dans un réseau appelé ResNeXt, remplacez le bloc Res comme indiqué à gauche dans la figure ci-dessus par celui de droite. Le bloc Res à droite de la figure ci-dessus équivaut à (a), (b), (c) dans la figure ci-dessous. Puisqu'il n'y a pas de groupe conv dans le chainer, je l'ai implémenté en (b). Dans l'article, le nombre de branchements de l'entrée dans le bloc Res est appelé cardinalité, et il est préférable d'augmenter la cardinalité et la largeur du bloc de manière appropriée par rapport aux réseaux résiduels larges avec le même nombre de paramètres qui ont simplement augmenté la largeur du bloc. Il prétend être exact.
24. Deep Pyramidal Residual Networks with Separated Stochastic Depth 24 est un filet pyramidal 21 avec une profondeur stochastique séparée appliquée. La profondeur stochastique séparée est l'idée d'appliquer la profondeur stochastique indépendamment à la partie où le canal augmente. Cela ressemble à la figure ci-dessous.
Recommended Posts