← 全部章节详细版这一节

P48 · 注意力与 Transformer

Transformer(下)

解码器与训练 · 视频 1:00:34

1这节解决什么问题

编码器把原文变成一组带上下文的表示,接下来怎么一个词一个词地写出译文?训练时又怎么做到同时算?

2一句话讲清

解码器自己接自己的输出往下写;训练时用「遮住未来」让它一次算完所有位置,真正生成时只能一步步来。

3通俗解释

  1. 生成:先给一个「开始」符号,得到词表上每个词的概率,取最大或按概率抽一个;把它接到后面,再生成下一个;直到生成「结束」。
  2. 解码器的自注意力和编码器一样,只多一条「遮住未来」:算某个位置时,后面还没写出来的词一律不许看。不遮的话,训练时它等于在抄答案。
  3. 交叉参考是解码器提问、编码器提供材料:解码器拿当前位置去和原文每个位置比对,决定这一步该参考原文的哪几个词。写一个词就重新查一次。
  4. 训练时把标准答案的前半段当输入,让它预测下一个词,这叫教师强制。因为有「遮住未来」,一次就能把所有位置的错一起算出来。真正生成时没有标准答案,只能用自己的输出,训练和实际用的输入不完全一样,这叫曝光偏差。

4一个例子

讲义例子

讲义用一张树状的分支图说明为什么不能把所有可能都试一遍:每一步都有很多候选,几步下来组合就爆炸了。贪心地每步取最大概率,快,但一步选错后面全歪。束搜索是折中:同时留几条最有希望的开头,边走边淘汰,最后挑整体概率最高的一条。它比贪心稳一些,但留的条数有限,也不保证全局最好。

5常见误区

  • 以为教师强制就是生成方法。它只用于训练;真正生成时没有标准答案,必须自己接自己的输出。
  • 以为交叉参考里「提问」的是编码器。反了:解码器提问,编码器提供材料。
  • 以为「遮住未来」和「遮住补齐的无效位置」是一回事。前者遮的是还没生成的词,只用于解码器;后者遮的是为了让一批句子等长而补的空位。

6和相邻几节的关系

P47 的编码器输出就是这里交叉参考的材料来源;P36 的「比对—按比重混合」是所有注意力的内核;P38 的循环网络序列到序列是「压成一个」的旧方案。

730 秒回顾

自回归地写,直到结束;遮住未来才能在训练时一次算完;交叉参考是解码器问、编码器答,写一个词查一次;训练用标准答案、生成用自己的输出,两者有落差;束搜索是有限宽度的折中。

8小自测

先自己答,再点开对答案。

1. 训练时去掉「遮住未来」,会发生什么?

算某个位置时它能看到后面的标准答案,等于抄答案:训练损失会很好看,但真正生成时没有未来词可看,行为完全对不上,质量会崩。

2. 交叉参考里,谁提问、谁提供材料?写一个词要查几次?

解码器提问,编码器提供材料;每写一个词就查一次,所以同一段原文会被反复参考,每次重点可能不同。

9来源

来源与说明(点开可查)

基于对应官方讲义整理并做复习补充,不是视频逐字稿;本页不标注视频时间点。

对应讲义页码:seq2seq_v9.pdf 第 22–59 页

回到顶部