Faster Local Solvers for Graph Diffusion Equations

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,,0i1,1,0,,0)T, 我们有

    v=α(IβA)1iuiei=iα(IβA)1uiei=iuiϕ(ei;A,α,β).

    因此, 我们只需要求解每一个 ϕ(ei;A,α,β), 后面的解就好求了. 此外, ϕ 是关于 u 的一个线性算子.

  • 让我们来讨论一下 ϕ(es;A,α,β) 的求解:

    1. 策略是维护 x,r 两个向量, 我们希望迭代地驱使 xϕ(es;A,α,β)r0, 即 r 是一个残差.
    2. 更新策略是 (ϕ 后面简写了) 需要保证:

      xt+1+ϕ(rt+1)=xt+ϕ(rt)=0+ϕ(es).

      以及

      rt+1rt.

    3. 可以证明, 如下的更新策略是满足的:

      (1)xt+1xt+αrteirt+1rtrtei+βA(rtei),x0=0,r0=es.

      这里 i=\argmaxjrt,j.

proof:

xt+1+ϕ(rt+1)=xt+αrtei+ϕ(rt)ϕ((IβA)(rtei))=xt+ϕ(rt).

  • βA(rtei)rt,i 的时候 (比如 A 的每个元素都小于 β), 就能保证 rt+1rt. 当然了, 这个条件可能并不一定全部满足. 但是也容易注意到, (1) 这种更新方式, 实际上能够每次把残差中的最大元素给削减部分, 然后一部分分给 x, 另一部分分给 r, 总体来说会慢慢收敛.

Sequential local updates via Successive Overrelaxation (SOR)

  • 注意到, 我们实际上要求解的是

    1α(IβA)v=u,

    它可以拓展为:

    Qv=u.

  • 这个的求解可以通过

    (2)xt+1xt+weirt+1rtwQei,x0=0,r0=u.

  • 这个实际上满足:

    Qxt+1+rt+1=Qxt+wQei+rtwQei=Qxt+rt=u.

  • 作者似乎这种方式收敛地更快. 但是我感觉没啥特别的差别啊.

吐槽: 本质上就是个高效解方程的方案, 为啥要写的如此晦涩?

代码

[official-code]

posted @   馒头and花卷  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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
点击右上角即可分享
微信分享提示