Yang Y., Liu T., Wang Y., Zhou J., Gan Q., Wei Z., Zhang Z., Huang Z. and Wipf D. Graph neural networks inspired by classical iterative algorithms. ICML, 2021.
概
基于广义 energy function (diffusion) 的图神经网络.
符号说明
- G={V,E}, 图;
- n=|V|, m=|E|;
- energy function:
ℓY(Y):=∥Y−f(X;W)∥2F+λtr(YTLY).(1)
其中 X∈Rn×d0 为 node features. f(⋅) 是特征变换, 比如:f(X;W)=XW,f(X;W)=MLP[X;W].
L=D−A=BTB, 为 G 的 Laplacian 矩阵. D,A 分别为 degree 和 adjacency matrix. B∈Rm×n 为入射 (incidence) 矩阵 (注: 说实话, 我不知道这个分解是怎么得到的).
Motivation
-
对于问题 (1), 我们有显式解:
Y∗(W)=(I+λL)−1f(X;W),(2)
在 n 比较大的时候, 求逆是费时费力的, 所以可以通过多步梯度下降来近似, 我们知道:
∇YℓY=2λLY+2Y−2f(X;W),
取 step size 为 α/2 可得迭代公式:
Y(k+1)=Y(k)−α[(I+λL)Y(k)−f(X;W)].
这种方式存在一个问题, I+λL 具有很大的条件数, 这会导致整体的收敛非常慢, 所以作者认为可以利用 Jacobi preconditioning 来 rescale 这一步:
Y(k+1)=Y(k)−α~D−1[(I+λL)Y(k)−f(X;W)]=Y(k)−α~D−1[(I+λD−λA)Y(k)−f(X;W)]=(1−α)Y(k)−α~D−1[−λAY(k)−f(X;W)]=(1−α)Y(k)+α~D−1[λAY(k)+f(X;W)].(6)
其中 ~D=λD+I.
-
我们知道, 如果 Aij∈{0,1}, 此时有:
tr[YTLY]=∑(i,j)∈E∥yi−yj∥22.
-
这种形式虽然很一般, 但是在实际中, 可能会遇到异常值的问题 (∥⋅∥22 对异常值非常敏感).
-
对于 (1) 我们有一种概率上的解释, 令:
p(X|Y)∝exp(−12λ∥Y−f(X;W)∥2F),p(Y)∝exp(−12tr(YTLY)),
此时
ℓY⇔−logp(X|Y)p(Y)⇔−logp(Y|X).
故, 我们可以认为, 最小化 ℓY 某种程度上就是在找最大后验概率的点. 这里, 我们假设先验为 p(Y), 即每条边 (i,j) 的方差均为 1, 这是一个很强的假设, 因为可能某些边是噪声.
Robust Regularization
-
于是, 作者希望如此建模先验:
p(Y)=∏(i,j)∈Ep(yi−yj)=∏(i,j)∈Ep(uij),μij:=yi−yj.
-
再建模:
p(μij)=∫p(μij,γij)dμ(γij),
这里 γij 是 edge (i,j) 的不确定度的变量, 此时
p(Y)=Z−1∏(i,j)∈E∫N(μij|0,γ−1ijI)dμ(γij).(13)
这里我们假设 p(μij|γij)=N(μij|0,γ−1ijI).
-
一个比较重要的结论是: 对于任意的满足 (13) 的先验, 都存在凹的且非降的函数 ρ:R+→R 使得下列成立:
−logp(Y)=π(Y;ρ)⇔∑(i,j)∈Eρ(∥yi−yj∥22)
-
换言之, 我们考虑不同的先验的建模, 实际上等价于寻找不同的 ρ, 故而, 我们可以将 (1) 转换为如下的更加一般的形式:
ℓY(Y;ρ):=∥Y−f(X;W)∥2F+λ∑(i,j)∈Eρ(∥yi−yj∥22).(14)
-
实际上, (14) 可以进一步改写为:
∑(i,j)∈E[γij∥yi−yj∥22−~ρ(γij),]
这里 γij 知识一组变分分解系数, ~ρ(γ):=infx(γx−ρ(x)) 为 ρ 的凹共轭 (concave conjugate). 故
~ρ(γij)≤γij∥yi−yj∥22−ρ(∥yi−yj∥22)⇒ρ(∥yi−yj∥22)≤γ(i,j∥yi−yj∥22−~ρ(γij)⇒∑(i,j)∈Eρ(∥yi−yj∥22)≤∑(i,j)∈E[γ(i,j∥yi−yj∥22−~ρ(γij)].
-
这有一个什么好处呢, 我们可以通过确定 γij 然后优化 ℓY(Y;ρ) 的一个上界:
^ℓY(Y;Γ;~ρ)=∥Y−f(X;W)∥2F+λtr(YT^LY)+f(Γ),
其中 Γ∈Rm×m 为一个对角矩阵, 对角线元素为 γ(i,j), 而 ^L:=BTΓB.
-
对于一般的 γ, 最小化 ^ℓY 实际上最小化 ℓY(Y;ρ) 的一个上界, 且倘若
γij=∂ρ(z2)∂z2|z=∥yi−yj∥2(18)
的时候, 最小化 ^ℓY 等价于最小化 ℓY(Y;ρ).
-
故, 一种可行的算法是:
- 利用 (18) 更新 γ;
- 利用类似 (6) 的公式更新 Y(k+1).
-
作者给出了一些 ρ 的选择:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-06-11 Proximal Algorithms 5 Parallel and Distributed Algorithms