2017-07-20 2 views
0

J'utilise LSTM bidirectionnelle dans le nombre à un paramètre (tâche d'analyse de sentiment) avec tflearn. Je veux comprendre comment tflearn agréger des représentations à partir des couches LSTM avant et arrière avant de l'envoyer à la couche softmax pour obtenir une sortie probabiliste? Par exemple, dans le diagramme suivant, comment les couches de concat et d'agrégat sont-elles généralement implémentées?couche d'agrégation dans LSTMs bidirectionnelle

enter image description here

Y at-il la documentation disponible à ce sujet?

Merci!

Répondre

0

Lors de l'utilisation de Bidirectional RNN tflearn, la sortie est chaînés, comme vous l'avez indiqué sur la figure ci-dessus. Ainsi, chacune des sorties sera deux fois celle de la taille d'incorporation en entrée. Le réglage par défaut ne retourne la dernière sortie de séquence, donc si vous voulez utiliser la séquence, vous devez définir return_seq=True puis passer la séquence à la couche aggregration comme Merge.

+0

Merci pour votre réponse. Je me demandais comment se fait-il qu'ils n'utilisent pas une couche d'agrégation dans leur exemple d'analyse de sentiment bidirectionnel montré ci-dessous. https://github.com/tflearn/tflearn/blob/master/examples/nlp/bidirectional_lstm.py – user7009553

+0

Comme je l'ai dit dans ma réponse, le réglage par défaut de 'bidirectional_rnn' renvoie uniquement la dernière sortie de séquence (la sortie de mot3 en ta figue). Puisque cette couche dépend des deux dernières couches, seule cette sortie est suffisante pour la classification. Maintenant, les 2 autres sorties sont ignorées, il n'y a pas de place pour l'agrégation. –