REMARQUE: J'ai fait ces calculs de manière spéculative, donc certaines erreurs peuvent s'être glissées. Veuillez en informer pour que je puisse les corriger.
En général, dans n'importe quel CNN, la durée maximale de la formation va dans la rétro-propagation des erreurs dans la couche entièrement connectée (dépend de la taille de l'image). De plus, la mémoire maximale est également occupée par eux. Voici une diapositive de Stanford sur les paramètres VGG Net:
![entrez la description de l'image ici](https://i.stack.imgur.com/Dmvrt.png)
![entrez la description de l'image ici](https://i.stack.imgur.com/9Rl1G.png)
De toute évidence, vous pouvez voir que les couches entièrement connectées contribuent à environ 90% des paramètres. Ainsi, la mémoire maximale est occupée par eux.
( 3 × 3 × 3 )( 3 × 3 × 3 )224 ∗ 224224 ∗ 224 ∗ ( 3 ∗ 3 ∗ 3 )64224 ∗ 22464 ∗ 224 ∗ 224 ∗ ( 3 ∗ 3 ∗ 3 ) ≈ 87 ∗ 106
56 × 56 × 25656 ∗ 56( 3 × 3 × 256 )56 ∗ 56256 ∗ 56 ∗ 56 ∗ ( 3 ∗ 3 ∗ 256 ) ≈ 1850 ∗ 106
s t r i de = 1
c h a n n e l so u t p u t∗ ( p i x e l O u t p u th e i gh t∗ p i x e l O u t p u tw i dt h)∗ ( fi l t e rh e i gh t∗ fi l t e rw i dt h∗ c h a n n e l si n p u t)
Grâce aux GPU rapides, nous pouvons facilement gérer ces énormes calculs. Mais dans les couches FC, la matrice entière doit être chargée, ce qui provoque des problèmes de mémoire, ce qui n'est généralement pas le cas des couches convolutionnelles, donc la formation des couches convolutionnelles est toujours facile. De plus, tous ces éléments doivent être chargés dans la mémoire du GPU elle-même et non dans la RAM du CPU.
Voici également le tableau des paramètres d'AlexNet:
![entrez la description de l'image ici](https://i.stack.imgur.com/zSUzd.jpg)
Et voici une comparaison des performances de diverses architectures CNN:
![entrez la description de l'image ici](https://i.stack.imgur.com/0ruCU.png)
Je vous suggère de consulter la conférence 9 CS231n de l'Université de Stanford pour une meilleure compréhension des coins et recoins des architectures CNN.