Les CNN et RNN disposent de méthodes d'extraction:
Les CNN ont tendance à extraire des caractéristiques spatiales. Supposons que nous ayons un total de 10 couches de convolution empilées les unes sur les autres. Le noyau de la 1ère couche extraira les fonctionnalités de l'entrée. Cette carte d'entités est ensuite utilisée comme entrée pour la couche de convolution suivante qui produit à nouveau une carte d'entités à partir de sa carte d'entités en entrée.
De même, les entités sont extraites niveau par niveau de l'image d'entrée. Si l'entrée est une petite image de 32 * 32 pixels, nous aurons certainement besoin de moins de couches de convolution. Une image plus grande de 256 * 256 aura une complexité des fonctionnalités comparativement plus élevée.
Les RNN sont des extracteurs de caractéristiques temporelles car ils conservent une mémoire des activations de couche passées. Ils extraient des fonctionnalités comme un NN, mais les RNN se souviennent des fonctionnalités extraites à travers les pas de temps. Les RNN pourraient également se souvenir des caractéristiques extraites via des couches de convolution. Puisqu'ils détiennent une sorte de mémoire, ils persistent dans les caractéristiques temporelles / temporelles.
En cas de classification par électrocardiogramme:
Sur la base des articles que vous lisez, il semble que,
Les données ECG pourraient être facilement classées en utilisant des caractéristiques temporelles à l'aide de RNN. Les caractéristiques temporelles aident le modèle à classer correctement les ECG. Par conséquent, l'utilisation des RNN est moins complexe.
Les CNN sont plus complexes car,
Les méthodes d'extraction des fonctionnalités utilisées par les CNN conduisent à de telles fonctionnalités qui ne sont pas assez puissantes pour reconnaître de manière unique les ECG. Par conséquent, le plus grand nombre de couches de convolution est nécessaire pour extraire ces caractéristiques mineures pour une meilleure classification.
Enfin,
Une fonction forte fournit moins de complexité au modèle tandis qu'une fonction plus faible doit être extraite avec des couches complexes.
Est-ce parce que les RNN / LSTM sont plus difficiles à former s'ils sont plus profonds (en raison de problèmes de disparition de gradient) ou parce que les RNN / LSTM ont tendance à sur-ajuster rapidement les données séquentielles?
Cela pourrait être considéré comme une perspective de réflexion. Les LSTM / RNN sont sujets à un sur-ajustement dans lequel l'une des raisons pourrait être la disparition du problème de gradient, comme mentionné par @Ismael EL ATIFI dans les commentaires.
Je remercie @Ismael EL ATIFI pour les corrections.
À propos du nombre de couches
La raison peut être comprise en examinant l'architecture d'un CNN et d'un LSTM et comment celui-ci peut fonctionner sur des données de séries chronologiques. Mais je dois dire que le nombre de couches est quelque chose qui dépend fortement du problème que vous essayez de résoudre. Vous pourrez peut-être résoudre une classification ECG en utilisant quelques couches LSTM, mais pour la reconnaissance d'activité à partir de vidéos, vous aurez besoin de plus de couches.
Mis à part cela, voici comment un CNN et un LSTM pourraient traiter un signal de série chronologique. Un signal très simple où après trois cycles positifs, vous obtenez un cycle négatif.
Pour qu'un CNN puisse voir ce modèle simple, il faut 4 couches dans cet exemple. Lorsqu'un CNN traite une entrée de série temporelle, une sortie de convolution ne connaît pas les sorties précédentes (c'est-à-dire qu'elles ne sont pas connectées). Cependant, un LSTM peut le faire en utilisant simplement une seule couche car il peut se souvenir des modèles temporels jusqu'à 100s de pas de temps. Parce qu'une sortie est basée sur l'entrée actuelle ainsi que sur les entrées précédentes que le modèle a vues.
Je ne dis pas que c'est la seule raison, mais c'est probablement l'un des principaux facteurs pour lesquels les CNN nécessitent plus de couches et les LSTM pas pour les données de séries chronologiques.
À propos de la disparition des dégradés et du sur-ajustement
Le gradient de fuite est susceptible de devenir un problème à l'intérieur d'une seule couche plutôt qu'à travers les couches. C'est lors du traitement de nombreuses étapes séquentielles que les connaissances sur les premières étapes risquent de disparaître. Et je ne pense pas que les modèles séquentiels sont susceptibles de surcharger les données de séries temporelles si vous les régularisez correctement. Ce choix est donc probablement plus influencé par l'architecture / les capacités des modèles que par le gradient de fuite ou le surajustement.
la source
Je vois 2 raisons possibles pour lesquelles un RNN pourrait nécessiter moins de couches qu'un CNN pour atteindre les mêmes performances:
- Les couches RNN sont généralement des couches entièrement connectées qui ont plus de paramètres qu'une couche convolutionnelle.
- un RNN possède certains composants qui permettent de combiner des entrées par multiplication contrairement à un CNN qui ne peut combiner des entrées que par addition pondérée. Ainsi, la capacité multiplicative du RNN lui donne plus de «puissance» pour calculer les caractéristiques. Le CNN aurait besoin de plusieurs couches pour «imiter» cette capacité multiplicative.
la source