GRAPH ATTENTION NETWORKS 学习翻译

GRAPH ATTENTION NETWORKS

1.摘要

我们提出了graph attention networks (GATs)算法,这个算法主要的创新在于把一种流行的神经网络框架用于图结构数据上,通过masked self-attentional技术形成神经网络层来解决(或者说近似)之前卷积图的不足之处。通过堆叠的网络层级可以获得节点邻居的特征值,论文解决了(说明了)不同邻居节点之间的权值,重点在于不需要了解图本身的结构以及不需要复杂的矩阵运算。通过这种方法,论文同时解决了光谱图神经网络的几个关键挑战,并且是模型直接推导的能力接近了递归推导的能力。论文的模型GAT获得了最优的结果,建立在四个数据集上,分别是:Cora, Citeseer 、Pubmed citation network datasets、PPI(protein-protein interaction,这个数据集在训练过程中无法获得图的结构)。

2.引言

引言部分就不做详细介绍了,具体可参见原文

3.GAT结构

这一节主要建立的神经网络的层级框架,用于建立属性网络(arbitrary graph)注意力模型(通过堆叠这一层),并且直接概述了原理以及实践中的优势,并且与之前神经网络的图结构处理的领域进行了对比。

3.1 图注意力层(GRAPH ATTENTIONAL LAYER)

首先要描述一个单层的图注意力层,作为一个单独的网络层被用于GAT框架中。这个特殊的注意力层被用于我们一直紧跟的Neural machine translation by jointly learning to align and translate(基于图的RNN方法)工作中,但是这个框架对于前面工作而言还是创新的(这句翻译不一定准确,自己的理解,也希望同志们指正)

上述网络层的输入时一组节点特征的集合:
\mathbf{h}=\lbrace \vec{h}_{1}, \vec{h}_{2},...\vec{h}_{N}\rbrace,\vec{h}_{i}\in R^{F}\tag{1}
其中N是节点的个数,F是每个节点的特征值数量。而网络层的输出是:
\mathbf{h'}=\lbrace \vec{h}_{1}', \vec{h}_{2}',...\vec{h}_{N}'\rbrace,\vec{h}_{i}'\in R^{F'} \tag{2}其中\vec{h}_{i}是新的特征向量,其长度为F'

为了获得更高层级的表达能力,需要将输入的特征转换为更高级别的特征,一个可学习的线性变换是必须的,作为端到端的过程,同时需要一个初始化线性转变的矩阵\bf{W},\bf{W}\in R^{F'×F},这个\bf{W}作用于每一个节点,之后通过运用一个自我注意力(self-attention)作用于节点:一个共享的注意力机制a: R^{F'}× R^{F}\to R,结果成为注意力系数,如下表示:e_{ij}=a(\bf{W}\vec{h}_{i},\bf{W}\vec{h}_{j})\tag{3}这个系数说明了节点j的特征值对于节点i的重要性,在这个通用公式中,模型允许每一个节点与其余节点进行运算,这样就忽视了图的结构信息。我们通过加入masked attention方法来保证图的结构信息,就是只计算节点i的邻居节点j,其中j\in N_{i},N_{i}一部分节点i的邻居节点(where Ni is some neighborhood of node i in the graph),在文本所有的实验中,使用了一阶的邻接点(包括节点i本身)来对该系数进行计算,这样做的好处是可以很容易的比较不同节点的关系,我们正则化所有节点j(邻接点)的注意力系数,使用了softmax方法,公式如下:
\alpha_{ij}=softmax_{j}(e_{ij})=\frac{exp(e_{ij})}{\sum_{k\in N_{i}}exp(e_{ik})}\tag{4}
在论文使用的实验中,注意力机制(式子3)中的a使用了单层前馈神经网络(single-layer feedforward neural network)参数使用了一个向量\vec{\bf{a}^T}\in R^{2F'},这样一来注意力系数公式完全展开如下所示:
\alpha_{ij}=\frac{exp(LeakyRelu(\vec{\bf{a}^T}\lbrack\bf{W}\vec{h}_{i}\Vert\bf{W}\vec{h}_{j}\rbrack))}{\sum_{k\in N_{i}}exp(LeakyRelu(\vec{\bf{a}^T}\lbrack\bf{W}\vec{h}_{i}\Vert\bf{W}\vec{h}_{k}\rbrack))}\tag{6}
其中,T表示转置,\vert\vert表示连接操作(concatenation operation)
一旦达到(Once obtained),这个正则化的注意力系数就可以备用来计算对应特征的线性组合,作为每个节点的输出特性。(这里还需要使用一个\sigma函数作为非线性输出),具体公式如下:
\vec{h}_{i}'=\sigma(\sum_{j\in N_{i}}\alpha_{ij}^k\mathbf{W}\vec{h}_{j}) \tag{7}
为了稳定自我学习机制,论文使用出了一种多头注意力(multi-head attention)的方法,具体的说(Specificall),就是执行K次公式7,然后将执行的特征连接(concatenated)起来,具体公式如下:
\vec{h}_{i}'=\vert\vert_{k=1}^{K}\sigma(\sum_{j\in N_{i}}\alpha_{ij}^k\mathbf{W}^k\vec{h}_{j}) \tag{8}
其中||表示连接操作,\alpha_{ij}^k表示第k次注意力系数,\mathbf{W}^k表示k头的线性变换矩阵,值得注意的是,在这个公式中,每个节点所输出的特征h'包含KF'个特征(而非F')。特别的,如果我们在网络中使用多头的框架预测,连接操作就不是很适合了,相反的,文中采用了平均值的方法,将最终的非线性(通常是用于分类问题的softmax或logistic sigmoid)应用到多头部图的注意层的聚合过程中,图解说明为图1后部分。具体公式如下:
\vec{h}_{i}'=\sigma(\frac{1}{K}\sum_{k=1}^{K}\sum_{j\in N_{i}}\alpha_{ij}^k\mathbf{W}^k\vec{h}_{j}) \tag{8}

图1

3.2与相关工作的比较

文章中图注意力层的表示在3.1中已经进行了详细的介绍,也引出了一下先前研究的相关工作的不足:

  • 计算上,该方法是高效的,原因在于自我注意力层可以通过所有边进行并行运算,同时节点间可以看做独立的个体,可以进行并行运算,同时在运算过程中不需要进行特征分解等高代价的矩阵运算。
  • 与GCNs的工作相比,本文使用的方法(隐式的)标记了节点对于其邻居节点的重要性,这样可以提高模型的表示能力,进一步,该方法具有一定的可解释性。
  • The crux is however(但关键是),注意力机制共享了图中所有的边,因此他不需要提前访问图中所有的图结构以及所有节点(这一点限制了许多技术),这样有以下优势:
    • 图结构不要求是无向图(如果i-j不存在,可以直接不用计算a_{ij})
    • 它使我们的技术直接适用于归纳(inductive)学习——包括在训练中完全不可见的图形上评估模型的任务。
  • 最近推出的归纳学习方法(Inductive representation learning on large graphs. Neural Information Processing Systems (NIPS),举例了一种对于每个节点固定邻接点size的方法,目的为了保持自身计算量的一致性(keep its computational footprint consistent),这种方法不允许在运算过程中访问整个邻域.进一步,这种方法使用了LSTM算法对社区聚类时有更好的性能表现.算法假设了存在一直连续的邻居节点(This assumes the existence of a consistent sequential node ordering across neighborhoods?),并且作者通过不断地向LSTM输入随机序列对其进行了验证.我们的技术不用发面对这样的问题--它运行在整个社区中(以牺牲可变的计算占用空间为代价,这仍然与GCN之类的方法相当),并且不假定邻域有任何的顺序.
  • 这里要重提第一章,GAT可以被描述为一种特殊的MoNet(Geometric deep learning on graphs and manifolds using mixture model cnns),更具体地说,将伪坐标函数设置为u(x, y) = f(x)\vert\vert f(y),其中f(x)表示(可能使用MLP-transformed)节点x的特征,以及\vert\vert表示连接函数,并且权重矩阵w_j(u)=softmax(MLP(u))(通过softmax计算整个社交网图结构中的节点),通过这种类比使得我们的方法近类似于MoNet结构.更进一步,有一点需要说明,我们的模型使用的节点节点特征来进行相似性计算,而不是使用节点的结构属性(假定预先知道图的结构)。

我们能够生成一个版本的GAT层,它利用稀疏矩阵操作,将存储复杂度降低到节点和边缘的线性数量,并允许在更大的图形数据集上执行GAT模型。然而,我们使用的张量操作框架(TensorFlow?)只支持稀疏矩阵乘法的rank-2张量,这样限制了层之间的批处理能力(特别是对于具有多个图的数据集datasets with multiple graphs),适当的解决这个约束是一个很好的研究方向.依赖图架构的规则,在稀疏矩阵上GPU可能无法提供比CPU更好的处理性能.还有一点需要说明的就是我们模型中的"感受野"就是网络深度的上限(同GCN模型一样)然而像skip connections (He et al., 2016)这样的技术很容易被应用在深度的扩展上.最后,图结构中变得并行运算在分布式的结构上,容易导致冗余的就是那,因为邻接点会经常高度的覆盖.

模型评价

我们通过大量的基础与前期知识对GAT模型进行了性能评估,使用了4个图结构数据集完成了分支测试任务((transductive,inductive),最终都获得了最优的结果,并对GAT模型提取的特征表示进行了简要的定性分析.使用的数据集如下表所示:
实验数据表

3.1 数据集

传导学习:我们利用了三个标准的引文网络基准数据集Cora, Citeseer and Pubmed,在些数据集中,节点对应于文档,边对应于(无向)引用,节点的输入特征向量对应于文档的词包表示形式的元素,每一个节点有一个label作为分类用,我们只允许每类只有20个节点作为训练数据,并且,贯穿于整个传导过程,训练算法必须测试到所有节点的特征向量.我们在1000个测试节点上评估训练模型的预测能力,并且使用500个额外的节点进行验证

回归学习(归纳学习) :我们利用蛋白质-蛋白质相互作用(PPI)数据集,它由对应于不同人体组织的图形组成,这个数据集使用20个图结构作为训练集,2个验证两个测试,关键的是(Critically),测试图在训练过程中完全没有被观察到,为了构建这些图,我们使用了Hamilton等人(2017)提供的预处理数据。每个图的平均节点数为2372。每个节点有50个特征,由位置基因集、motif基因集和免疫标记组成。从分子签名数据库(Subramanian et al., 2005)收集的基因本体论中,每个节点集有121个标签,一个节点可以同时拥有多个标签。

3.2 比对试验相关(STATE-OF-THE-ART METHODS)

这一节讲了与之前不同的方法进行对比,获得了最好的性能.

3.3 实验设置

传导学习: 对于传导学习的任务,我们使用了一个两层的GAT模型,这个建构的超参被Cora数据集调优后直接复用到Citeseer数据集上.第一层使用了K=8的注意力头,输出的F'维度为8的特征向量(一共64维 =8x8),然后紧接着使用了指数线性方法ELU进行非线性激活.第二层用来做分类,一个单独的attention head计算C的特征值(C的类别的数量),然后后面跟着一个softmax激活函数.为了解决(coping with)训练数据集小的问题,模型中引入了正则化函数.在训练的过程中,L_2正则化参数\lambda=0.0005,进一步的 dropout参数同时运用到两层以及正则化Attention系数(这意味着每轮训练迭代的时候,每个节点都暴露在随机采样的邻域中)时,其值为0.6.同样观察Monti et al. (2016),我们发现Pubmed的训练集规模(60样本)需要轻微的变化得到架构:我们应用K = 8作为输出output(替换了one),并加强了L2正规化λ= 0.001。否则,体系结构将与Cora和Citeseer使用的体系结构相匹配。
归纳学习:对于归纳学习,我们使用了一个三层的GAT模型,前两层的K=4 计算F'为256维的特征向量(一共1024=256x4),之后使用ELU激活,最后一层用来对多标签进行分类:K=6 attention heads 计算121类特征,最后平均下来使用一个sigma函数激活.该任务的训练集足够大,我们发现不需要应用L2正则化或dropout,然而,我们成功地使用了跳过连接(skip connections,He et al., 2016)来跨越中间注意力层。我们使用了batchsize=2的图结构进行训练.并严格评估在这种情况下应用注意机制的好处(即与接近gcn等效模型进行比较),我们还提供了使用相同体系结构的常数注意机制(a(x, y) = 1)时的结果——这将为每个邻居分配相同的权重。

3.4实验结果

实验结果的比较总结可以在表2以及表3中体现出来:
表2

表3

在传导学习的任务重,我们得到了测试集测试100轮后的分类准确性的均值,并且重用了Kipf&Welling(2017)和Monti等人(2016)已经报告的指标,对比后的带最优结果.我们提供了订单K = 2和K = 3的最优性能.为了公平地评估注意力机制的好处,我们进一步评估了一个GCN模型,该模型计算64个隐藏特征,同时尝试ReLU和ELU激活,并得到(作为GCN-64∗)100次运行后的更好结果(在所有三种情况下都是ReLU)。

对于归纳任务,我们得到了两个不可见测试图节点上的在运行10次后micro-averaged F1分,重用Hamilton等人(2017)已经报告中所有技术的结果.具体地说,我们使用的是有监督学习,所以与监督学习的GraphSAGE方法进行比较.为了评估社区聚类过程中我们模型的优势,我们还提供了(作为GraphSAGE*)通过修改GraphSAGE的体系结构(这是一个三层GraphSAGE- lstm,每一层都计算有[512、512、726]个特性,并使用128个特性来聚合邻域),从而使用GraphSAGE获得的最佳结果),最后,我们报告持续关注GAT模型(如Const-GAT)的10次运行结果,以公平地评估关注机制相对于类gcn聚合方案(具有相同架构)的优势.

根据2.2节的讨论,我们的结果成功地展示了在所有四个数据集上达到或匹配的最优秀的性能,符合我们的期望。更具体地说,我们能够在Cora和Citeseer的基础上分别以1.5%和1.6%的优势改进GCNs,这表明为相同邻居的节点分配不同的权重可能是有益的。值得注意的改进实现PPI数据集:我们的手枪模型提高了20.5% w.r.t(关于).GraphSAGE最好我们能够获得结果,证明我们的模型有可能应用于归纳的方法中,并且可以利用更大的预测能力通过观察整个社区。此外,它还改进了3.9%的关于Const-GAT(具有持续关注机制的相同架构),再次直接展示了能够为不同的邻居分配不同权重的重要性。

学习特征表示的有效性也可以定性地研究--为此我们提供了一组可视化的t-SNE(Maaten & Hinton, 2008),在Cora数据集上预先训练的GAT模型的第一层提取转换后的特征表示,如下图:该表示在投影的二维空间中显示出明显的聚类效果,注意,这些集群对应于数据集的七个标签,验证了模型在Cora的七个主题类中的区分能力。此外,我们还可视化了标准化注意系数的相对强度(所有8个注意头的平均值)。正确地解释这些系数(如Bahdanau等人(2015)所执行的)将需要对研究数据集的进一步领域知识,并留给未来的工作。


t-SNE

4总结

我们提出了图注意网络(GATs),这是一种新型的卷积式神经网络,利用掩蔽的自注意层对图形结构数据进行操作。图注意力层利用在这些网络是计算有效(不需要昂贵的矩阵操作,并可平行的所有节点图中),允许(隐式地)——将不同的重要性分配给不同的节点,在一个社区在处理不同大小的社区,不依赖于知道整个图结构前期与先前的spectralbased从而解决许多理论问题的方法。我们的模型利用注意力在四个成熟的节点分类基准上成功地实现了或匹配了最优的性能,包括转换性和归纳性(特别是使用完全不可见的图进行测试)。

图形注意网络有几个潜在的改进和扩展,可以作为未来的工作来处理,比如克服第2.2小节中描述的实际问题,以便能够处理更大的批处理大小。一个特别有趣的研究方向是利用注意机制对模型的可解释性进行深入分析。此外,从应用的角度来看,将该方法扩展到执行图分类而不是节点分类也是有意义的。最后,将模型扩展到包含边缘特性(可能表示节点之间的关系),这将允许我们处理更多的问题。

欢迎转载,但请标明文章原地址.同时在翻译的过程中也有很多问题,欢迎同学们一起学习讨论.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,783评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,396评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,834评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,036评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,035评论 5 362
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,242评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,727评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,376评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,508评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,415评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,463评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,140评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,734评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,809评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,028评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,521评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,119评论 2 341