Bai J., Zhou B., Yang D. and Xiao Y. Faster Local Solvers for Graph Diffusion Equations. NeurIPS, 2024.
概
在实际使用中, 我们可能会需要估计一个图的 pagerank/katz/hk 向量, 这通常需要我们求解一个 GDE. 但是直接每次利用全部的图计算复杂度可能是很高的. 所以一些每次仅用到局部结构 (本文实际上用的是一个节点以及它的邻居节点) 会是一种更好的更实际的方式. 这种方法其实已经有了一些传统的解, 作者提出了一种更加高效的 (没感觉有啥特别的).
Graph Diffusion Equations 的传统近似解法
-
这部分方法在 Local Graph Partitioning using PageRank Vectors 提到.
-
假设, 我们定义传统的 graph diffusion equations 为如下形式 (不全面):
v=ϕ(u;A,α,β)=αu+βAv.
-
满足一定的条件下, 我们有:
v=α(I−βA)−1u.
-
令 ei=(0,…,0i−1,1,0,…,0)T, 我们有
v=α(I−βA)−1∑iuiei=∑iα(I−βA)−1uiei=∑iuiϕ(ei;A,α,β).
因此, 我们只需要求解每一个 ϕ(ei;A,α,β), 后面的解就好求了. 此外, ϕ 是关于 u 的一个线性算子.
-
让我们来讨论一下 ϕ(es;A,α,β) 的求解:
- 策略是维护 x,r 两个向量, 我们希望迭代地驱使 x→ϕ(es;A,α,β) 而 r→0, 即 r 是一个残差.
- 更新策略是 (ϕ 后面简写了) 需要保证:
xt+1+ϕ(rt+1)=xt+ϕ(rt)=0+ϕ(es).
以及rt+1≺rt.
- 可以证明, 如下的更新策略是满足的:
xt+1←xt+αrt⊙eirt+1←rt−rt⊙ei+βA(rt⊙ei),x0=0,r0=es.(1)
这里 i=\argmaxjrt,j.
proof:
xt+1+ϕ(rt+1)=xt+αrt⊙ei+ϕ(rt)−ϕ((I−βA)(rt⊙ei))=xt+ϕ(rt).
- 当 βA(rt⊙ei)≤rt,i 的时候 (比如 A 的每个元素都小于 β), 就能保证 rt+1≺rt. 当然了, 这个条件可能并不一定全部满足. 但是也容易注意到, (1) 这种更新方式, 实际上能够每次把残差中的最大元素给削减部分, 然后一部分分给 x, 另一部分分给 r, 总体来说会慢慢收敛.
Sequential local updates via Successive Overrelaxation (SOR)
-
注意到, 我们实际上要求解的是
1α(I−βA)v=u,
它可以拓展为:
Qv=u.
-
这个的求解可以通过
xt+1←xt+w⋅eirt+1←rt−w⋅Qei,x0=0,r0=u.(2)
-
这个实际上满足:
Qxt+1+rt+1=Qxt+wQei+rt−wQei=Qxt+rt=u.
-
作者似乎这种方式收敛地更快. 但是我感觉没啥特别的差别啊.
吐槽: 本质上就是个高效解方程的方案, 为啥要写的如此晦涩?
代码
[official-code]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2023-10-31 Graph Neural Networks with Adaptive Residual
2023-10-31 Is Homophily a Necessity for Graph Neural Networks?
2020-10-31 Adversarial Self-Supervised Contrastive Learning