返回课堂

完整深入材料 · 保留原页与全部停点。回到相关主讲

同样一个线性层,可以把两条都读对

本页问题

先改写入:key/value与矩阵尺寸都不变,只重新选择权重。

AM07/b0 · 显示同样尺寸的新W

key A = (1, 0);key B = (0.6, 0.8)value A = (1, 0);value B = (0, 1) · 同一组关联、同为 2 × 2 矩阵外积累加 W共同拟合 W*100.60.81−0.7501.25直接叠加两次外积min Σᵢ ‖Wkᵢ − vᵢ‖²只改这四个权重,再用同样的 key 检查读回
显示同样尺寸的新W

我们不改两条内容,也不把矩阵做大,只改这四个权重。新的写法把两条关联一起考虑,要求输入A时接近A的value,输入B时接近B的value。先看结果,再解释这个W从哪里来。

教师备课:指图与模拟问答

指图与推进 · 不朗读并排核对同一key/value与两个2×2矩阵,只改四个权重。

AM07/b1 · 读A

key A = (1, 0);key B = (0.6, 0.8)value A = (1, 0);value B = (0, 1) · 同一组关联、同为 2 × 2 矩阵外积累加 W共同拟合 W*100.60.81−0.7501.25直接叠加两次外积min Σᵢ ‖Wkᵢ − vᵢ‖²同一查询:k_A = (1, 0)读出 (1, 0.6)读出 (1, 0) = v_A
读A

输入A,现在输出正好是A,刚才零点六份B不见了。这个改进没有来自更多维度,而是来自权重之间的配合。

教师备课:指图与模拟问答

指图与推进 · 不朗读输入k_A,对比外积W的(1,0.6)与W*的(1,0)。

AM07/b2 · 读B并总结

key A = (1, 0);key B = (0.6, 0.8)value A = (1, 0);value B = (0, 1) · 同一组关联、同为 2 × 2 矩阵外积累加 W共同拟合 W*100.60.81−0.7501.25直接叠加两次外积min Σᵢ ‖Wkᵢ − vᵢ‖²同一查询:k_B = (0.6, 0.8)读出 (0.6, 1)读出 (0, 1) = v_B本例 key 线性独立;精确恢复来自更合适的写入
读B并总结

再输入B,也能得到正确的B。两条key并不垂直,仍然可以由一个合适的线性变换区分开。刚才“非正交就一定互相串扰”的印象,需要加一个条件:那是简单外积累加的结果,并不是所有线性记忆的共同命运。

进一步解释

$W^*k_A=(1,0)^\top$;$W^*k_B=(0.6-0.75\times0.8,1.25\times0.8)^\top=(0,1)^\top$。key始终未改变。

教师备课:指图与模拟问答

指图与推进 · 不朗读输入k_B,对比(0.6,1)与(0,1);key始终未改变。

接下来

手算例证明可以改善,但改善能延续到多大规模?

补充推导、边界与来源

先改写入:key/value与矩阵尺寸都不变,只重新选择权重。

求解min_W Σᵢ||Wkᵢ−vᵢ||²。本例代入可直接核验:W*k_A=(1,0);W*k_B=(0.6−0.75×0.8,1.25×0.8)=(0,1)。独立key数量不超过输入维度时,无正则的线性回归可拟合所有这些指定关联。病态key、数值精度、噪声查询是另外的问题。

来源与继续阅读

Alex Wang:对应原文小节。

I02 原阅读材料。旧阅读材料保留自身的算例与记号;不要将旧三条目行向量例与本节两条目列向量例混算。

完整推导与实验口径 · 原文配套源码入口。

本页证据与条件

教学构造与机制示意;非模型实测

进入主题正文