ICLR 2017 | GCN:基于图卷积网络的半监督分类

前言

ICLR 2017 | GCN:基于图卷积网络的半监督分类
题目:Semi-Supervised Classification with Graph Convolutional Networks
会议:International Conference on Learning Representations, 2017
论文地址:Semi-Supervised Classification with Graph Convolutional Networks

阅读前建议读一下前面几篇关于GNN的入门文章:

  1. 图神经网络(GNN)的基本原理
  2. 图解GNN:A Gentle Introduction to Graph Neural Networks
  3. TNNLS | GNN综述:A Comprehensive Survey on Graph Neural Networks

在TNNLS | GNN综述:A Comprehensive Survey on Graph Neural Networks一文中对GCN进行了大概的讲解,讲解如下:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
RecGNN使用相同的图循环层(Grec)来更新节点的表示,而ConvGNN使用不同的图卷积层(Gconv)来更新节点表示。

ConvGNN分为两种:基于频域的和基于空间域的。其中基于频域的方法通过从图信号处理的角度引入过滤器(卷积核的集合)来定义图卷积,其中图卷积运算被解释为从图信号中去除噪声。基于空间域的ConvGNN继承了RecGNN的思想,通过消息传递来定义图卷积运算。

A. Spectral-Based ConvGNN

基于频域的ConvGNN:假设图是无向的。无向图的归一化图拉普拉斯矩阵定义为:
L%3DI_n-D%5E%7B-%281/2%29%7DAD%5E%7B-%281/2%29%7D
其中D是对角矩阵,对角线上的元素代表对应节点的度数。归一化图拉普拉斯矩阵具有实对称半正定性质,因此可以分解为:
L%3DU%5CLambda%20U%5ET
其中,U%3D%5Bu_0%2C%20u_1%2C...%2Cu_n%5D%20%5Cin%20R%5E%7Bn%20%5Ctimes%20n%7D为特征值排序的特征向量矩阵,%5CLambda为特征值对角矩阵,线生成的基本知识。归一化图拉普拉斯矩阵的特征向量形成一个正交空间,即U%5ETU%3DI

处理图时,x%20%5Cin%20R%5En是所有节点的特征向量,x_i是第i节点的特征向量。 x的图傅里叶变换为:%5CIm%28x%29%3DU%5ETx,逆图傅里叶变换为:%5CIm%5E%7B-1%7D%28%5Chat%7Bx%7D%29%3DU%5Chat%7Bx%7D,其中%5Chat%7Bx%7D表示傅里叶变换的结果信号。

从上面的定义可以看出,图傅里叶变换将输入的图信号投影到一个归一化空间中,其中空间基由归一化图拉普拉斯算子的特征向量构成。原始输入信号可以表示为:x%3D%20%5Csum_%7Bi%7D%5Chat%7Bx%7D_iu_i(逆图傅里叶变换)。

通过上述定义,输入信号与滤波器g%20%5Cin%20R%5Eb之间的卷积运算定义为:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
如果滤波器表示为:g_%7B%5Ctheta%7D%3Ddiag%28U%5ETg%29,图卷积可以简化为:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
基于频域的ConvGNN都遵循以上定义,只是过滤器可能有所不同。

比如:Spectral CNN假设过滤器g_%7B%5Ctheta%7D%3D%5CTheta_%7Bi%2C%20j%7D%5E%7B%28k%29%7D是一组可学习的参数,Spectral CNN的图卷积层定义为:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
其中,k为层索引,H%5E%7B%28k-1%29%7D%20%5Cin%20R%5E%7Bn%20%5Ctimes%20f_%7Bk-1%7D%7D为输入图像信号,H_0%3DXf_%7Bk-1%7D为输入通道数,f_k为输出通道数。

B. Spatial-Based ConvGNN

基于空间域的ConvGNN:基于节点的空间关系来定义图卷积。

Image可以被视为Graph的特殊形式,每个像素代表一个节点,每个像素直接连接到其附近的像素:
ICLR 2017 | GCN:基于图卷积网络的半监督分类对于3×3窗口,每个节点的邻域就是其周围8个像素点。类似地,基于空间域的图卷积将中心节点的表示与相邻节点的表示进行卷积,得到中心节点的更新表示。

图的神经网络(NN4G)是基于空间域的ConvGNN的第一个工作,它通过直接汇总节点的邻域信息来执行图卷积,NN4G导出的下一层的节点状态公式为:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
f是激活函数,h_v%5E%7B%280%29%7D初始化为零向量。上式的矩阵形式为:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
扩散CNN (DCNN)认为图的卷积是一个扩散过程。它假设信息以一定的转移概率从一个节点转移到它的一个相邻节点,使信息分布在几轮后达到均衡。DCNN将扩散图卷积定义为:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
其中f是激活函数,概率转移矩阵P%3DD%5E%7B-1%7DA。由于扩散的平稳分布是概率转移矩阵幂级数的总和,因此DGC可以定义如下:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
这里W%5E%7B%28k%29%7D%20%5Cin%20R%5E%7BD%20%5Ctimes%20F%7D。需要注意的是,这里使用了概率转移矩阵的幂,这意味着远邻对中心节点的更新贡献很小。

PGC-DGCNN基于最短路径增加了远处邻居的贡献。PGC-DGCNN定义了最短路径邻接矩阵S%5E%7B%28j%29%7D:如果节点v到结节点u的最短路径长度为j,则S_%7Bv%2Cu%7D%5E%7B%28j%29%7D%3D1,否则为0。PGC-DGCNN中的图卷积运算定义如下:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
式中,%5Ctilde%7BD%7D_%7Bii%7D%5E%7B%28j%29%7D%3D%5Csum_%7Bl%7DS_%7Bi%2Cl%7D%5E%7B%28j%29%7DH_%7B%280%29%7D%3DX%7C%7C表示向量的连接。

本篇文章提出的GCN是基于空间域的ConvGNN。

1. 引言

考虑在图中对节点进行分类的问题,其中只有少数节点被标记,然后我们的任务是预测未标记节点的标签。这种问题称为图的半监督分类。

解决上述问题的经典方法是:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
其中L_0代表标注数据上的误差,f可以是神经网络,X是节点特征向量矩阵,%5CDelta%3DD-A是非归一化图拉普拉斯矩阵(D是度矩阵,A是邻接矩阵),f%28X_i%29代表节点编码表示。

在上式中加入正则化项后,如果两个节点相邻(A_%7Bij%7D%20%5Cneq%200),那么我们会认为它们可能共享相同的标签。这种假设会限制模型的表达能力,因为图中的边不一定需要编码节点相似度,也可能是其他信息。

2. 图的快速近似卷积

传统图卷积:
H%5E%7B%28l%2B1%29%7D%3D%5Csigma%28AH%5E%7B%28l%29%7DW%5E%7B%28l%29%7D%29
可以发现,节点的状态向量在通过每一层图卷积进行传播时,都乘上了邻接矩阵A,也就是说节点在更新自己状态向量的同时考虑了邻接节点的信息,但并没有考虑到自身的信息,这是因为A的对角线为0(除非节点存在自环)。

本文提出的图卷积传播规则:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
其中%5Ctilde%7BA%7D%3DA%2BI_N,即邻接矩阵在原有基础上加上一个单位矩阵,也即每一个节点都增加一条指向自己的边;%5Ctilde%7BD%7D为加上自环后的度矩阵;W%5E%7B%28l%29%7D为层权重矩阵;%5Csigma%28%5Ccdot%29为激活函数,比如ReLU;H%5E%7B%280%29%7D%3DX,也就是节点特征矩阵;经过多层卷积后,我们得到了最终的H%5E%7Bk%7DH%5E%7Bk%7D即GCN学到的节点的状态向量表示。

可以发现,本文在传统图卷积的基础上做了两个创新:

  1. %5Ctilde%7BA%7D%3DA%2BI_N。每个节点都被强制添加一个自环,使得节点的状态向量在前向传播过程中可以考虑到自己的特征信息。
  2. 对加上自环后的邻接矩阵%5Ctilde%7BA%7D进行了归一化:%5Ctilde%7BD%7D%5E%7B-%5Cfrac%7B1%7D%7B2%7D%7D%5Ctilde%7BA%7D%5Ctilde%7BD%7D%5E%7B-%5Cfrac%7B1%7D%7B2%7D%7D。归一化后的邻接矩阵每一行的和都为1。

3. 半监督节点分类

有了上述图卷积的传播规则后,半监督节点分类就变得很简单了。比如说我们要分为两类,那么只需要在GCN后加上一个输出为2的全连接层,然后再经过一个Softmax即可。得到输出后再算出交叉熵损失,然后反向传播更新每一层GCN的参数W

例如,考虑一个只有一个隐藏层的简单模型:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
其中,%5Chat%7BA%7D%3D%5Ctilde%7BD%7D%5E%7B-%5Cfrac%7B1%7D%7B2%7D%7D%5Ctilde%7BA%7D%5Ctilde%7BD%7D%5E%7B-%5Cfrac%7B1%7D%7B2%7D%7D为加入自环再归一化后的邻接矩阵; W%5E%7B%280%29%7D是从输入到隐藏层的权重矩阵; W%5E%7B%281%29%7D是从隐藏层到输出层的权重矩阵。

简单来说,我们有:
%5Cbegin%7Baligned%7D%20H%5E%7B%281%29%7D%26%3DReLU%28%5Chat%7BA%7DXW%5E%7B%280%29%7D%29%5C%5C%20Z%26%3Dsoftmax%28%5Chat%7BA%7DH%5E%7B%281%29%7DW%5E%7B%281%29%7D%29%20%5Cend%7Baligned%7D

然后我们有交叉熵损失:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
其中y_L为有label的节点索引集。

然后从神经网络参数W%5E%7B%280%29%7DW%5E%7B%281%29%7D导出损失函数,梯度下降更新参数,更新后进行新一轮传播。

经过一定数量的训练 epoch 后,我们可以对未标记节点标签的类别进行预测。

4. 实验

数据集
ICLR 2017 | GCN:基于图卷积网络的半监督分类
实验设置:测试集大小为1000个节点,网络采用第三节中提出的双层GCN模型:
ICLR 2017 | GCN:基于图卷积网络的半监督分类
Baseline:标签传播(LP)、半监督嵌入(SemiEmb)、流形正则化(ManiReg)以及DeepWalk。

实验结果
ICLR 2017 | GCN:基于图卷积网络的半监督分类
可以发现,GCN的效果是最好的!

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年3月14日
下一篇 2022年3月14日

相关推荐