python - 使用 RNN 的神经机器翻译背景下的投影层是什么?

标签 python machine-learning pytorch lstm recurrent-neural-network

我读了一篇关于机器翻译的论文,它使用了投影层。 投影层解释如下:“附加投影旨在降低编码器输出表示的维度以匹配解码器堆栈维度。”

有人知道这个架构或者如何在 Pytorch 中实现这一层吗?

论文链接:https://www.aclweb.org/anthology/P18-1008.pdf

模型架构:

enter image description here

最佳答案

这是一个标准的线性投影。您只需添加nn.Linear(2 * model_dim, model_dim)即可哪里model_dim是 RNN 维度。

编码器是双向的,两个方向上的一个 RNN 的输出尺寸为 model_dim 。解码器仅在前向工作,因此它的状态仅为 model_dim方面。它实际上在多头注意力中节省了很多参数,因为它使键和值的投影只有一半大小,因为它们从 model_dim 投影。而不是2 * model_dim .

关于python - 使用 RNN 的神经机器翻译背景下的投影层是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60110462/

相关文章:

python - Python 给函数参数赋值的过程是怎样的?

Python 根据第一个属性在内部按日期排序

python - 我可以导出RapidMiner模型以与python集成吗?

machine-learning - 将在 Google Cloud 中训练的模型导入到 Android 设备

python - .py 不从内容文件夹中读取

Python 命名空间 'import X' 和 'from X import'

python - Django Rest Framework Json 数据猴子修补

python - 如何将 py 文件中的机器学习算法集成到 django 网站中?

python - 如何方便的获取pytorch模块的设备类型?

nlp - 损失函数负对数似然给出损失,尽管完美的准确性