Maison  >  Article  >  Explication détaillée de la structure du réseau Alexnet

Explication détaillée de la structure du réseau Alexnet

(*-*)浩
(*-*)浩original
2019-10-26 15:55:0912745parcourir

Le modèle de structure de réseau Alexnet proposé par Alex en 2012 a déclenché un engouement pour l'application des réseaux de neurones et a remporté le championnat du concours de reconnaissance d'images 2012, faisant de CNN le modèle d'algorithme de base dans la classification d'images.

Explication détaillée de la structure du réseau Alexnet

Le modèle AlexNet est divisé en huit couches, 5 couches convolutives et 3 couches entièrement connectées. Chaque couche convolutive contient la fonction d'excitation RELU et la normalisation de la réponse locale (LRN). ), puis sous-échantillonnage (traitement du pool). (Apprentissage recommandé : Tutoriel vidéo Web front-end)

Première couche : Couche convolutive 1, l'entrée est de 224 × 224 × 3224 fois 224 fois 3224 Pour une image ×224×3, le nombre de noyaux de convolution est de 96. Dans l'article, les deux GPU calculent respectivement 48 noyaux ; la taille du noyau de convolution est de 11×11×311 fois 11 fois 311×11×3 ; = 4, Stride représente la taille du pas, pad = 0, ce qui signifie ne pas élargir le bord

Quelle est la taille de l'image après convolution ?

wide = (224 + 2 * padding - kernel_size) / stride + 1 = 54<br/>height = (224 + 2 * padding - kernel_size) / stride + 1 = 54<br/>dimention = 96<br/>

Puis procédez (Local Response Normalized), suivi du pooling pool_size = (3, 3), stride = 2, pad = 0 pour enfin obtenir la carte des caractéristiques de la première couche de convolution

Deuxième couche : Couche de convolution 2, l'entrée est la carte caractéristique de la couche de convolution précédente, le nombre de convolutions est de 256 et les deux GPU du document ont 128 convolutions chacun nucléaire. La taille du noyau de convolution est : 5×5×485 fois 5 fois 485×5×48 ; pad = 2, stride = 1 ; puis faites LRN, et enfin max_pooling, pool_size = (3, 3), stride = 2 ;

La troisième couche : Convolution 3, l'entrée est la sortie de la deuxième couche, le nombre de noyaux de convolution est de 384, kernel_size = (3×3×2563 fois 3 fois 2563× 3×256 ), padding = 1, la troisième couche ne fait pas LRN et Pool

La quatrième couche : Convolution 4, l'entrée est la sortie de la troisième couche, le nombre de les noyaux de convolution sont 384, kernel_size = (3×33 fois 33×3), padding = 1, identique à la troisième couche, pas de LRN et de Pool

Cinquième couche :Convolution 5, entrée est quatrième La sortie de la couche a 256 noyaux de convolution, kernel_size = (3×33 fois 33×3) et padding = 1. Passez ensuite directement à max_pooling, pool_size = (3, 3), stride = 2;

Les 6ème, 7ème et 8ème couches sont des couches entièrement connectées, le nombre de neurones dans chaque couche est de 4096 et le softmax de sortie final est de 1000, car comme mentionné ci-dessus, le nombre de catégories dans le concours ImageNet est de 1000. RELU et Dropout sont utilisés dans la couche entièrement connectée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn