快速阅读Deepseek的新论文《多样性约束超连接》: - 你想将残差大小从1×C增加到n×C(n个流而不是1个)。早期的残差更新:x' = x + layer(x)。将x设为n×C,并使用x' = Ax + B layer(Cx)代替。A、B、C都依赖于x,并且是小矩阵(n×n,n×1,n×1)。A似乎是影响最大的。这就是超连接(HC)。 - HC与其他残差修改方案有相同的问题——最终学习到的A矩阵的乘积(沿着恒等路径)会爆炸/消失。 - 为了解决这个问题,他们将A矩阵投影到Birkhoff多面体上(简单来说:在指数变换后使元素为正,转化为行和列和都为1的矩阵——称为双随机矩阵)。这具有良好的性质——这些类型矩阵的乘积仍然具有行和列和为1(由于闭合性),因此不会爆炸(谱界限),并且不变性是跨流的权重总和为1。对于n = 1,这变成了标准的残差流,这很好。他们的变换方法很简单——交替将行和列分别除以行和列的和进行20次迭代(随着迭代趋向无穷,收敛到我们想要的矩阵)。他们发现20次对于前向和后向传递都足够好(在60层中,最大后向增益为1.6,而通常的HC为3000,1.6与1相差不大)。 - 组合这些矩阵(所有排列矩阵的凸包)会导致信息混合,随着层索引的增加,这是一个很好的直觉,并且在他们的60层复合矩阵中也非常清晰地展示出来。我相信总体上我们得到了残差路径的加权和(考虑梯度),在逻辑上可分组的路径的权重总和为1。在我看来,这是一个相当有原则的方法,也使得(前向和后向)增益非常稳定。 - 有趣的是,注意到前半部分与后半部分的层相比,前半部分有很多类似“池化”的混合。后半部分的层对不同通道的处理比前半部分更精确/尖锐,这很直观。 - 他们还改变了B和C的参数化(使用sigmoid而不是tanh,可能是为了避免符号变化,并且在B前面加了一个2的因子,我相信是为了保持均值残差乘数,C不需要这个,因为输入已经是预归一化的)。 - 很酷的系统优化使这个操作变得快速——他们进行了内核融合,在mHC后向传递中重新计算,甚至修改了DualPipe(他们的管道并行实现)。 - 当n = 4时,训练的开销仅为6.7%,损失下降了0.02,并且在基准测试中有改进。