R35 · 回到 bank:本次输出属于哪个位置?
bank与money已经放进同一读取接口。回到两句bank,继续问:一次查询的结果属于谁,换一个查询位置后原输出去了哪里?
状态 b0
两句bank查到相同E[bank],但可用线索分别含money与river。比较相同起点和不同来源,准备观察输出怎样依赖上下文。
窗口网络与RNN已能组合语境;此处比较的是访问方式,并非语境第一次进入模型。
状态 b1
同句X经不同投影形成Q、K、V;bank的query读本句来源,结果写入h_bank。先只追这一行的输入和输出。
状态 b2
查询位置改成money或river,原h_bank保留,并新增各自输出。每个query都得到一行结果,整句没有在这里被池化成一个向量。
公式与算例详情
读取来源与输出归属
Cross-attention 的关键是来源不同。例如翻译时,目标侧表示 D 产生 $Q=DW_Q$,源编码器输出 H 产生 $K=HW_K$ 与 $V=HW_V$。目标位置查询源序列,所以输出行数由目标 query 数决定。
Self-attention 中,三组激活都由同一个输入序列 X 投影:$Q=XW_Q,K=XW_K,V=XW_V$。不同的投影参数使 Q、K、V 通常不相等。某个位置用自己的 q 去匹配所有合法 key,再得到自己的读出向量。若有 n 个 query,就得到 n 行输出;self-attention 本身不是把整句池化为一个向量。
画面并置 money 与 river 出现在 bank 周围的两句话,说明同一词在不同语境中可能需要读取不同来源。此时需求与候选来源都在本句;让每个位置各自产生 query,才得到一组属于各位置的输出。向量没有预先规定的人类语义职业,图也没有声称一个给定 head 已学会银行/河岸消歧。causal self-attention 进一步限制合法来源,但仍属于同一序列内部的读取。
参考与采用
- Vaswani et al. · Attention Is All You Need:原始 encoder–decoder Transformer:信息来源、并行性、路径和代价。 复核位置:§3、Table 1/2;本轮核对v7 PDF;首次提交2017-06-12
原课页采用记录:M21 cross 到 self。页码均按PDF物理页计。
继续学习
若 bank 的输出与整句池化仍混淆,读从读取到词预测的“同一个词上的三类读取”,再按输出归属说明为 bank、money 等位置分别标出 Q 的来源与输出行。CLS 02“5 · 从逐步读取到 self-attention”承接这一转换;LAB 02 E 的多 query 计算中,核对一条 query 对应一行输出,并保留每行自己的来源分布。