我读了一篇关于机器翻译的论文,它使用了投影层。 投影层解释如下:“附加投影旨在降低编码器输出表示的维度以匹配解码器堆栈维度。”
有人知道这个架构或者如何在 Pytorch 中实现这一层吗?
论文链接:https://www.aclweb.org/anthology/P18-1008.pdf
模型架构:
最佳答案
这是一个标准的线性投影。您只需添加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/