【问题标题】:Is positional encoding necessary for transformer in language modeling?语言建模中的transformer是否需要位置编码?
【发布时间】:2020-08-09 21:50:41
【问题描述】:

我正在开发像https://pytorch.org/tutorials/beginner/transformer_tutorial.html 这样的语言模型。

我不清楚 - 这里是否需要位置编码? 据我了解 - 语言翻译任务是必要的,因为解码器应该能够在编码器的序列中定位来自先前输出的单词。 但是在没有解码器的情况下,语言建模有必要吗?

编码器输出中的单词有可能被打乱了吗?

编辑:

原始论文中没有任何解释。而且我没有在教程中找到解释(比如这里https://kazemnejad.com/blog/transformer_architecture_positional_encoding/)。

我不明白这个:

“由于句子中的每个单词同时流经 Transformer 的编码器/解码器堆栈,模型本身对每个单词没有任何位置/顺序感。”

在我看来——transformer 编码器有关于订单的信息,因为它的输入是一个有序的序列(类似于 RNN)。

我试图从模型中移除位置编码。它可以工作,但性能较差。

将这种位置编码添加到 RNN 是否有用?它能提高性能吗?

【问题讨论】:

  • 如何定义“必要”?模型还能用吗?是的,即使在机器翻译中,但不使用它会降低性能。
  • 谢谢,请看我的修改

标签: transformer language-model


【解决方案1】:

该研究小组声称不需要位置编码:https://arxiv.org/abs/1905.04226

【讨论】:

    【解决方案2】:

    我看了以下视频, https://www.youtube.com/watch?v=S27pHKBEp30 其中,他在大约 16:00 的时间戳说,没有位置编码的注意力机制只是一个“词袋”。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 2020-04-10
    • 1970-01-01
    • 2020-08-16
    • 2013-09-14
    • 2020-09-16
    • 1970-01-01
    • 2019-01-22
    • 2011-01-31
    • 2015-04-26
    相关资源
    最近更新 更多