Jin W., Liu X., Ma Y., Aggarwal C. and Tang J. Feature overcorrelation in deep graph neural networks: a new perspective. In ACM International Conference on Knowledge Discovery and Data Mining (KDD), 2022.
概
GNN 有一个很严重的弊端: over-smoothing, 这会导致 GNN 的层数不能过深. 这篇文章指出, 影响网络性能的可能并不是 over-smoothing (或者说它并不罪魁祸首), 真正的问题是特征的 over-correlation. 于是作者通过最小化特征间的相关度, 最大化特征和初始特征的互信息来解决这一问题.
符号说明
- G=(V,E,X), 图;
- V={v1,v2,…,vN}, 结点;
- E⊂V×V, 边;
- X∈RN×d, 结点的特征;
- A∈{0,1}N×N, 邻接矩阵;
- 一般的 GNN layer:
H(l)i,:=Transform(Propagate(H(l−1)j,:|vj∈N(vi)∪{vi}))
其中 N(vi) 表示 vi 的一阶邻居.
over-correlation 的现象
-
pearson correlation coefficient:
ρ(x,y)=∑Ni=1(xi−¯x)(yi−¯y)√∑Ni=1(xi−¯x)2∑Ni=1(yi−¯y)2;
-
由此, 我们可定义特征 H∈RN×d 上维度间的相关度:
ρ(H:,i,H:,j),∀i,j∈[d]:={1,2,…,d};
-
由此定义整个特征 H 的一个相关度指标:
Corr(H):=1d(d−1)∑i≠j|p(H:,i,H:,j)|∈[0,1],
注意到, 当 H:,i,H:,j∀i,j 是线性相关的时候, Corr(H) 达到极端的 1.
-
同时我们定义整个特征 H 上的一个平滑度:
SMV(H):=1N(N−1)∑i≠jD(Hi,:,Hj,:)∈[0,1],
其中
D(x,y)=12∥x∥x∥−y∥y∥∥2,
当所有的结点都成比例, 即 Hi,:=cHj,:, 此时有一个最光滑的情况 SMV(H)=0.

由上图所示, 当层数逐渐增加的时候, 结点的特征间的相关度 Corr(H) 会迅速上升, 最后达到接近 1 的峰值, 此时 GNN 几乎丧失了判断能力. 此外, 虽然在层数增加的过程中, SMV(H) 也在逐步下降, 但是并不如 Corr(H) 来的显著.
另一个很有意思的现象是, 当我们采用 Transform 为 MLPs, 并加多 MLP 的层数的时候, 网络的会逐步趋向过拟合. 此时如下图 (b) 所示, Corr 的增长非常迅速, 且无论 ReLU 是否采用, 而 SMV 则并不一定, 这也说明特征间的相关度更像是罪魁祸首. 此外, 过参数化的网络更容易招致这一点.

解决方法
-
作者希望直接最小化特征间的相关度:
minH1N−1∥(H−¯H)T(H−¯H)Cov Matrix−I∥2F;
-
这类似于下列的标准化后的损失:
ℓD(H)=∥(H−¯H)T(H−¯H)∥(H−¯H)T(H−¯H)∥F−I√d∥2F,
于是在各层上的损失可以归结为:
LD=K−1∑i=1ℓD(H(i));
-
此外, 除了减少相关度外, 我们还希望特征 H 不丧失太多输入特征 X 的信息, 我们希望最大化二者的互信息:
maxMI(H,X);
-
我们没法直接计算出二者的互信息 (因为我们并不知道分布), 故我们采用最大化它的一个下界:
MI(H,X)≥EP(H,X)[f(H,X)]−logEP(X)P(H)[ef(A,X)],
这里 f(H,X) 为 energy function;
-
具体的, 这里
ℓM(H(k),X)=−EP(h(k)i,xi)[f(h(k)i,xi)]+logEP(h(k)i)P(xi)[ef(h(k)i,xi)],
其中 f(⋅,⋅) 是一个二分类函数:
f(hi,xi)=σ(xTiWhi),
话说, 从 energy 的角度来说, 应该没有 σ 吧. 最后在各层上的损失就为
LM=∑i∈[t,2t,⋯,K−1tt]ℓM(H(i),X),
注意, 这里作者每隔 t 层加一个损失, 用于加速训练;
-
最后总的损失为
L=Lclass+αLD+βLM.
代码
[official]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2021-09-16 Hough Transform