Je me demande comment interpréter une architecture récurrente dans un contexte EEG. Plus précisément, je pense à cela comme un CNN récurrent (par opposition aux architectures comme LSTM), mais peut-être que cela s'applique également à d'autres types de réseaux récurrents
Quand je lis sur les R-CNN, ils sont généralement expliqués dans des contextes de classification d'images. Ils sont généralement décrits comme "l'apprentissage au fil du temps" ou "y compris l'effet du temps-1 sur l'entrée actuelle"
Cette interprétation / explication devient vraiment déroutante lorsque vous travaillez avec des données EEG. Un exemple d'un R-CNN utilisé sur les données EEG peut être trouvé ici
Imaginez que j'ai des exemples de formation comprenant chacun un tableau 1x512. Ce réseau capture une lecture de tension pour 1 électrode à 512 points temporels consécutifs. Si j'utilise cela comme entrée d'un CNN récurrent (en utilisant des convolutions 1D), la partie récurrente du modèle ne capture pas réellement le «temps», non? (comme le suggéreraient les descriptions / explications discutées plus haut) Parce que dans ce contexte, le temps est déjà capturé par la deuxième dimension du tableau
Donc, avec une configuration comme celle-ci, qu'est-ce que la partie récurrente du réseau nous permet de modéliser qu'un CNN régulier ne peut pas (sinon le temps)?
Il me semble que récurrent signifie simplement faire une convolution, ajouter le résultat à l'entrée d'origine et convoluer à nouveau. Cela est répété pour x nombre d'étapes récurrentes. Quel avantage ce processus apporte-t-il réellement?
Réponses:
La partie récurrente d'un réseau vous permet, d'une manière générale, de modéliser des dépendances à long et court terme. Ainsi, votre modèle peut avoir un certain sens de l'état.
Ceci est généralement avantageux si vous utilisez des séries temporelles. Par exemple, si vous avez des données provenant d'un moniteur de fréquence cardiaque et que vous souhaitez classer entre repos, stress et récupération. Si votre point de données indique que votre fréquence cardiaque est à 130, cela dépend si vous vous rétablissez de charges élevées ou autre chose.
Edit: j'ai oublié votre deuxième question.
Je pourrais réfléchir à quelques réponses possibles. En alambiquant la partie récurrente, vous la filtrez en quelque sorte. Ainsi, vous obtenez un signal plus propre et les erreurs ne se cumuleront pas autant. Vanilla rnn souffre d'explosions de dégradés disparaissant, donc cela pourrait être son approche pour le surmonter. De plus, vous intégrez vos fonctionnalités dans le rcnn, ce qui peut conduire, comme il l'a dit, à plus de chemins à exploiter. Ce qui le rend moins sujet au sur-ajustement, donc plus généralisable.
la source
la source
N'oubliez pas que les CNN sont des détecteurs de fonctionnalités. La sortie d'une couche convolutionnelle est une matrice qui signale où certaines caractéristiques ont été détectées.
Par conséquent, les CNN récurrents sont des réseaux de neurones récurrents qui apprennent des séquences de caractéristiques, où ces caractéristiques sont également apprises pendant la formation.
la source