返回课堂

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

读A时,为什么B也会出来?

本页问题

两次外积已经加到同一个W,接下来检查能否只读回目标。

AM04/b0 · 读A

Akey (1, 0)value (1, 0)Bkey (0.6, 0.8)value (0, 1)查询 Ax = (1, 0)同一个 W100.60.8实际读出(1, 0.6)目标 (1, 0)1 · v_A+0.6 · v_B
读A

把A的线索输入这个矩阵,结果不是只有A,而是A再加上零点六份B。看这两个数:A和自己的匹配程度是1,B的key和A也有零点六的相似度。所以B虽然不是我们要找的那一条,仍然参与了输出。

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

指图与推进 · 不朗读输入k_A,指W与输出(1,0.6),分开A/B贡献。

AM04/b1 · 展开读取规则

Akey (1, 0)value (1, 0)Bkey (0.6, 0.8)value (0, 1)查询 Ax = (1, 0)同一个 W100.60.8实际读出(1, 0.6)目标 (1, 0)1 · v_A+0.6 · v_Bk_Aᵀx = 1k_Bᵀx = 0.6先比较 key 与查询,再按分数加权 value
展开读取规则

矩阵乘法在这里做的事情,可以拆成两步:先算查询和每个key的内积,再用这些分数加权各自的value。相似度只要不为零,别的内容就可能跟着进来。刚才的混合不是画图画错了,而是这个规则本来就会这样读。

进一步解释

$W=\sum_i v_i k_i^\top$给出$Wx=\sum_i v_i(k_i^\top x)$。各项在value空间相加;这些系数不是概率。

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

指图与推进 · 不朗读沿key与查询内积→分数→value加权解释,查询仍是A。

AM04/b2 · 换成查询B

Akey (1, 0)value (1, 0)Bkey (0.6, 0.8)value (0, 1)查询 Bx = (0.6, 0.8)同一个 W100.60.8实际读出(0.6, 1)目标 (0, 1)0.6 · v_A+1 · v_Bk_Aᵀx = 0.6k_Bᵀx = 1先比较 key 与查询,再按分数加权 value
换成查询B

换成B也一样:B是我们要的内容,A变成了干扰。两条都确实写进去了,但这个简单的累加办法没有把它们分清。接下来的问题不只是“还能不能写”,而是“写得更多以后,还读得多清楚”。

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

指图与推进 · 不朗读换成k_B,指输出(0.6,1)与目标v_B,指出A成为干扰。

接下来

从两条推广到很多条,干扰怎样随着条目数和维度变化?

补充推导、边界与来源

两次外积已经加到同一个W,接下来检查能否只读回目标。

Wx=Σᵢvᵢ(kᵢᵀx);对单位key查询k_j,Wk_j=v_j+Σ_(i≠j)vᵢ(kᵢᵀk_j)。

来源与继续阅读

Alex Wang:对应原文小节。

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

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

本页证据与条件

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

进入主题正文