Lecture 05 · 换打分方式,保留的是同一个读取接口

R33 · 换打分方式,保留的是同一个读取接口

刚才为目标词读取另一句话;现在让bank读取本句的money。先辨认哪些计算可以沿用,哪些只是打分盒子内部的不同选择。

状态 b0

bank提供query、money提供key,两种scorer处理同一对角色。观察改变发生在匹配函数内部,后续读取接口仍相同。

bank/money的位置表示用于说明接口,本图没有提供受训词义消歧的测量。

bank 要读本句 money:怎样沿用同一种读取?She deposited money at the bank.bank 位置 → query qmoney 位置 → key k加性匹配e = vₐᵀ tanh(Wq q + Wk k + b)点积匹配e = qᵀk换一种打分方式,后面的归一化与汇总仍可沿用。

状态 b2

两种匹配结果都接回源轴softmax与value汇总。需求和来源现在都在本句;下一步只需把这种操作重复给每个查询位置。

bank 要读本句 money:怎样沿用同一种读取?She deposited money at the bank.需求来自 bank;候选线索与内容来自本句各位置匹配打分沿源轴归一化value 汇总score e权重 α;源位置和为 1读取内容 c同一种读取,接下来让本句每个位置都产生输出。

状态 b1

在线性拼接反例中,query项对本行每列都是同一常数。将它从softmax分子分母约去,便看见需求为何不再改变读取。

bank 要读本句 money:怎样沿用同一种读取?加性 scorer · Bahdanau 常见形式eᵢⱼ = vₐᵀ tanh(Wq qᵢ + Wk kⱼ + b)点积 scorereᵢⱼ = qᵢᵀkⱼ若只做线性拼接: eᵢⱼ = aᵀqᵢ + bᵀkⱼ同一行的 aᵀqᵢ 是公共常数,会被 softmax 抵消。softmax(z + c·1) = softmax(z)

公式与算例详情

需求怎样进入匹配分数

画面让同一句中的 bank 提出需求、money 提供候选来源;这是为比较接口给出的例子,不是消歧模型的训练结果。常见加性 attention 用 $e_{ij}=v_a^{\mathsf T}\tanh(W_q q_i+W_k k_j+b)$ 计算匹配。Bahdanau 原文中的 query 来源是上一解码状态,key/value 的角色由源注释向量承担;此处用 QKV 角色语言帮助比较,不把 2017 年的全部投影写法倒写成其原式。点积 attention 则以 $q_i^{\mathsf T}k_j$ 为基本 score,Transformer 使用缩放后的点积。

为什么加性网络中的非线性不能随意删掉?若写成 $e_{ij}=a^{\mathsf T}q_i+b^{\mathsf T}k_j$,对固定 query 的一行而言,$a^{\mathsf T}q_i$ 对所有 j 都相同。softmax 满足 $\operatorname{softmax}(z+c\mathbf1)=\operatorname{softmax}(z)$,于是 query 的影响恰好抵消,读取分配不再随 query 改变。含 tanh 的联合变换不会一般性地分解成这种公共常数与 key 项之和。

点积 scorer 本身具有 q 与 k 的乘性相互作用。两种打分随后都可以接同样的 softmax 与加权汇总。attention 的完整计算也包含 softmax 非线性,不能说它“完全没有非线性”,更不能以此作为 FFN 的唯一理由。

参考与采用

  • Bahdanau et al. · Align and Translate:动态软对齐的机制与特定英法翻译设置中的长度证据。 复核位置:v7, 2016-05-19;ICLR 2015;§2.2 Eq.4–6、§4.2、§5.1 Figure 2;首次提交 2014-09-01
  • Vaswani et al. · Attention Is All You Need:原始 encoder–decoder Transformer:信息来源、并行性、路径和代价。 复核位置:§3、Table 1/2;本轮核对v7 PDF;首次提交2017-06-12

原课页采用记录:M18 一次完整 attention、M19 匹配与传递内容。页码均按PDF物理页计。

继续学习

若疑问是“删去 tanh 后为何不再随 query 改变”,读从读取到词预测的“scorer 改的是匹配规则,轴不能跟着混乱”,对照公共常数抵消的推导。在LAB 02 E 段保持相同 q/K/V 与 softmax 轴,比较加性、点积与纯线性拼接的分数;要检查的是 query 是否能改变相对匹配,而不是两套分数的数值尺度是否相同。