本次内容选择了多篇TPAMI关于GNN的工作:
pooling操作已经在视觉和语言处理任务中显示出效果。由于图上没有很好的定义局部性,在图数据上执行pooling操作是一个具有挑战性的任务。在这个工作中,作者提出了Topology-Aware Pooling层(TAP),该层明确考虑了图的拓扑。TAP层是一个两阶段投票的过程(local voting,global voting),用于选择图中的更重要的节点。
global voting
直观地说,局部投票显示节点在其邻居中的重要性,而全局投票显示其邻居区域(包括自身)在整个图中的重要性。通常,可以将节点的相邻区域视为一个子图,该子图的中心是节点本身。这样的子图也可能包含重要信息。例如,在表示蛋白质的图中,原子是节点,键是边。然后一个子图包含一个原子及其相邻原子。某些子图可以表示生命单位,并指示整个蛋白质的功能。因此,应该在图pooling中捕获此类信息。作者提出全局投票来衡量整个图中不同子图的重要性。正式而言,全局投票明确表示为:
在进行pooling时,将局部得分和全局得分相加,并排序,选择前k个节点,并保留这k个节点的拓扑结构得到输出新的graph。
GCN+TAP
论文提出一种新的图卷积层,该图卷积层受到 “auto-regressive moving average(ARMA)滤波器” 的启发(ARMA回顾其他算法-ARIMA时序分析),ARMA图卷积提供了更灵活的频率响应,对噪声更鲁棒,并且可以更好地捕获全局图结构。
论文提出的ARMA filter神经网络通过图卷积跳跃(GCS)层实现: X ˉ ( t + 1 ) = σ ( L ~ X ˉ ( t ) W + X V ) \bar{X}^{(t+1)}=\sigma(\tilde{L}\bar{X}^{(t)}W+XV) Xˉ(t+1)=σ(L~Xˉ(t)W+XV)其中, σ \sigma σ是非线性激活,比如ReLU, X ∈ R M × F X\in R^{M\times F} X∈RM×F是初始节点特征, W ∈ R F o u t × F o u t W\in R^{F_{out}\times F_{out}} W∈RFout×Fout和 V ∈ R F i n × F i n V\in R^{F_{in}\times F_{in}} V∈RFin×Fin是可学习的参数。其中,设图的邻接矩阵 A ∈ R M × M A\in R^{M\times M} A∈RM×M,则有 L = I M − D − 1 / 2 A D − 1 / 2 L=I_{M}-D^{-1/2}AD^{-1/2} L=IM−D−1/2AD−1/2称为图的对称归一化拉普拉斯算子。修正的拉普拉斯矩阵 L ~ = I − L \tilde{L}=I-L L~=I−L。
ARMA卷积层如下,相同的颜色代表权重共享:
ARMA layer使用较少的参数就能捕获全局图结构(因为直接考虑了邻接矩阵)。
多标签图像识别(Multi-Label Recognition)的任务是预测图像中存在的一组对象标签。由于多个对象通常同时出现在图像中,因此需要对标签依赖性进行建模以提高识别性能。为了捕获和探索此类重要信息,本文提出了基于图卷积网络(GCN)的多标签图像识别模型,其在类别上构造有向图,并在类别之间传播信息,以学习相互依存的class-level表示。遵循这个想法,论文设计了两个特殊的模型,它们从不同的角度进行多标签分类。
在第一个模型中,有关类别依赖的先验知识被集成到分类器中。具体而言,论文提出了Classifier Learning GCN(C-GCN),以将类级别的语义表示(例如,word embedding)映射到基于 inter-class 拓扑结构的分类器中。
在第二个模型中,论文将图像的视觉表示分解为一组标签感知的特征,并提出了Prediction Learning GCN(P-GCN),以将特征编码为相互依赖的图像级预测分数。此外,还提出了一种有效的相关矩阵构造方法,以捕获类之间的关系,从而指导类之间的信息传播。通用多标签图像识别的实验结果表明,这两个模型优于其他state of the arts。此外,所提出的方法在一些与多标签分类有关的应用中也具有不错的效果。
DeepWalk是第一个提出以无监督方式学习节点embedding的算法。在NLP任务中,word2vec是一种常用的word embedding方法,word2vec通过语料库中的句子序列来描述词与词的共现关系,进而学习到词语的向量表示。DeepWalk的思想类似word2vec,使用图中节点与节点的共现关系来学习节点的向量表示。
那么关键的问题就是如何来描述节点与节点的共现关系,DeepWalk给出的方法是使用随机游走(RandomWalk)的方式在图中进行节点采样。
RandomWalk是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。获取足够数量的节点访问序列后,使用skip-gram model 进行向量学习。
所以算法包括两个步骤:
GCN是一种在图中结合拓扑结构和顶点属性信息学习顶点的embedding表示的方法。然而GCN要求在一个确定的图中去学习顶点的embedding,无法直接泛化到在训练过程没有出现过的顶点,即属于一种直推式(transductive)的学习。
在GraphSAGE之前,图卷积的计算是基于邻接矩阵,度矩阵和特征矩阵,用矩阵乘法方式计算的。
准确来说,GraphSAGE开启了Message Passing的范式,使得消息传递成为了图表征学习的baseline。
目前,图卷积常用的模型有三类:GCN,GAT,GraphSAGE。
GraphSAGE既可以无监督学习embedding,也可以用MP机制做有监督学习,MP机制的优点在于方便inductive setting。
GraphSAGE的流程如下: