如何让GDN2更稳定一些?

我们知道,DeltaNet的核心是$\boldsymbol{I}-\eta\boldsymbol{k}\boldsymbol{k}^{\top}$形式的更新矩阵(参考《线性注意力简史:从模仿、创新到反哺》),在$\eta \leq 2$并对$\boldsymbol{k}$施加L2 Normalize时,它的连乘积具备良好的数值稳定性(参考《为什么DeltaNet要加L2 Normalize?》和《DeltaNet的核心逆矩阵的元素总是在[-1, 1]内》),这是它能稳定训练的关键,后续工作GDN、KDA也沿用了这一设置。

后来,GDN2试图将更新矩阵一般化为$\boldsymbol{I}-\eta\boldsymbol{k}\boldsymbol{j}^{\top}$,类似的选择也出现在RWKV7中。然而,这种一般化可能会带来一些新的不稳定问题,本文对此做一个简单分析。

问题描述

GDN2的一般形式为
\begin{equation}\boldsymbol{S}_t = \boldsymbol{S}_{t-1}\boldsymbol{D}_t(\boldsymbol{I} - \eta_t \boldsymbol{k}_t\boldsymbol{j}_t^{\top}) + \eta_t \boldsymbol{v}_t \boldsymbol{k}_t^{\top}\end{equation}

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论