Graph Attention Network
- 作者:Petar Veličković、Guillem Cucurull、Arantxa Casanova、Adriana Romero、Pietro Liò
- 来源:ICLR(国际表征学习大会,是深度学习领域的顶级会议)
- 时间:2018年
- 链接:Graph Attention Network (arxiv.org)
Abstract
论文提出了图注意力网络(GATs),一种操作于图结构数据的新型神经网络架构,利用隐藏的自注意层来解决基于图卷积或其近似的先前方法的缺点。通过堆叠层,其中节点能够关注其邻域的特征,能够(隐式地)为邻域中的不同节点指定不同的权重,而不需要任何类型的代价高昂的矩阵操作(如反转)或依赖于预先知道图结构。通过这种方式,同时解决了基子频谱的图神经网络的几个关键挑战,并使模型易于适用于归纳和传导问题。
Introduction
卷积神经网络(CNN)已成功用于图像分类,语义分割,机器翻译等方面。
-
问题
许多有趣的任务涉及到不能用网格状结构表示的数据,而是位于不规则域中。这是3D网格﹑社交网络、电信网络、生物网络或大脑连接体的情况。这类数据通常可以用图表的形式表示。
-
解决办法
(1)光谱方法:受图形结构影响较大,在特定结构上训练的模型不能直接应用于具有不同结构的图。
(2)非光谱方法(论文所用):这些方法的挑战之一是定义一个算子,它适用于不同大小的邻域,并保持 CNN 的权值共享属性。在某些情况下,这需要学习每个节点度的特定权重矩阵,使用转换矩阵的幂来定义邻域,同时学习每个输入通道和邻域度的权重,或者提取并规范化包含固定数量节点的邻域。 -
注意力机制的好处之一是,它们允许处理可变大小的输入,专注于输入中最相关的部分来做出决策。当一种注意机制被用来计算单个序列的表示时,它通常被称为自我注意或内部注意。
本文引入了一种基于注意力的架构来执行图结构数据的节点分类。
其思想是计算图中每个节点的隐藏表示,通过关注它的邻居,遵循自关注策略。注意结构有几个有趣的特性:(1)操作是有效的、因为它在节点-邻居对之间是并行的;(2)通过给邻居指定任意权值,可以应用到不同度的图节点上;(3)该模型直接适用于归纳学习问题,包括模型必须推广到完全看不见的图的任务。
GAT ARCHITECTURE
-
左图:模型使用的注意力机制,由权重向量参数化,应用 LeakyReLU 激活。
-
右图:节点1在其邻域上的多头注意力(具有K=3头)的说明。不同的箭头样式和颜色表示独立的注意力计算。来自每个头部的聚合特征被连接或平均以获得。
-
图注意力层
注意力层的输入是一组节点特征 h = { h ⃗ 1 , h ⃗ 2 , … , h ⃗ N } , h ⃗ i ∈ R F \mathbf{h}=\{\vec{h}_1,\vec{h}_2,\dots,\vec{h}_N\},\vec{h}_i\in\R^F h={h1,h2,…,hN},hi∈RF,其中 N N N 是节点的数量, F F F 是每个节点中的特征的数量。该层生成一组新的节点特征(可能具有不同的基数 F ′ F^′ F′), h ′ = { h ⃗ 1 ′ , h ⃗ 2 ′ , … , h ⃗ N ′ } , h ⃗ i ′ ∈ R F ′ h^′=\{\vec{h}_1^′,\vec{h}_2^′,\dots,\vec{h}_N^′\},\vec{h}_i^′\in\R^{F^′} h′={h1′,h2′,…,hN′},hi′∈RF′ 作为其输出。
-
为了获得足够的表达能力,将输入特征转换为更高级别的特征,至少需要一个可学习的线性转换。作为初始步骤,一个由权重矩阵 W ∈ R F ′ × F \mathbf{W}\in\R^{F^′×F} W∈RF′×F 参数化的共享线性变换应用于每个节点。然后在节点上执行一个共享注意力机制 a : R F ′ × R F ′ → R a:\R^{F^′}×\R^{F^′}\rightarrow\R a:RF′×RF′→R 计算注意系数:
e i j = a ( W h ⃗ i ′ , W h ⃗ j ′ ) e_{ij}=a(\mathbf{W}\vec{h}_i^′,\mathbf{W}\vec{h}_j^′) eij=a(Whi′,Whj′)
表示节点 j j j 的特征对于节点 i i i 的重要性。 -
通过执行屏蔽注意将图结构注入到机制中,即仅为节点 j ∈ N i j\in{N_i} j∈Ni 计算 e i j e_{ij} eij,其中 N i N_i Ni 是图中节点 i i i 的某个邻域,是 i i i (包括 i i i)的一阶近邻。为了使系数在不同节点之间易于比较,使用 softmax 函数对 j j j 的所有项进行归一化:
α i j = s o f t m a x j ( e i j ) = exp ( e i j ) ∑ k ∈ N i exp ( e i k ) \alpha_{ij}=softmax_j(e_{ij})=\frac{\exp(e_{ij})}{\sum_{k\in{N_i}}\exp(e_{ik})} αij=softmaxj(eij)=∑k∈Niexp(eik)exp(eij) -
注意力机制 a a a 是一个单层前馈神经网络,由权重向量 a ⃗ ∈ R 2 F ′ \vec{a}\in{\R^{2F^′}} a∈R2F′ 参数化,并应用 LeakyReLU 非线性激活函数。完全展开后,由注意机制计算的系数可以表示为:
α i j Φ = exp ( L e a k y R e L U ( a ⃗ T [ W h ⃗ i ′ ∥ W h ⃗ j ′ ] ) ) ∑ k ∈ N i exp ( L e a k y R e L U ( a ⃗ T [ W h ⃗ i ′ ∥ W h ⃗ k ′ ] ) ) \alpha_{ij}^\Phi=\frac{\exp(LeakyReLU(\vec{a}^\Tau[\mathbf{W}\vec{h}_i^′\parallel\mathbf{W}\vec{h}_j^′]))}{\sum_{k\in{N_i}}\exp(LeakyReLU(\vec{a}^\Tau[\mathbf{W}\vec{h}_i^′\parallel\mathbf{W}\vec{h}_k^′]))} αijΦ=∑k∈Niexp(LeakyReLU(aT[Whi′∥Whk′]))exp(LeakyReLU(aT[Whi′∥Whj′]))
其中 ⋅ T ·^T ⋅T 表示转置, ∥ \parallel ∥ 表示连接操作。 -
归一化注意系数被用于计算对应于它们的特征的线性组合,作为每个节点的最终输出特征:
h ⃗ i ′ = σ ( ∑ j ∈ N i α i j W h ⃗ j ) \vec{h}_i^′=\sigma(\sum_{j\in{N_i}}\alpha_{ij}\mathbf{W}\vec{h}_j) hi′=σ(j∈Ni∑αijWhj)
其中 σ \sigma σ 表示激活函数。论文中进行了多头注意力拼接。
-
Eexperiments
Datasets
- Transductive learning
- Cora数据集包含2708个节点,5429条边,每个节点有7个类和1433个特征。
- Citeseer数据集包含3327个节点,4732条边,每个节点有6个类和3703个特征。
Pubmed数据集包含19717个节点,44338条边,每个节点3个类和500个特征。
- Inductive learning
- PPI(蛋白质-蛋白质相互作用数据集),该数据集由对应于不同人体组织的图形组成。数据集包含20个用于训练的图,2个用于验证,2个用于测试。每个图的平均节点数是2372。每个节点有50个特征,由位置基因集﹑基序基因集和免疫基因集组成标签。基因本体的每个节点集有121个标签。
Baselines
- Transductive learning
- 标签传播(LP)
- 半监督嵌入(SemiEmb)
- 流形正则化(ManiReg)
- 基于skip-gram的图嵌入(DeepWalk)
- 迭代分类算法(ICA和plantoid)
- GCNs
- MoNet
- Inductive learning
- GraphSAGE-GCN(将图卷积式操作扩展到归纳设置)
- GraphSAGE-mean(取特征向量的元素平均值)
- GraphSAGE-LSTM(通过将邻域特征输入LSTM进行聚合)
- GraphSAGE-pool(采用由共享非线性多层感知器转换的特征向量的元素最大化操作)
Method
- 节点分类
- 对Cora,Citeseer和Pubmed的分类准确性进行总结;PPI数据集的 micro-averaged F1 分数
Conclusion
本文提出了图注意力网络(GATs),一种新的卷积式神经网络,它在图结构数据上操作,利用了隐藏的自注意力层。在网络中使用的图注意力层在计算上是高效的(不需要昂贵的矩阵操作,并且在图中的所有节点上是可并行的),允许(隐式地)在处理不同大小的邻域时为邻域内的不同节点分配不同的重要性,并且不依赖于预先知道整个图结构——因此解决了以前基于频谱的方法的许多理论问题。利用注意力的模型已经成功地在四个成熟的节点分类基准模型上达到或匹配了最先进的性能,包括传导和归纳(特别是,使用完全看不见的图进行测试)。
- 几个潜在的改选和扩展
- 克服使用的张量操作框架只支持2阶张量的稀疏矩阵乘法的问题,以便能够处理更大的批处理规模。
- 利用注意力机制对模型可解释性进行深入分析是一个特别有趣的研究方向。
- 从应用程序的角度来看,将该方法扩展为执行图分类而不是节点分类。
- 扩展模型以合并边的特征(可能表示节点之间的关系)将使我们能够解决更多的问题。