Supposons que j'alimente une matrice 2D de forme (99,13) en entrée d'une couche LSTM. J'ai n nombre de fichiers, où chacun contient (99,13) des vecteurs de taille. J'ai décidé de considérer 13 comme le nombre de fonctionnalités et 99 comme les pas de temps.
(Lors de l'implémentation avec Keras, j'ai ajouté la couche LSTM comme première couche. Et j'ai défini le output_dim de la couche sur 100)
Mais je ne peux pas comprendre comment les choses se passent réellement au sein du réseau lorsque nous fournissons une entrée comme ci-dessus. J'ai les questions suivantes, auxquelles je ne peux pas répondre moi-même.
- Quel type de valeurs fournissons-nous en entrée aux cellules LSTM? ( xt , ht-1 utilisés comme entrées dans la cellule sont toujours des vecteurs? Dans mon cas, xt a-t-il la forme de [1,13]?)
- Lorsque nous disons que nous avons une couche LSTM comme première couche du mode l, alimente-t-elle le premier vecteur d'entrée à toutes les cellules de la couche donnée? (Par exemple: alimenter la première image de taille 13 (sur 99 images) à toutes les n cellules LSTM de la première couche?) De même, continue-t-il à alimenter toutes les lignes de la matrice d'entrée à chaque pas de temps?
- Quel type de valeur une cellule LSTM génère-t-elle à chaque pas de temps ? (Considérons-nous l'état de la cellule comme la sortie correcte du nœud? S'agit-il d'une valeur unique ou d'un vecteur? S'il s'agit d'un vecteur, quelles sont les dimensions? Existe-t-il un moyen de deviner les dimensions? J'ai supposé ht comme vecteur)
- Qu'entend-on par output_dim (dimension de sortie) d'une couche donnée? Doit-il toujours être le nombre de nœuds dans la couche suivante?
Veuillez ne pas mettre cela en attente ou directement à d'autres groupes. Je pense que ces questions sont liées à l'apprentissage automatique et à rnn. J'ai lu des articles de recherche, mais je n'ai pas pu avoir une idée claire de la façon dont les choses fonctionnent vraiment au sein du réseau LSTM.
la source