源序反转仍能改善固定摘要系统,说明最初的错译尚未定位。本页试另一项选择:保留整组源位置,看看每个目标步骤怎样重新取得所需信息。
状态 b0
图中保留同一中文源句的六个位置表示;目标侧只有BOS。先比较这一组可再次访问的来源与先前的整体摘要接口。
状态 b3
s₀与六个源表示共同进入scorer,新出现的是六个匹配分数。先辨认分数对应源位置,尚未形成词概率。
状态 b4
分数变为沿六个源位置归一化的权重;每行和为一。较大权重决定某个源表示在汇总中贡献多少。
状态 b5
同一组权重乘上源向量并相加,形成context。沿汇入箭头观察多份内容怎样成为一份内部向量。
状态 b6
context接入解码与词表头后,本步选择I。读取来源的权重和输出英文词的概率在这里接成两段不同计算。
状态 b7
I被接回前缀,当前状态更新,再预测gave。上方来源保持不动,需重新计算的是这一轮匹配与读出。
状态 b1
前缀已经是I gave,当前预测her。沿本步权重、context和词表头读完一次闭环,观察接收者信息在哪里进入预测。
此步前缀只有I gave;待预测的her不能先作为本步输入。
状态 b8
her已在前缀中,当前预测a。目标轴向前推进一格,上一输出成为下一步已知输入。
状态 b9
前缀为I gave her a,当前预测book。新的需求仍访问同一组源位置。
状态 b2
前缀已走过her、a、book,现在才预测yesterday。源位置未变,当前状态和读取分配改变,说明需求可以随目标位置更新。
状态 b10
yesterday加入前缀后预测句号;标点也是序列中的一个输出步骤。
状态 b11
句号之后预测EOS并停止。八个目标位置与八次读取一一对应,完整序列没有跳过中间词。
固定表示 encoder–decoder 把源侧信息集中到一个整体向量。动态 attention 保留一组源位置表示 $h_1,\ldots,h_n$;每当解码器要产生下一项,便根据当前目标侧状态重新计算一组权重,再汇总源信息。预测 her 与预测 yesterday,允许形成不同的读取分布。
在 Bahdanau 的模型中,源表示来自双向 RNN,因而一个位置的表示也包含周围语境。箭头指向“她”不意味着其向量只存储“她”这个孤立词。对于第 $i$ 个输出,原式使用上一解码状态与源表示计算 $e_{ij}=a(s_{i-1},h_j)$,再得到 $c_i=\sum_j\alpha_{ij}h_j$。$c_i$ 参与后续解码与预测,并不是直接选出的目标词。
图中的六个源位置、中英语对与读取权重均为教学构造。切换目标前缀时,源句与这组编码表示保持不变;变化的是当前需求与读取分布。它们帮助说明后续 Q/K/V 的角色,不能作为模型已经修正错译或学会对齐的证据。R34 再单独阅读历史模型的真实热图。
如果仍不清楚“读到她”怎样参与写出 her,读从读取到词预测中“读取之后,系统怎样决定写 her”,并沿书稿的同一目标前缀追踪源表示、当前需求与输出。CLS 02“2 · 匹配、汇总,再预测下一词”把这条链接完整;LAB 02“E · 只改 q 或只改 V,分别会改变什么?”用于检查来源权重与词表概率的区别,不能把手工箭头当训练结果。