首页 > 其他分享 >Graph Neural Networks Inspired by Classical Iterative Algorithms

Graph Neural Networks Inspired by Classical Iterative Algorithms

时间:2023-06-11 09:33:05浏览次数:61  
标签:Classical Neural Graph ij rho bm mathcal gamma lambda

目录

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) 的图神经网络.

符号说明

  • \(\mathcal{G} = \{\mathcal{V, E}\}\), 图;
  • \(n = |\mathcal{V}|\), \(m = |\mathcal{E}|\);
  • energy function:

    \[\tag{1} \ell_Y (Y) := \|Y - f(X; W)\|_{\mathcal{F}}^2 + \lambda \text{tr}(Y^T L Y). \]

    其中 \(X \in \mathbb{R}^{n \times d_0}\) 为 node features. \(f(\cdot)\) 是特征变换, 比如:

    \[f(X; W) = XW, \quad f(X; W) = \text{MLP}[X; W]. \]

    \(L = D - A = B^T B\), 为 \(\mathcal{G}\) 的 Laplacian 矩阵. \(D, A\) 分别为 degree 和 adjacency matrix. \(B \in \mathbb{R}^{m \times n}\) 为入射 (incidence) 矩阵 (注: 说实话, 我不知道这个分解是怎么得到的).

Motivation

  • 对于问题 (1), 我们有显式解:

    \[\tag{2} Y^*(W) = (I + \lambda L)^{-1} f(X; W), \]

    在 \(n\) 比较大的时候, 求逆是费时费力的, 所以可以通过多步梯度下降来近似, 我们知道:

    \[\nabla_{Y} \ell_Y = 2 \lambda L Y + 2 Y - 2 f(X; W), \]

    取 step size 为 \(\alpha / 2\) 可得迭代公式:

    \[Y^{(k+1)} = Y^{(k)} - \alpha [(I + \lambda L)Y^{(k)} - f(X; W)]. \]

    这种方式存在一个问题, \(I + \lambda L\) 具有很大的条件数, 这会导致整体的收敛非常慢, 所以作者认为可以利用 Jacobi preconditioning 来 rescale 这一步:

    \[\begin{array}{ll} \tag{6} Y^{(k+1)} &= Y^{(k)} - \alpha \tilde{D}^{-1} [(I + \lambda L)Y^{(k)} - f(X; W)] \\ &= Y^{(k)} - \alpha \tilde{D}^{-1} [(I + \lambda D - \lambda A)Y^{(k)} - f(X; W)] \\ &= (1 - \alpha) Y^{(k)} - \alpha \tilde{D}^{-1} [- \lambda AY^{(k)} - f(X; W)] \\ &= (1 - \alpha) Y^{(k)} + \alpha \tilde{D}^{-1} [\lambda AY^{(k)} + f(X; W)]. \end{array} \]

    其中 \(\tilde{D} = \lambda D + I\).

  • 我们知道, 如果 \(A_{ij} \in \{0, 1\}\), 此时有:

    \[\text{tr}[Y^T L Y] = \sum_{(i, j) \in \mathcal{E}} \|\bm{y}_i - \bm{y}_j \|_2^2. \]

  • 这种形式虽然很一般, 但是在实际中, 可能会遇到异常值的问题 (\(\|\cdot\|_2^2\) 对异常值非常敏感).

  • 对于 (1) 我们有一种概率上的解释, 令:

    \[p(X|Y) \propto \exp(-\frac{1}{2\lambda} \|Y - f(X; W)\|_{\mathcal{F}}^2), \\ p(Y) \propto \exp(-\frac{1}{2}\text{tr}(Y^TLY)), \]

    此时

    \[\ell_Y \Leftrightarrow -\log p(X|Y)p(Y) \Leftrightarrow -\log p(Y|X). \]

    故, 我们可以认为, 最小化 \(\ell_Y\) 某种程度上就是在找最大后验概率的点. 这里, 我们假设先验为 \(p(Y)\), 即每条边 \((i, j)\) 的方差均为 \(1\), 这是一个很强的假设, 因为可能某些边是噪声.

Robust Regularization

  • 于是, 作者希望如此建模先验:

    \[p(Y) =\prod_{(i, j) \in \mathcal{E}} p(\bm{y}_i - \bm{y}_j) =\prod_{(i, j) \in \mathcal{E}} p(\bm{u}_{ij}), \: \bm{\mu}_{ij} := \bm{y}_i - \bm{y}_j. \]

  • 再建模:

    \[p(\bm{\mu}_{ij}) = \int p(\bm{\mu}_{ij}, \gamma_{ij}) \mathrm{d} \mu (\gamma_{ij}), \]

    这里 \(\gamma_{ij}\) 是 edge \((i, j)\) 的不确定度的变量, 此时

    \[\tag{13} p(Y) = Z^{-1} \prod_{(i, j) \in \mathcal{E}} \int \mathcal{N}(\bm{\mu}_{ij}|0, \gamma_{ij}^{-1}I) \mathrm{d} \mu(\gamma_{ij}). \]

    这里我们假设 \(p(\bm{\mu}_{ij}|\gamma_{ij}) = \mathcal{N}(\bm{\mu}_{ij}|0, \gamma_{ij}^{-1}I)\).

  • 一个比较重要的结论是: 对于任意的满足 (13) 的先验, 都存在凹的且非降的函数 \(\rho: \mathbb{R}^+ \rightarrow \mathbb{R}\) 使得下列成立:

    \[-\log p(Y) = \pi(Y; \rho) \Leftrightarrow \sum_{(i, j) \in \mathcal{E}} \rho (\|\bm{y}_i - \bm{y}_j\|_2^2) \]

  • 换言之, 我们考虑不同的先验的建模, 实际上等价于寻找不同的 \(\rho\), 故而, 我们可以将 (1) 转换为如下的更加一般的形式:

    \[\tag{14} \ell_Y(Y; \rho) :=\|Y - f(X; W)\|_{\mathcal{F}}^2 + \lambda \sum_{(i, j) \in \mathcal{E}} \rho(\|\bm{y}_i - \bm{y}_j\|_2^2). \]

  • 实际上, (14) 可以进一步改写为:

    \[\sum_{(i, j) \in \mathcal{E}} \Big[ \gamma_{ij} \|\bm{y}_i - \bm{y}_j\|_2^2 - \tilde{\rho}(\gamma_{ij}), \Big] \]

    这里 \(\gamma_{ij}\) 知识一组变分分解系数, \(\tilde{\rho}(\gamma) := \inf_x(\gamma x - \rho(x))\) 为 \(\rho\) 的凹共轭 (concave conjugate). 故

    \[\begin{array}{ll} & \tilde{\rho}(\gamma_{ij}) \le \gamma_{ij} \|\bm{y}_i - \bm{y}_j\|_2^2 - \rho(\|\bm{y}_i - \bm{y}_j\|_2^2) \\ \Rightarrow & \rho(\|\bm{y}_i - \bm{y}_j\|_2^2)\le \gamma_{(i,j} \|\bm{y}_i - \bm{y}_j\|_2^2 - \tilde{\rho}(\gamma_{ij}) \\ \Rightarrow & \sum_{(i, j) \in \mathcal{E}}\rho(\|\bm{y}_i - \bm{y}_j\|_2^2)\le \sum_{(i, j) \in \mathcal{E}} \Big[ \gamma_{(i,j} \|\bm{y}_i - \bm{y}_j\|_2^2 - \tilde{\rho}(\gamma_{ij}) \Big]. \\ \end{array} \]

  • 这有一个什么好处呢, 我们可以通过确定 \(\gamma_{ij}\) 然后优化 \(\ell_Y(Y; \rho)\) 的一个上界:

    \[\hat{\ell}_Y (Y; \Gamma; \tilde{\rho}) = \|Y - f(X; W)\|_{\mathcal{F}}^2 + \lambda \text{tr}(Y^T \hat{L} Y) + f(\Gamma), \]

    其中 \(\Gamma \in \mathbb{R}^{m \times m}\) 为一个对角矩阵, 对角线元素为 \(\gamma_{(i, j)}\), 而 \(\hat{L} := B^T \Gamma B\).

  • 对于一般的 \(\gamma\), 最小化 \(\hat{\ell}_{Y}\) 实际上最小化 \(\ell_Y(Y; \rho)\) 的一个上界, 且倘若

    \[\tag{18} \gamma_{ij} = \frac{\partial \rho(z^2)}{\partial z^2}|_{z = \|\bm{y}_i - \bm{y}_j\|_2} \]

    的时候, 最小化 \(\hat{\ell}_Y\) 等价于最小化 \(\ell_Y(Y; \rho)\).

  • 故, 一种可行的算法是:

    1. 利用 (18) 更新 \(\gamma\);
    2. 利用类似 (6) 的公式更新 \(Y^{(k+1)}\).
  • 作者给出了一些 \(\rho\) 的选择:

标签:Classical,Neural,Graph,ij,rho,bm,mathcal,gamma,lambda
From: https://www.cnblogs.com/MTandHJ/p/17472508.html

相关文章

  • 2023-06-10:给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示 在节点网络
    2023-06-10:给定一个由n个节点组成的网络,用nxn个邻接矩阵graph表示在节点网络中,只有当graph[i][j]=1时,节点i能够直接连接到另一个节点j。一些节点initial最初被恶意软件感染。只要两个节点直接连接,且其中至少一个节点受到恶意软件的感染,那么两个节点都将被恶意软件......
  • 2023-06-10:给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示 在节点网络
    2023-06-10:给定一个由n个节点组成的网络,用nxn个邻接矩阵graph表示在节点网络中,只有当graph[i][j]=1时,节点i能够直接连接到另一个节点j。一些节点initial最初被恶意软件感染。只要两个节点直接连接,且其中至少一个节点受到恶意软件的感染,那么两个节点都将被恶意......
  • GoodGraph
    [ABC304E]GoodGraph可以用并查集维护目前已有的连通块。首先应当判断给定的图是不是不好的图,如果是不好的,后面肯定都是不好的。除此之外,可以对于每组点对,记录它们对应的连通块是不可达的。将这些关系排序,然后每次查询时看一看能不能找到这个位置即可。由于时间卡的不是很紧,是有......
  • Postman 中 GraphQL 教程:快速入门学习
    GraphQL是一种用于API的开源数据查询和操作语言,用于API的查询语言和运行时。它使客户端能够精确地指定其数据需求,并获得预测性地结果。GraphQL旨在提高API的效率、灵活性和可靠性。Postman是一款用于API开发的强大工具,它支持REST和GraphQLAPI。Postman还提供了一个用户友好的界面,......
  • CF323B - Tournament-Graph
    题意:构造一个\(n\)大小的锦标赛图,即每两点之间恰有一条有向边,满足任意点对\((u,v)\),都存在一条从\(u\)到\(v\),长度不超过\(2\)的路径。方法一考虑奇数情况,假设我们的点是在环上排列的,那么我们对任意的跨越不超过半个环的边都连上,也就是说,我们把点看成圆上的若干个等分点......
  • CANoe_ Trace 和 Graphics 窗口的介绍和使用
    Canoe是一款用于汽车网络分析和仿真的工具,其中包括Trace和Graphics两个窗口,用于显示和分析CAN网络数据。以下是对Canoe的Trace和Graphics窗口的简要介绍和使用说明:1.Trace窗口Trace窗口用于显示CAN网络中的消息和信号数据。可以在Trace窗口中实时查看CAN消息的发送和接收情......
  • Re: finding all cycles in a graph
    ref:https://cs.stackexchange.com/questions/7216/find-the-simple-cycles-in-a-directed-graphRe:findingallcyclesinagraphFrom: JuanPabloCarbajalSubject: Re:findingallcyclesinagraphDate: Wed,25Jan201219:43:48+0100OnWed,Jan25,2012a......
  • 图数据库HugeGraph——这个无非是利用cassandra+ES作为后端来做的图数据库,支持分布式
    HugeGraph介绍#以下引自官方文档:CopyHugeGraph是一款易用、高效、通用的开源图数据库系统(GraphDatabase,GitHub项目地址),实现了ApacheTinkerPop3框架及完全兼容Gremlin查询语言,具备完善的工具链组件,助力用户轻松构建基于图数据库之上的应用和产品。HugeGraph支持百亿以上的顶点......
  • Learning to Pre-train Graph Neural Networks 学习如何预训练GNN
    ......
  • spring boot 集成 Neo4j org.neo4j.ogm.metadata.DomainInfo.useClassgraph(DomainIn
    springboot版本:2.2.13.RELEASE 问题在于引入后,报错spring-boot-starter-data-neo4j<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-neo4j</artifactId></dependency>  *......