《CGNF: CONDITIONAL GRAPH NEURAL FIELDS》阅读笔记

一.文章概述

在大多数GNNs中,并没有考虑节点标签间的依赖性。为此,作者将条件随机场(Conditional Random Fields, CRF)和图卷积网络整合在一起提出了CGNF(Conditional Graph Neural Network),该模型显式地建模了整个节点标签集的联合概率,从而在节点标签预测任务中能够利用邻域标签信息

二.背景知识

2.1 图卷积网络

GCN中图卷积层的数学形式如下:
H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) \boldsymbol{H}^{(l+1)}=\sigma\left(\tilde{\boldsymbol{D}}^{-\frac{1}{2}} \tilde{\boldsymbol{A}} \tilde{\boldsymbol{D}}^{-\frac{1}{2}} \boldsymbol{H}^{(l)} \boldsymbol{W}^{(l)}\right) H(l+1)=σ(D~21A~D~21H(l)W(l))
其中 A ~ = A + I \tilde{A}=\boldsymbol{A}+\boldsymbol{I} A~=A+I表示添加了自环的邻接矩阵, D ~ \tilde{D} D~ A ~ \tilde{A} A~对应的度矩阵(对角阵), H ( l ) \boldsymbol{H}^{(l)} H(l)表示第 l l l层的节点表示, W ( l ) \boldsymbol{W}^{(l)} W(l)表示第 l l l层的权重矩阵, σ \sigma σ表示激活函数,常用的为ReLU。

2.2 条件随机场

条件随机场(CRF)是一种无向概率图模型,通常用于结构预测任务。给定输入特征 x ∈ R d x \in \mathbb{R}^{d} xRd,CRF旨在找到最大化条件概率 P ( y ∣ x ) P(\boldsymbol{y} \mid \boldsymbol{x}) P(yx)的标签集 y \boldsymbol{y} y。在无向图上,CRF计算联合概率分布的方式是因子分解,即:
P ( y ∣ x ) = 1 Z ( x ) ∏ c Φ a ( x c , y c ) P(\boldsymbol{y} \mid \boldsymbol{x})=\frac{1}{Z(\boldsymbol{x})} \prod_{c} \Phi_{a}\left(\boldsymbol{x}_{c}, \boldsymbol{y}_{c}\right) P(yx)=Z(x)1cΦa(xc,yc)
其中 c c c表示图中的团, x c \boldsymbol{x}_{c} xc表示团 c c c中所有顶点对应的特征, Φ c \Phi_{c} Φc表示势函数, Z ( x ) = ∑ y c ′ ∏ c Φ a ( x c , y c ′ ) Z(\boldsymbol{x})=\sum_{\boldsymbol{y}_{c}^{\prime}} \prod_{c} \Phi_{a}\left(\boldsymbol{x}_{c}, \boldsymbol{y}_{c}^{\prime}\right) Z(x)=yccΦa(xc,yc)表示归一化因子(用来保证计算出的概率值是合法的)。

团指的是所有顶点都有边连接的子图。

三.CGNF详细介绍

首先给出符号表以方便后续介绍:

CGNF_Notation

3.1 训练

CGNF的第一步是将输入图 G = { X , Y , A } G=\{\boldsymbol{X}, \boldsymbol{Y}, \boldsymbol{A}\} G={X,Y,A}过一下Kipf和Welling提出来的2层GCN模型,即:
H = f ( X , A ) = Softmax ⁡ ( A ^ ReLu ⁡ ( A ^ X W 0 ) W 1 ) \boldsymbol{H}=f(\boldsymbol{X}, \boldsymbol{A})=\operatorname{Softmax}\left(\hat{\boldsymbol{A}} \operatorname{ReLu}\left(\hat{\boldsymbol{A}} \boldsymbol{X} \boldsymbol{W}^{0}\right) \boldsymbol{W}^{1}\right) H=f(X,A)=Softmax(A^ReLu(A^XW0)W1)
随后,作者考虑节点特征和标签依赖性的影响,定义能量函数(energy function)如下:
E ( Y , X , A ) = E c ( Y c , X c , A ) = ∑ i ψ ( y i , x i ) + γ ∑ ( i , j ) ∈ E , i < j ϕ ( y i , y j , A i , j ) E(\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{A})=E_{c}\left(\boldsymbol{Y}_{c}, \boldsymbol{X}_{c}, \boldsymbol{A}\right)=\sum_{i} \psi\left(\boldsymbol{y}_{i}, \boldsymbol{x}_{i}\right)+\gamma \sum_{(i, j) \in \mathcal{E}, i<j} \phi\left(\boldsymbol{y}_{i}, \boldsymbol{y}_{j}, A_{i, j}\right) E(Y,X,A)=Ec(Yc,Xc,A)=iψ(yi,xi)+γ(i,j)E,i<jϕ(yi,yj,Ai,j)
其中 c c c表示团, E \mathcal{E} E表示边集, ψ ( ⋅ ) \psi(\cdot) ψ()一元势函数(用来策略观测节点 x i x_i xi与标签 y i y_i yi间的相容性compatibility,即观测值为 x i x_i xi时属于 y i y_i yi类的概率),成对势函数 ϕ ( ⋅ ) \phi(\cdot) ϕ() 用于捕捉标签相关性。基于该能量函数,可以导出Gibbs分布:
P ( Y ∣ X , A ) = exp ⁡ ( − E ( Y , X , A ) ) ∑ Y ′ ∈ Y exp ⁡ ( − E ( Y ′ , X , A ) ) = exp ⁡ ( − E ( Y , X , A ) ) Z ( X , A ) P(\boldsymbol{Y} \mid \boldsymbol{X}, \boldsymbol{A})=\frac{\exp (-E(\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{A}))}{\sum_{\boldsymbol{Y}^{\prime} \in \mathcal{Y}} \exp \left(-E\left(\boldsymbol{Y}^{\prime}, \boldsymbol{X}, \boldsymbol{A}\right)\right)}=\frac{\exp (-E(\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{A}))}{Z(\boldsymbol{X}, \boldsymbol{A})} P(YX,A)=YYexp(E(Y,X,A))exp(E(Y,X,A))=Z(X,A)exp(E(Y,X,A))
作者的目标便是最大化该条件概率,即:
E ( Y , X , A ) = ∑ i ψ ( y i , h i ) + γ ∑ ( i , j ) ∈ E , i < j ϕ ( y i , y j , A ^ i , j ) = ∑ i ( ψ ( y i , h i ) + γ 2 ∑ j ∈ N ( i ) ϕ ( y i , y j , A ^ i , j ) ) \begin{aligned} E(\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{A}) &=\sum_{i} \psi\left(\boldsymbol{y}_{i}, \boldsymbol{h}_{\boldsymbol{i}}\right)+\gamma \sum_{(i, j) \in \mathcal{E}, i<j} \phi\left(\boldsymbol{y}_{i}, \boldsymbol{y}_{j}, \hat{A}_{i, j}\right) \\ &=\sum_{i}\left(\psi\left(\boldsymbol{y}_{i}, \boldsymbol{h}_{i}\right)+\frac{\gamma}{2} \sum_{j \in N(i)} \phi\left(\boldsymbol{y}_{i}, \boldsymbol{y}_{j}, \hat{A}_{i, j}\right)\right) \end{aligned} E(Y,X,A)=iψ(yi,hi)+γ(i,j)E,i<jϕ(yi,yj,A^i,j)=iψ(yi,hi)+2γjN(i)ϕ(yi,yj,A^i,j)
其中 h i h_i hi是通过2层GCN模型获取到的节点表示, A ^ i , j \hat{A}_{i, j} A^i,j是正则化后的邻接矩阵中的原始, N ( i ) N(i) N(i)是节点 i i i的邻域。两个势函数的计算公式如下:
ψ ( y i , h i ) = − log ⁡ p ( y i ∣ h i ) = − ∑ k y i , k log ⁡ h i , k ϕ ( y i , y j , A ^ i , j ) = − 2 A ^ i , j U y i , y j \begin{aligned} \psi\left(\boldsymbol{y}_{i}, \boldsymbol{h}_{i}\right) &=-\log p\left(\boldsymbol{y}_{i} \mid \boldsymbol{h}_{i}\right)=-\sum_{k} y_{i, k} \log h_{i, k} \\ \phi\left(\boldsymbol{y}_{i}, \boldsymbol{y}_{j}, \hat{A}_{i, j}\right) &=-2 \hat{A}_{i, j} U_{y_{i}, y_{j}} \end{aligned} ψ(yi,hi)ϕ(yi,yj,A^i,j)=logp(yihi)=kyi,kloghi,k=2A^i,jUyi,yj
从上述公式可以看出 ψ ( y i , h i ) \psi\left(\boldsymbol{y}_{i}, \boldsymbol{h}_{i}\right) ψ(yi,hi)实际就是交叉熵, U y i , y j ∈ U U_{y_{i}, y_{j}} \in \boldsymbol{U} Uyi,yjU标签 y i y_i yi y j y_j yj之间可学习的相关性权重。采用类似传统CRF的做法,作者使用负对数似然来作为训练的目标函数:
− log ⁡ P ( Y ∣ X , A ) = E ( Y , X , A ) + log ⁡ Z ( X , A ) = E ( Y , X , A ) + log ⁡ ∑ Y ′ exp ⁡ ( − E ( Y ′ , X , A ) ) \begin{aligned} -\log P(\boldsymbol{Y} \mid \boldsymbol{X}, \boldsymbol{A}) &=E(\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{A})+\log Z(\boldsymbol{X}, \boldsymbol{A}) \\ &=E(\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{A})+\log \sum_{\boldsymbol{Y}^{\prime}} \exp \left(-E\left(\boldsymbol{Y}^{\prime}, \boldsymbol{X}, \boldsymbol{A}\right)\right) \end{aligned} logP(YX,A)=E(Y,X,A)+logZ(X,A)=E(Y,X,A)+logYexp(E(Y,X,A))
在推断(inference)的时候,只需 min ⁡ Y E ( Y , X , A ) \min _{\boldsymbol{Y}} E(\boldsymbol{Y}, \boldsymbol{X}, \boldsymbol{A}) minYE(Y,X,A)即可。但比上述训练目标优化比较困难,为此作者采用伪似然来对其进行近似:
P ( Y ∣ X , A ) ≈ P L ( Y ∣ X , A ) = ∏ i P ( y i ∣ y N ( i ) , X , A ) P(\boldsymbol{Y} \mid \boldsymbol{X}, \boldsymbol{A}) \approx P L(\boldsymbol{Y} \mid \boldsymbol{X}, \boldsymbol{A})=\prod_{i} P\left(\boldsymbol{y}_{i} \mid \boldsymbol{y}_{N(i)}, \boldsymbol{X}, \boldsymbol{A}\right) P(YX,A)PL(YX,A)=iP(yiyN(i),X,A)
其中:
P ( y i ∣ y N ( i ) , X , A ) = exp ⁡ ( − ψ ( y i , h i ) − γ ∑ j ∈ N ( i ) ϕ ( y i , y j , A ^ i , j ) ∑ y i ′ ( exp ⁡ ( − ψ ( y i ′ , h i ) − γ ∑ j ∈ N ( i ) ϕ ( y i ′ , y j , A ^ i , j ) ) = exp ⁡ ( − log ⁡ p ( y i ∣ h i ) − 2 γ ∑ j ∈ N ( i ) A ^ i , j U y i , y j ∑ y i ′ ( exp ⁡ ( − log ⁡ p ( y i ′ ∣ h i ) − 2 γ ∑ j ∈ N ( i ) A ^ i , j U y i ′ , y j ) \begin{aligned} P\left(\boldsymbol{y}_{i} \mid \boldsymbol{y}_{N(i)}, \boldsymbol{X}, \boldsymbol{A}\right) &=\frac{\exp \left(-\psi\left(\boldsymbol{y}_{i}, \boldsymbol{h}_{\boldsymbol{i}}\right)-\gamma \sum_{j \in N(i)} \phi\left(\boldsymbol{y}_{i}, \boldsymbol{y}_{j}, \hat{A}_{i, j}\right)\right.}{\sum_{\boldsymbol{y}_{i}^{\prime}}\left(\exp \left(-\psi\left(\boldsymbol{y}_{i}^{\prime}, \boldsymbol{h}_{\boldsymbol{i}}\right)-\gamma \sum_{j \in N(i)} \phi\left(\boldsymbol{y}_{i}^{\prime}, \boldsymbol{y}_{j}, \hat{A}_{i, j}\right)\right)\right.} \\ &=\frac{\exp \left(-\log p\left(\boldsymbol{y}_{i} \mid \boldsymbol{h}_{\boldsymbol{i}}\right)-2 \gamma \sum_{j \in N(i)} \hat{A}_{i, j} U_{y_{i}, y_{j}}\right.}{\sum_{\boldsymbol{y}_{i}^{\prime}}\left(\exp \left(-\log p\left(\boldsymbol{y}_{i}^{\prime} \mid \boldsymbol{h}_{\boldsymbol{i}}\right)-2 \gamma \sum_{j \in N(i)} \hat{A}_{i, j} U_{y_{i}^{\prime}, y_{j}}\right)\right.} \end{aligned} P(yiyN(i),X,A)=yi(exp(ψ(yi,hi)γjN(i)ϕ(yi,yj,A^i,j))exp(ψ(yi,hi)γjN(i)ϕ(yi,yj,A^i,j)=yi(exp(logp(yihi)2γjN(i)A^i,jUyi,yj)exp(logp(yihi)2γjN(i)A^i,jUyi,yj
y i ′ \boldsymbol{y}_{i}^{\prime} yi是节点 x i \boldsymbol{x}_{i} xi的所有可能标签。因此,新的训练目标为:
− log ⁡ P L ( Y ∣ X , A ) = ∑ i − log ⁡ P ( y i ∣ y N ( i ) , X , A ) = ∑ i ( ψ ( y i , h i ) + γ ∑ j ∈ N ( i ) ϕ ( y i , y j , A ^ i , j ) + log ⁡ ∑ y i ′ ( exp ⁡ ( − ψ ( y i ′ , h i ) − γ ∑ j ∈ N ( i ) ϕ ( y i ′ , y j , A ^ i , j ) ) ) = − ∑ i , k ( Y ⊙ log ⁡ H ) i , k − 2 γ ∑ i , j , i ≠ j ( A ^ ⊙ ( Y U Y T ) ) i , j + ∑ i log ⁡ ∑ k ( H ⊙ exp ⁡ ( 2 γ A ^ Y U ) ) i , k \begin{aligned} &-\log P L(\boldsymbol{Y} \mid \boldsymbol{X}, \boldsymbol{A})=\sum_{i}-\log P\left(\boldsymbol{y}_{i} \mid \boldsymbol{y}_{N(i)}, \boldsymbol{X}, \boldsymbol{A}\right)= \\ &\sum_{i}\left(\psi\left(\boldsymbol{y}_{i}, \boldsymbol{h}_{i}\right)+\gamma \sum_{j \in N(i)} \phi\left(\boldsymbol{y}_{i}, \boldsymbol{y}_{j}, \hat{A}_{i, j}\right)+\log \sum_{\boldsymbol{y}_{i}^{\prime}}\left(\exp \left(-\psi\left(\boldsymbol{y}_{i}^{\prime}, \boldsymbol{h}_{\boldsymbol{i}}\right)-\gamma \sum_{j \in N(i)} \phi\left(\boldsymbol{y}_{i}^{\prime}, \boldsymbol{y}_{j}, \hat{A}_{i, j}\right)\right)\right)\right. \\ &=-\sum_{i, k}(\boldsymbol{Y} \odot \log \boldsymbol{H})_{i, k}-2 \gamma \sum_{i, j, i \neq j}\left(\hat{\boldsymbol{A}} \odot\left(\boldsymbol{Y} \boldsymbol{U} \boldsymbol{Y}^{T}\right)\right)_{i, j}+\sum_{i} \log \sum_{k}(\boldsymbol{H} \odot \exp (2 \gamma \hat{\boldsymbol{A}} \boldsymbol{Y} \boldsymbol{U}))_{i, k} \end{aligned} logPL(YX,A)=ilogP(yiyN(i),X,A)=iψ(yi,hi)+γjN(i)ϕ(yi,yj,A^i,j)+logyiexpψ(yi,hi)γjN(i)ϕ(yi,yj,A^i,j)=i,k(YlogH)i,k2γi,j,i=j(A^(YUYT))i,j+ilogk(Hexp(2γA^YU))i,k
⊙ \odot 表示逐元素乘法。

3.2 推断

如前文介绍的,在推断的时候仅需优化如下目标:
min ⁡ Y ^ t e E ( Y ^ t e , X , A , Y t r ) = min ⁡ Y ^ t e [ − log ⁡ p ( Y ^ t e ∣ H ) − γ ∑ i ≠ j ( A ^ ⊙ ( Y ^ U Y ^ T ) ) i , j ] \min _{\hat{\boldsymbol{Y}}_{t e}} E\left(\hat{\boldsymbol{Y}}_{t e}, \boldsymbol{X}, \boldsymbol{A}, \boldsymbol{Y}_{t r}\right)=\min _{\hat{\boldsymbol{Y}}_{t e}}\left[-\log p\left(\hat{\boldsymbol{Y}}_{t e} \mid \boldsymbol{H}\right)-\gamma \sum_{i \neq j}\left(\hat{\boldsymbol{A}} \odot\left(\hat{\boldsymbol{Y}} \boldsymbol{U} \hat{\boldsymbol{Y}}^{T}\right)\right)_{i, j}\right] Y^teminE(Y^te,X,A,Ytr)=Y^teminlogp(Y^teH)γi=j(A^(Y^UY^T))i,j
其中 Y ^ = \hat{\boldsymbol{Y}}= Y^= concatenate ( Y t r , Y ^ t e ) \left(\boldsymbol{Y}_{t r}, \hat{\boldsymbol{Y}}_{t e}\right) (Ytr,Y^te)。作者在论文中提到了两种推断方法。

3.2.1 推断方法一

最简单的推断方法是不考虑标签间的相关性,即:
y i = arg ⁡ min ⁡ y j E ( y i , Y t r , X , A ) = arg ⁡ min ⁡ j [ − log ⁡ ( h i ) − 2 γ A ^ t r Y U T ] j y_{i}=\underset{y_{j}}{\arg \min } E\left(\boldsymbol{y}_{i}, \boldsymbol{Y}_{t r}, \boldsymbol{X}, \boldsymbol{A}\right)=\underset{j}{\arg \min }\left[-\log \left(\boldsymbol{h}_{i}\right)-2 \gamma \hat{\boldsymbol{A}}_{t r} \boldsymbol{Y} \boldsymbol{U}^{T}\right]_{j} yi=yjargminE(yi,Ytr,X,A)=jargmin[log(hi)2γA^trYUT]j

3.2.2 推断方法二

第二种方案是使用动态规划方法来寻找最优值。该方法会随机选择一个测试节点作为开始,并随机排序其它测试节点,然后沿着排序测试节点的顺序进行beam search(beam大小为 K K K,即每次可以得到 K K K个最佳集)。将该过程重复 T T T词,然后选择所有搜索结果中的最佳结果,算法总结如下:

CGNF_DP

四.实验

作者在Cora、Pubmed、Citeseer和PPI四个数据集上进行实验,且较其它baseline取得了比较好的性能,对应结果如下:

CGNF_Outcome

结语

参考资料:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斯曦巍峨

码文不易,有条件的可以支持一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值