图注意力网络

论文标题:GRAPH ATTENTION NETWORKS
论文链接:https://arxiv.org/abs/1710.10903
论文来源:ICLR 2018

一、概述

为了将卷积操作泛化到图数据上,研究人员做了一些努力。一些基于频域图卷积的GCN被研发了出来,然而在所有这些方法中,卷积核都依赖于拉普拉斯特征基,也就是依赖于图结构。也就是说,在一个特定图结构上训练的GCN无法被应用在其他不同的结构上,因此GCN的方法是transductive的。另外一些空域上的图卷积方法也存在,这些方法面临的挑战是处理不同size的邻域并且保持CNN的参数共享特性。

在许多基于序列的任务中,注意力机制几乎已经成为事实上的标准。注意力机制的一个好处是可以处理可变大小的输入,然后通过关注在最相关的部分来做出决策。当一个注意机制被用来计算一个单一序列的表示时,它通常被称为self-attention或者intra-attention。

本文提出了一种基于注意力机制的网络架构来处理图结构的数据,称为graph attention networks(GATs),主要思想是借助self-attention机制通过attend到节点的邻域来计算每个节点的隐层表示。这种基于注意力机制的架构有以下几个特点:
①操作是高效的,因为在节点的邻域之间以及节点之间都是并行化的;
②能够应用到不同节点度的图节点上;
③能够直接应用到inductive学习问题,包括需要泛化到完全未见图上的任务。

二、方法

  1. 图注意力层

图注意力层是GAT中采用唯一层,其输入为h=\left \{\vec{h_{1}},\vec{h_{2}},\cdots ,\vec{h_{N}}\right \},\vec{h_{i}}\in \mathbb{R}^{F}N是节点的数量,F是每个节点的特征数量,该层生成一个新的节点特征集合h^{'}=\left \{\vec{h_{1}^{'}},\vec{h_{2}^{'}},\cdots ,\vec{h_{N}^{'}}\right \},\vec{h_{N}^{'}}\in \mathbb{R}^{F^{'}}作为输出,F^{'}可能是与F不同的节点特征数。

为了获得足够的表达能力将输入特征转换为更高层次的特征,至少需要一次可学习的线性变换。为了这个目的,作为初始步骤,一个共享的线性变换,参数为W\in \mathbb{R}^{F^{'}\times F},会被应用到每个节点上。然后执行节点的self-attention,也就是一个共享的注意力机制a:\mathbb{R}^{F^{'}}\times \mathbb{R}^{F}\rightarrow \mathbb{R}

e_{ij}=a(W\vec{h_{i}},W\vec{h_{j}})

e_{ij}代表的是节点j的特征对节点i的重要性。目前的设置允许节点attend到图中的每个其他节点,没有考虑图的结构信息(也就是边的连接)。我们通过直接masked attention来将图结构信息注入到机制中,具体的也就是我们只计算节点j\in N_{i}e_{ij}N_{i}代表节点i的邻域。在本文的所有实验中采用的是节点i的1阶邻域(包括节点i本身)。

为了使注意力权重在不同节点之间容易比较,我们使用softmax函数对所有j的选择进行标准化:

\alpha _{ij}=softmax_{j}(e_{ij})=\frac{exp(e_{ij})}{\sum _{k\in N_{i}}exp(e_{ik})}

在本文实验中,注意力机制a是一个单层前馈神经网络,参数记作\vec{a}\in \mathbb{R}^{2F^{'}},同时使用LeakyReLU激活函数(负输入斜率\alpha =0.2)。注意力机制的完全形式为:

\alpha _{ij}=\frac{exp\left (LeakyReLU(\vec{a}^{T}[W\vec{h_{i}}||W\vec{h_{j}}])\right )}{\sum _{k\in N_{i}}exp\left (LeakyReLU(\vec{a}^{T}[W\vec{h_{i}}||W\vec{h_{k}}])\right )}

||代表拼接操作。接着按照注意力权重来将节点的邻域表示线性累加起来得到最终的输出表示:

\vec{h_{i}^{'}}=\sigma \left (\sum _{j\in N_{i}}\alpha _{ij}W\vec{h_{j}}\right )

为了稳定学习的过程,我们发现扩展上述注意力机制为multi-head attention机制更为有效,类似Transformer架构中所做的。具体的,使用K代表head的个数,每个head都执行前述attention操作,最终将得到的表示拼接起来:

\vec{h_{i}^{'}}=||_{k=1}^{K}\sigma \left (\sum _{j\in N_{i}}\alpha _{ij}^{k}W^{k}\vec{h_{j}}\right )

注意最终的输出h^{'}将会包括KF^{'}个特征(并不是F^{'})。特别的,如果我们对最后一层(预测层)执行multi-head attention,那么拼接操作就不是合适的了,我们可以采用平均的方式,并且延迟使用非线性函数(对于分类任务来说通常是softmax或者sigmoid函数)来获得最终表示:

\vec{h_{i}^{'}}=\sigma \left (\frac{1}{K}\sum_{k=1}^{K}\sum _{j\in N_{i}}\alpha _{ij}^{k}W^{k}\vec{h_{j}}\right )

需要注意的是,我们模型的感受野的大小是由网络的深度所决定的。跳跃连接等技术可以很容易地用于适当扩展深度。

上述注意力机制以及multi-head输出的聚合过程,如下图所示:

图示
  1. 相关工作对比

GAT解决了以往方法中存在的一些问题:
①计算上GAT是高效的,无论是对于所有的边的计算还是输出特征的所有节点的计算,都是并行化的。不需要特征分解或类似的代价高昂的矩阵运算。一个注意力head的计算复杂度为O(|V|FF^{'}+|E|F^{'})|V||E|是图中节点和边的数量,这种复杂度与GCN相当。
②与GCN不同,GAT允许对邻域节点的不同重要性,这提升了模型的容量。另外,注意力权重可以对模型的可解释性有一定的帮助。
③注意机制以共享的方式应用于图中的所有边,因此它不依赖于对全局图结构或所有节点(特征)的预先访问(这是许多先前技术的限制)。具体来说,首先不要求边是无向的,另外GAT可以直接应用于inductive学习,即使模型在完全未见图上进行测试。
④GraphSAGE的方法在邻域中采集固定样本,并且最有效的LSTM聚合函数的版本假设了邻域节点存在顺序。GAT并没有上述问题,GAT能够在节点的所有邻域上进行操作,并且没有假设节点的顺序。
⑤与之前MoNet方法相比,我们的模型使用节点特征进行相似性计算,而不是节点的结构属性(这将假设预先知道图结构)。

三、实验

本文在Cora,Citeseer,Pubmed,PPI四个数据集上进行实验。其中前三个是transductive的数据集,PPI是inductive的数据集。数据集情况如下:

数据集

transductive实验结果如下:

transductive

inductive实验结果如下:

inductive

最后使用t-SNE可视化了一下在Cora数据集上的GAT第一层的特征:

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

推荐阅读更多精彩内容