web-dev-qa-db-fra.com

Quelle est la différence entre Luong Attention et Bahdanau Attention?

Ces deux attentions sont utilisées dans les modules seq2seq . Les deux attentions différentes sont présentées comme des attentions multiplicatives et additives dans la documentation this tensorflow. Quelle est la différence?

11

Ils sont très bien expliqués dans n tutoriel pytorch seq2seq

La principale différence est de savoir comment noter les similitudes entre l'entrée du décodeur actuel et les sorties du codeur.

7
J-min

Je suis passé par là Approches efficaces pour la traduction automatique de neurones basée sur l'attention . Dans la section 3.1 Ils ont mentionné la différence entre deux attentions comme suit,

  1. Luong attention a utilisé les états de couche cachés supérieurs à la fois dans l'encodeur et le décodeur. Mais l'attention de Bahdanau prend la concaténation de l'état caché des sources avant et arrière (Top Hidden Layer).

  2. Dans Luong attention ils obtiennent l'état caché du décodeur au moment t. Ensuite, calculez les scores d'attention et à partir de là, obtenez le vecteur de contexte qui sera concaténé avec l'état caché du décodeur, puis prédisez.

    Mais dans le Bahdanau au moment t nous considérons à propos de t-1 état caché du décodeur. Ensuite, nous calculons l'alignement, les vecteurs de contexte comme ci-dessus. Mais ensuite, nous concaténons ce contexte avec l'état caché du décodeur à t-1. Donc, avant le softmax, ce vecteur concaténé va à l'intérieur d'un GRU.

  3. Luong a différents types d'alignements. Bahdanau a uniquement un modèle d'alignement de score concat.

Alignment methdods

24