循环记忆写入拆成两步:先决定写不写,再决定写几个槽,稀疏事实检索准确率从0.048升到0.222
核心概要
循环记忆模型把历史压进固定数量的记忆槽,以往每个词都写入同样多的槽,把“该不该存”和“存几个槽”混成一个决定。Factorized Write Routing 把写入拆成两步:先由学习到的门判断当前词是否写入,再由槽路由器决定更新固定数量还是自适应数量的槽,查询时仍读取全部槽。在两种合成长上下文任务、十个随机种子上,四槽写入时出现随信息密度反转的结果:高密度 Feature Recall 上始终写入的长期准确率为0.472,高于学习门控的0.337;稀疏事实 Passkey 上学习门控为0.222,高于始终写入的0.048。
深度剖析
循环记忆的写入被拆成两个可以分别控制的决定:当前词是否进入记忆,以及进入时更新几个记忆槽。 此前的多槽记忆让每个词写入相同数量的槽,等于默认所有词都值得写、且更新预算相同,把是否存储与分配多少槽合并在一起。 在官方 RAVEN 骨干上,每词写两个槽的 Raven-Fixed 与写全部槽的 Raven-Dense 用配对种子1至10比较,高密度 Feature Recall 的长期平均准确率为0.2882对0.3772,配对差0.0890,95%置信区间不含零。
写入策略的优劣随上下文的信息密度改变方向,学习到的选择性写入在稀疏事实任务上明显更好。 在固定四槽写入、其余条件匹配的配对对照中,学习门控在高密度 Feature Recall 上不如始终写入,在稀疏事实 Passkey 上则优于始终写入。 十个种子上,四槽写入时 Feature Recall 的长期准确率为始终写入0.472对学习门控0.337,Passkey 为学习门控0.222对始终写入0.048,两组配对区间都不含零。
写入门先给出每个词是否写入的二值判断,槽路由器再在写入的词上分配要更新的槽,读取端不受写入选择限制。 门控用直通估计器训练不可微的阈值判断,槽分配可以是固定宽度,也可以按路由概率累积到质量阈值来确定宽度。 查询注意力对全部记忆槽做归一化,因此查询不必知道某个事实写进了哪些槽;训练只通过查询位置的答案交叉熵间接监督门控与路由器。
启示与展望
结论建立在两种程序生成的键值检索任务上:Feature Recall 的上下文几乎每个词都可能被查询,Passkey 中四分之一上下文词是事实、其余为干扰项;模型为两层、隐藏维度256、约191万参数,训练长度分别为32和128,测试延伸到512和1024。作者提出下一步应做控制密度的连续扫描并在自然文本上检验。
两个任务除信息密度外还有其他差异,因此结果不能把密度认定为唯一因果变量;自适应与固定分配的对照使用了不同的实际写入预算,只能否定该自适应规则具有普遍优势,不能证明固定分配本身更优。诊断用的 oracle 门使用部署时不可得的事实标签,也不构成上界;记忆在读取当前词之前更新,使查询词本身可能改变状态,部分 oracle 差距可能来自查询处理而非上下文过滤。实现上仍向循环核传入稠密路由张量,因此稀疏性只体现在逻辑更新上,未带来实际加速。
