我在 pytorch 教程中对 TRANSLATION WITH A SEQUENCE TO SEQUENCE 有疑问

I have a question about TRANSLATION WITH A SEQUENCE TO SEQUENCE in the pytorch tutorials

我目前正在学习Seq2seq翻译。我正在尝试理解并遵循此网站“https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html#attention-decoder”中的 PyTorch 教程。

在网站上,他们谈论注意力技术。我想知道他们在 Luong 和 Bahdanau 之间使用了哪种技术? 另一个问题,为什么他们在 GRU 单元之前应用 Relu 层? 最后,图中的红框就叫做context vector吧?

I would like to know which technique are they used between Luong and Bahdanau?

Loung 是乘法的,所以它应该使用 Bahdanau(加法注意),因为它先连接然后应用线性。有关注意力类型的更多信息,请参阅 http://ruder.io/deep-learning-nlp-best-practices/index.html#attention

Why do they apply RelU layer before GRU cell?

这是Linear层之后的激活。我认为最初使用的是 tanh,但 ReLU 变得更受欢迎。
我认为在普通 Decoder 中嵌入之后的另一个 ReLU 是错误的 https://github.com/spro/practical-pytorch/issues/4

the red box in the figure is called a context vector, right?