Transformers:解码器最后一层如何输出所需的令牌?

人工智能 自然语言处理 变压器 伯特 注意力
2021-11-14 21:44:31

在论文Attention Is All You Need中,这部分让我感到困惑:

在我们的模型中,我们在两个嵌入层 [在编码部分] 和 pre-softmax 线性变换 [解码部分的输出] 之间共享相同的权重矩阵

重量不应该不同,而不是相同吗?以下是我的理解:

为简单起见,让我们使用我们拥有的英法翻译任务ne我们词典中的英语单词数量和nf法语单词的数量。

  • 在编码层,输入标记是1Xneone-hot 向量,并嵌入一个neXdmodel学习嵌入矩阵。

  • 在解码层的输出中,最后一步是带有权重矩阵的线性变换dmodelXnf,然后应用softmax得到每个法语单词的概率,并选择概率最高的法语单词。

这是怎么回事neXnmodel输入嵌入矩阵与dmodelXnf解码输出线性矩阵?对我来说,通过训练数据相互独立地学习这两个矩阵似乎更自然,对吧?还是我误解了论文?

1个回答

我通过阅读该部分引用的论文找到了答案,使用输出嵌入改进语言模型

基于这一观察,我们提出了三向权重绑定(TWWT),其中解码器的输入嵌入、解码器的输出嵌入和编码器的输入嵌入都是绑定的。该模型的单一源/目标词汇表是源词汇表和目标词汇表的结合。在这个模型中,无论是在编码器还是解码器中,所有子词都嵌入在同一个双语空间中。

似乎他们学习了一个嵌入矩阵(ne+nf) Xdmodel在维度上。