sogo提交网站入口,可以做c语言任务的网站,营销型网站建设案例分析,php盗版视频网站怎么做的大部分引用参考了既安的https://www.zhihu.com/question/337886108/answer/893002189这篇文章#xff0c;个人认为写的很清晰#xff0c;此外补充了一些自己的笔记。 弄清楚Decoder的输入输出#xff0c;关键在于图示三个箭头的位置#xff1a; 以翻译为例#xff1a;
输… 大部分引用参考了既安的https://www.zhihu.com/question/337886108/answer/893002189这篇文章个人认为写的很清晰此外补充了一些自己的笔记。 弄清楚Decoder的输入输出关键在于图示三个箭头的位置 以翻译为例
输入我爱中国输出 I Love China
因为输入“我爱中国”在Encoder中进行了编码这里我们具体讨论Decoder的操作也就是如何得到输出“I Love China”的过程。
Decoder执行步骤
Time Step 1
初始输入 起始符/s Positional Encoding位置编码中间输入我爱中国Encoder Embedding最终输出 产生预测“I”
Time Step 2
初始输入起始符/s “I” Positonal Encoding中间输入我爱中国Encoder Embedding最终输出产生预测“Love”
Time Step 3
初始输入起始符/s “I” “Love” Positonal Encoding中间输入我爱中国Encoder Embedding最终输出产生预测“China”
图示 整体右移一位Shifted Right 论文在Decoder的输入上对Outputs有Shifted Right操作。
Shifted Right 实质上是给输出添加起始符/结束符方便预测第一个Token/结束预测过程。
正常的输出序列位置关系如下
0-“I”1-“Love”2-“China”
但在执行的过程中我们在初始输出中添加了起始符相当于将输出整体右移一位Shifted Right所以输出序列变成如下情况
0-【起始符】1-“I”2-“Love”3-“China”
这样我们就可以通过起始符预测“I”也就是通过起始符预测实际的第一个输出。
笔记 Transformer中Decoders也是 N6 层通过上图我们可以看到每层 Decoder 包括 3 个 sub-layers 第一个 sub-layer是 Masked Multi-Head Self-Attention这个层的输入是 前一时刻Decoder输入前一时刻Decoder的预测结果 Positional Encoding。 第二个sub-layer是Encoder-Decoder Multi-Head Attention这个层的输入是 Encoder Embedding上层输出。 也就是在这个层中 Q是Decoder的上层输出即Masked Multi-Head Self-Attention的输出 K\V是Encoder的最终输出 tips这个层不是Self-AttentionKV!Q等号是同源的意思。 第三个 sub-layer 是前馈神经网络层与 Encoder 相同。
总结
Transformer Decoder的输入
初始输入前一时刻Decoder输入前一时刻Decoder的预测结果 Positional Encoding中间输入Encoder EmbeddingShifted Right在输出前添加起始符方便预测第一个Token