最后关于HC到mHC的地方讲的不是很好,我在这里补充一下:

mHC 没有改变 HC 的基本数据流:
(h1,h2,…,hn)→mix→Attention/FFN→写回多个 stream
假设 n=2:
[h1′h2′]=Hres[a11a12a21a22][h1h2]+Attention output
在普通 HC 中,这四个数基本可以自由学习。
于是可能学成:
Hres=[1.30.40.71.2]
那么:
h1′=1.3h1+0.7h2
信号明显被放大。
更麻烦的是,Transformer 有几十层:
HLres⋯H2resH1res
这些矩阵一直乘,最后可能把信号放大到几十、几百甚至几千倍;论文里确实观察到了 HC 的 composite mapping 出现极大的 gain,并伴随训练不稳定。
mHC 最核心的修改就是:
Hres 的所有元素≥0
而且:
每一行和=1,每一列和=1
例如:
Hres=[0.80.20.20.8]
这是允许的。
于是:
h1′=0.8h1+0.2h2
h2′=0.2h1+0.8h2
注意发生了什么:
它仍然允许 h1,h2 互相交流,但只能做“加权平均式”的 mixing。
不会出现:
h1′=3h1−2h2
这种疯狂放大/抵消。
这类矩阵叫 doubly stochastic matrix(双随机矩阵),集合构成 Birkhoff polytope。mHC 用 Sinkhorn-Knopp 迭代把原始学习出的矩阵投影到这个集合中。
最漂亮的地方就在这里。
假如:
A=[0.80.20.20.8]
下一层:
B=[0.70.30.30.7]
那么:
BA
仍然是 doubly stochastic matrix。
所以不管:
Layer 1
↓ Hres_1
Layer 2
↓ Hres_2
Layer 3
↓ Hres_3
...
Layer 100
最终:
H100res⋯H1res
依然满足:
row sum=1,column sum=1
而且 spectral norm 不超过 1,因此不会通过 residual routing 不断把信号放大。论文把这种性质称为 compositional closure 和 norm preservation。
4. 另外 Hpre、Hpost 也被约束了
HC 原本有三个东西:
Hpre,Hres,Hpost
mHC 对它们分别做:
Hpre=σ(H~pre)
Hpost=2σ(H~post)
Hres=Sinkhorn(H~res)
所以 Hpre 和 Hpost 也变成非负,避免正负权重互相 cancellation;但最重要的修改还是 Hres 的 doubly-stochastic constraint。
这里的数学证明我也不懂,我猜测都是试错试出来的。
mHC 本质上就是对多路 residual stream 做加权混合。以 4 路为例:Residual Mapping 用 4×4 矩阵把 4 路重新加权成 4 路;Pre Mapping 用 4→1 的权重将 4 路合成一个输入;Post Mapping 再用 1→4 的权重把层输出写回 4 路。Decode 时 n=1,Prefill 时 n>1,对每个 token 独立执行同样的混合。