第七课.有向图卷积网络

目录

  • 有向图卷积网络简介
  • Directed Graph Convolutional Network
  • Discuss GNN

有向图卷积网络简介

有向图卷积网络(Directed Graph Convolutional Network),简称DGCN,源于2020年的论文"Directed Graph Convolutional Network";初次了解会给人一种感觉:这可能就是在GCN上的小修改,但其实背后暗藏重大创新,在2018年出现GCN前,我们就已经知道,Graph分为有向与无向,不管是什么样的图,总能用邻接矩阵表达,也能得到度矩阵,在该论文出现之前,我们其实完全可以认为用GCN就能胜任有向或无向图数据;但经过论文的描述,事实证明作者的想法确实有所道理;

比如现在有一个有向图:
第七课.有向图卷积网络_第1张图片

  • 首先可以看出,边具备方向,另外,边具有粗细,这是带有权重的边;如果简单思考,这应该可以用图注意力网络GAT来做,可以对边施加注意力;
  • 回忆GraphSAGE中的一阶邻居,二阶邻居,现在要补充一个新概念:一阶邻近,二阶邻近;比如节点1和节点3称为一阶邻近,节点1和节点2称为二阶邻近(因为它们共享节点4,5,6);所以论文认为,对于有向图,不应当只考虑邻居,还要考虑邻近;

从邻近研究,有以下图:
第七课.有向图卷积网络_第2张图片
图a为原图,四个图中,以节点1作为主要研究对象,图b中节点4是节点1的一阶邻近,图c.i与图c.ii都是描述二阶邻近,对于图c.i,节点1和节点2是二阶邻近,对于图c.ii,节点1和节点3也是二阶邻近,但不同之处在于节点1和节点2称为二阶入度邻近,节点1和节点3称为二阶出度邻近;

Directed Graph Convolutional Network

针对有向图的一阶邻近表达,论文提出一阶邻近矩阵 A F A_{F} AF
A F ( i , j ) = A s y m ( i , j ) A_{F}(i,j)=A^{sym}(i,j) AF(i,j)=Asym(i,j)
其中, A s y m A^{sym} Asym是邻接矩阵 A A A的对称形式,在有向图中, A s y m ( i , j ) A^{sym}(i,j) Asym(i,j)元素取值规则为:

  • 不存在一条边从节点 v i v_{i} vi到节点 v j v_{j} vj,或者从节点 v j v_{j} vj到节点 v i v_{i} vi,则 A s y m ( i , j ) = 0 A^{sym}(i,j)=0 Asym(i,j)=0
  • 只要存在一条边从节点 v i v_{i} vi到节点 v j v_{j} vj,或者从节点 v j v_{j} vj到节点 v i v_{i} vi,则 A s y m ( i , j ) = 1 A^{sym}(i,j)=1 Asym(i,j)=1

注意:如果图是带权的,邻接矩阵 A A A的元素将不局限与0和1,所以 A s y m A^{sym} Asym的值也不局限于0和1;


针对有向图的二阶邻近表达,论文提出了二阶入度邻近矩阵 A S i n A_{S_{in}} ASin,和二阶出度邻近矩阵 A S o u t A_{S_{out}} ASout
A S i n ( i , j ) = ∑ k A k , i A k , j ∑ v A k , v , A S o u t ( i , j ) = ∑ k A i , k A j , k ∑ v A v , k A_{S_{in}}(i,j)=\sum_{k}\frac{A_{k,i}A_{k,j}}{\sum_{v}A_{k,v}},A_{S_{out}}(i,j)=\sum_{k}\frac{A_{i,k}A_{j,k}}{\sum_{v}A_{v,k}} ASin(i,j)=kvAk,vAk,iAk,j,ASout(i,j)=kvAv,kAi,kAj,k
其中, A m , n A_{m,n} Am,n表示原图邻接矩阵 ( m , n ) (m,n) (m,n)处的元素;

对有向图分别进行三种变换:
Z F = D ~ F − 1 2 A ~ F D ~ F − 1 2 X Θ Z_{F}=\widetilde{D}_{F}^{-\frac{1}{2}}\widetilde{A}_{F}\widetilde{D}_{F}^{-\frac{1}{2}}X\Theta ZF=D F21A FD F21XΘ
Z S i n = D ~ S i n − 1 2 A ~ S i n D ~ S i n − 1 2 X Θ Z_{S_{in}}=\widetilde{D}_{S_{in}}^{-\frac{1}{2}}\widetilde{A}_{S_{in}}\widetilde{D}_{S_{in}}^{-\frac{1}{2}}X\Theta ZSin=D Sin21A SinD Sin21XΘ
Z S o u t = D ~ S o u t − 1 2 A ~ S o u t D ~ S o u t − 1 2 X Θ Z_{S_{out}}=\widetilde{D}_{S_{out}}^{-\frac{1}{2}}\widetilde{A}_{S_{out}}\widetilde{D}_{S_{out}}^{-\frac{1}{2}}X\Theta ZSout=D Sout21A SoutD Sout21XΘ
其中, Θ \Theta Θ为基于参数{ W , b W,b W,b}的线性变换操作(即GCN在没有激活函数下的表达形式),和GCN一样, A ~ x = A x + λ I \widetilde{A}_{x}=A_{x}+\lambda I A x=Ax+λI D ~ x = D x + λ I \widetilde{D}_{x}=D_{x}+\lambda I D x=Dx+λI x ∈ { F , S i n , S o u t } x\in\left\{F,S_{in},S_{out}\right\} x{F,Sin,Sout}

对于邻近矩阵 A x ∈ R n × n A_{x}\in\mathbb{R}^{n\times n} AxRn×n对应的度矩阵 D x D_{x} Dx,其中 x ∈ { F , S i n , S o u t } x\in\left\{F,S_{in},S_{out}\right\} x{F,Sin,Sout},其计算规则为(与GCN中的度矩阵计算规则一样):
D x ( i , i ) = ∑ j n A x ( i , j ) D_{x}(i,i)=\sum_{j}^{n}A_{x}(i,j) Dx(i,i)=jnAx(i,j)


关于度矩阵的计算,不管是有向图,还是无向图,带权还是不带权,标准地,都可以通过邻接矩阵 A ∈ R n × n A\in\mathbb{R}^{n\times n} ARn×n得到度矩阵 D D D
D ( i , i ) = ∑ j n A ( i , j ) D(i,i)=\sum_{j}^{n}A(i,j) D(i,i)=jnA(i,j)


Directed Graph Convolutional Network的架构为:
第七课.有向图卷积网络_第3张图片

综上,有向图卷积层模型 Y ~ = f ( X , A ) \widetilde{Y}=f(X,A) Y =f(X,A)为:
Y ~ = C o n c a t [ R e L U ( D ~ F − 1 2 A ~ F D ~ F − 1 2 X Θ ( 0 ) ) , α R e L U ( D ~ S i n − 1 2 A ~ S i n D ~ S i n − 1 2 X Θ ( 0 ) ) , β R e L U ( D ~ S o u t − 1 2 A ~ S o u t D ~ S o u t − 1 2 X Θ ( 0 ) ) ] \widetilde{Y}=Concat[ReLU(\widetilde{D}_{F}^{-\frac{1}{2}}\widetilde{A}_{F}\widetilde{D}_{F}^{-\frac{1}{2}}X\Theta^{(0)}),\alpha ReLU(\widetilde{D}_{S_{in}}^{-\frac{1}{2}}\widetilde{A}_{S_{in}}\widetilde{D}_{S_{in}}^{-\frac{1}{2}}X\Theta^{(0)}),\beta ReLU(\widetilde{D}_{S_{out}}^{-\frac{1}{2}}\widetilde{A}_{S_{out}}\widetilde{D}_{S_{out}}^{-\frac{1}{2}}X\Theta^{(0)})] Y =Concat[ReLU(D F21A FD F21XΘ(0)),αReLU(D Sin21A SinD Sin21XΘ(0)),βReLU(D Sout21A SoutD Sout21XΘ(0))]
其中, α \alpha α β \beta β是可学习的参数,如果考虑对其进行全连接变换,再用softmax输出类别概率,模型延伸为:
Y ^ = s o f t m a x ( R e L U ( Y ~ Θ ( 1 ) ) ) \widehat{Y}=softmax(ReLU(\widetilde{Y}\Theta^{(1)})) Y =softmax(ReLU(Y Θ(1)))
论文在Cora-ML数据集上对GCN和DGCN的表现进行了可视化:
第七课.有向图卷积网络_第4张图片
可视化的对象是单层图神经网络输出的特征,用非线性的降维方法将高维特征降维至二维,再将已知的节点类别标记成不同的颜色;

DGCN分为只考虑一阶邻近和一阶邻近二阶邻近都考虑的情况,从可视化结果中看,DGCN确实具备更强的特征变换能力,得到比GCN更简单的分布,从而有利于样本分类;

Discuss GNN

现在的GNN处于萌芽阶段,有很多方向等待人类探究,如果稍微观察,容易发现目前GNN的做法总是基于信息传递,信息聚合,信息更新三个步骤,也许研究如何让信息传递,聚合,更新变得更加合理和高效对于GNN是目前较为重要的工作;

GNN相比曾经热火多年的CNN,GNN的发展速度远没有CNN的发展迅猛,CNN从萌芽到爆发式增长也就经历了两三年时间,也许我们也应该考虑改变GNN的模式,从而获得CNN一样的迅速发展;

在大多数论文中,GNN总是在借鉴CNN的思想,而CNN专注于图像领域,GNN应该注重到其他更高级的领域,我们是否应该考虑打破借鉴的规则,让GNN具有专属于它的灵魂:

第七课.有向图卷积网络_第5张图片

你可能感兴趣的:(图神经网络,人工智能,神经网络,机器学习)