首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >变压器模型中译码器的第一个输入是什么?

变压器模型中译码器的第一个输入是什么?
EN

Data Science用户
提问于 2019-05-11 08:36:07
回答 1查看 11.6K关注 0票数 11

图像来自url:杰伊谈变压器

K_encdec和V_encdec以矩阵乘法的形式与编码器输出一起计算,并发送到解码器中每个解码器层的编解码器注意层。

先前的输出是从步骤2到解码器的输入,但是步骤1中解码器的输入是什么?只有K_encdec和V_encdec,还是有必要通过输入第一个单词的矢量输出(来自编码器)来提示解码器?

EN

回答 1

Data Science用户

回答已采纳

发布于 2019-05-11 17:46:52

在每个解码时间步骤中,解码器接收两个输入:

  • 编码器输出:这是计算一次,并在每个解码时间步骤作为关键(K_{endec})和值(V_{endec})的编码器-解码器注意块的所有层。
  • 目标令牌解码到当前解码步骤:对于第一步,矩阵在其第一个位置包含一个特殊的令牌,通常是</s>。在每个解码步骤k后,将位于k位置的解码器的结果写入位于k+1位置的目标令牌矩阵,然后进行下一个解码步骤。

例如,在解码的fairseq实现中,您可以看到它们如何创建目标令牌矩阵并填充这里,以及如何将EOS令牌(</s>)放置在这里的第一个位置。

当你用bert标签标记你的问题时,你应该知道我之前描述的仅仅适用于使用转换器的序列到序列转换的任务方式(即当用于机器翻译时),而这不是伯特的工作方式。BERT是关于蒙面语言模型丢失的训练,这使得它在推理时间的使用与NMT转换器有很大的不同。

票数 11
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/51785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档