CNNs已经成功应用在很多具有网格结构的数据的问题中,但是有很多任务的数据不能表示成网格结构,例如人际关系、电子商务等。现在已经有很多调查试图把神经网络应用在任意结构的图中,如何将RNNs应用于图结构,还有改进的将GRU应用于图结构。
与此同时,将卷积应用到图结构越来越热门。主要分为两种,一种频域方法,一种非频域方法。
attention机制已经在很多序列数据上变成了事实上的标准,它的一个好出是它可以应对不同大小的输入,同时关注最相关的部分以做出选择。
此文章介绍一个基于attention机制的图分类任务。基本想法是计算每个节点的隐藏表示。注意力架构有几个有趣的特性:
验证方法:使用了四个基准 Cora,Citeseer,Pubmed citation networks,protein-protein interaction datase
N为节点个数
F为每个节点的特征数量
输入:
使用矩阵变换得到
使用LeakyReLU做为激活函数
使用SoftMax计算最后的概率
最后得到两节点之间的相关性:
k代表多个注意力机制同时作用,此处为把多个concate在一起
若注意力层为最后一层,就改成了平均:
总的来说就是:
解决了之前的一些问题:
1.计算高效
self-attentional layer可以在所有边上并行计算,输出特征的计算可以跨所有节点并行化。没有使用特征分解和矩阵操作。一个单独的GAT头计算F‘个特征可以写成
的计算复杂度,F是输入特征,V和E分别是节点和边的数量。
2.与GCNs相比,此模型对节点的同一邻居节点分配不同的注意力。
3.attention机制对图中所有的边有相同的方法,它不依赖于对全局图结构或其所有节点的预先访问
4.此模型不会受到模型节点顺序的影响
5.GAT可以重新定义成MoNet的一个特定实例。但是我们的模型是使用节点特征进行相似计算,而不是使用节点的结构特性。
此部分对模型性能进行了分析。
直推式学习
三个数据集:Cora,Citeseer and Pubmed
在三个数据集中,节点对应文档而边对应引用,节点特征为文档中单词包的使用。每个节点一个类别。只使用一个类中的二十个节点训练,然而,该训练算法遵循传导机制,可以访问所有节点的特征向量。在1000个测试节点上对训练模型的预测能力进行了评估,使用500个额外的节点进行验证。
The Cora dataset contains 2708 nodes, 5429 edges, 7 classes and 1433 features per node. The Citesee dataset contains 3327 nodes, 4732 edges, 6 classes and 3703 features per node. The Pubmed datase contains 19717 nodes, 44338 edges, 3 classes and 500 features per node.
归纳式学习
使用 a protein-protein interaction (PPI)数据集。20个图用于训练,2个验证,2个测试,在训练过程中测试图没有被看到。为了构建图,使用了预训练数据。平均每个图2372个节点,每个节点50个特征,每个节点有121个label对应,节点可以同时拥有多个label。
直推式学习
对比了之前的一些直推式学习方法的模型结构
归纳式学习
对比了之前的一些归纳式学习方法的模型结构
直推式学习
模型使用了两层GAT层,结构超参数在Cora数据集中训练并在Citeseer数据集中重用了。第一层使用了8个注意力头对每个节点的8个特征使用,随后有ELU进行非线性变换。第二层用作分类,一个注意力头计算C个特征(C是分类的个数),最后有Softmax函数。在训练时,使用了L2 regularization(λ = 0.0005),dropout(p = 0.6 )应用在每层的输入。
对Pubmed训练需要对模型进行一点修改,第二层用8个注意力头并且,L2 regularization(λ = 0.001)
归纳式学习
使用三层GAT层,前两层都使用了4个注意力头计算256个特征(总共1024个特征),随后用ELU进行非线性变换,最后一层使用分类,6个注意力头计算121个特征,随后使用sigmoid激活函数。训练集足够大不需要使用L2 regularizaion或者dropout。然而我们成功把skip connection应用在了中间注意力层中。
两种模型都使用了Glorot初始化,使用Adam SGD优化器,lr=0.01在Pubmed中,lr=0.005在其他数据集。都是用了early stoppong在cross-entropy loss中,并且用acc和micro-F1进行标称,训练了100epochs。
此处见图,取得了当时最好的效果
1.此模型计算高效(不需要复杂的矩阵运算,并且可以在全部节点并行化)
2.可以应对有不同数量邻居的问题,并且对同一节点在不同时候有不同的重要性分配
3.不需要事先知道整个的图结构。模型在四个模型的都取得了最先进的性能。
待解决的问题:
1.解决让batch size更大的问题
2.研究其可解释性
3.让它应用在图预测上而不是应用在节点预测上
4.将模型扩展到应用边缘特征(应为此模型并没有用到边的特征)来解决更多的问题