Quelle couche consomme plus de temps dans la formation CNN? Couches de convolution vs couches FC

11

Dans Convolutional Neural Network, quelle couche consomme le maximum de temps dans la formation? Couches de convolution ou couches entièrement connectées? Nous pouvons prendre l'architecture AlexNet pour comprendre cela. Je veux voir la rupture du temps du processus de formation. Je veux une comparaison de temps relatif afin que nous puissions prendre n'importe quelle configuration GPU constante.

Ruchit Dalwadi
la source

Réponses:

11

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

entrez la description de l'image ici

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.

(333)(333)224224224224(333)6422422464224224(333)87dix6

56562565656(33256)56562565656(33256)1850dix6

strjee=1

chunennelsoutput(pjeXelOutputhejeghtpjeXelOutputwjeth)(FjelterhejeghtFjelterwjethchunennelsjenput)

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

Et voici une comparaison des performances de diverses architectures CNN:

entrez la description de l'image ici

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.

DuttaA
la source
4

Comme CNN contient une opération de convolution, mais DNN utilise la divergence constructive pour la formation. CNN est plus complexe en termes de notation Big O.

Pour référence:

1) Complexité temporelle CNN
https://arxiv.org/pdf/1412.1710.pdf

2) Couches entièrement connectées / Deep Neural Network (DNN) / Multi Layer Perceptron (MLP) https://www.researchgate.net/post/What_is_the_time_complexity_of_Multilayer_Perceptron_MLP_and_other_neural_networks

ketul parikh
la source