Graph Attention Network

【新智元导读】Yoshua Bengio 团队日前提出了一种名叫图谱注意力网络(Graph Attention Network,GAT)的新型神经网络架构,探讨将图谱(Graph)作为输入的情况下如何用深度学习完成分类、预测等问题,相关论文已经提交ICLR-18审核。作者邓侃认为,图(Graph)作为一种表达方式,能够表达很多知识,Bengio研究组的这篇论文虽然尚未在业界引发巨大反响,但其结果十分重要而且有趣,下面且听他道来。




一篇“不出名”但十分重要而且有趣的论文



2017年10月30日,深度学习界著名的 Yoshua Bengio 研究组发表论文,题为 “Graph Attention Networks”,预计将在 ICLR 2018 会议上正式发表[1]。


这篇论文似乎还没有在业界引起巨大反响。但是这篇论文触及到一个重要的研究课题,值得关注。


众所周知,深度学习算法,尤其是 CNN 算法,在图像识别领域取得了巨大的成功,譬如人脸识别。在人脸识别的例子中,输入是图像,输出是字符串,也就是图像中人物的姓名。


图像,通常被理解为矩阵,矩阵的每个元素是像素,像素是(Red,Green,Blue)三个数值组成的向量。


换个角度想想,矩阵也可以理解为图谱(Graph),图谱由点(node)和边(edge)组成。相邻的点之间,有边相连。而矩阵是一种特殊的图谱,特殊性表现在两方面:


1. 矩阵每个点有固定个数的邻点。从图谱的角度看,图像中的像素,就是图谱中的点。图像中每个像素,也就是图谱中的每个点,周边总共有 8 个邻点。


2. 矩阵每条边的权重是常数。从图谱的角度看,图像中的每一个像素,只与周边 8 个邻点之间有边,边的长短权重,是常数。


图像作为一种特殊的图谱,特殊性体现在这两个限制上面。如果放松了这两个限制,问题就更复杂了,深度学习算法也会面临更大的挑战。


“Graph Attention Networks” 试图解决这个问题,也就是说,把不加限制的图谱作为输入,在这种情况下,如何用深度学习算法完成诸如分类、预测等问题。


放松限制条件,意味着难度更大,因此重要而且有趣。所以,“Graph Attention Networks” 是一篇重要有趣的论文。



图谱注意力网络的算法



上图左边展示了GAT模型中使用的注意力机制 a(W h_{i}, W h_{j} ),通过一个权重向量参数化~a ∈ R^2F'。右边则是节点 1 对其近邻节点的多头注意力(其中 K=3 heads),其中不同的箭头格式和颜色表示独立的注意力计算,每个头的聚合特征连接或平均后得到 h'_{1}。


这篇论文的算法,其实不难懂。


放松了邻点个数和边的权重这两个限制条件的图谱,有很多种。譬如地图、人际关系网、论文引用网络、医学知识图谱,等等。


假如给你一张地图,让你研究一下在哪里买房,房价升值机会最大。把问题翻译成深度学习的语汇,输入是地图,输出是一张热力图,温度越高,房价升值空间越大。


买房需要综合考虑多种因素,房型和价格当然很重要,但是更重要的是位置:周边有哪些学校,距离多远,质量如何;周边交通是否方便,离地铁站多远;周边有哪些商业区、写字楼、工厂车间等等。


如何把多种因素结合在一起?最简单的办法是加权和。但是,每个因素的权重怎么算?最好是收集其他区域的大量资料,研究房价与周边诸因素之间的关系。


翻译成深度学习的语汇来说,就是先收集大量训练数据,每组数据的输入是地图,输出是房价热力图。


然后,用这些训练数据,训练深度学习模型,用于估算如下公式中的两项参数——邻边的权重函数 α_{i, j} 的参数,以及向量转换矩阵 W 的参数。  


h'_{i} = σ( ∑_{j} ( α_{i, j} * W * h_{j} ) ) 


1. h'_{i} 是地图中 i 点的房价升值空间。通常可以是一个数值,也可以设为一个向量,包含多种指标。


2. h_{j} 是地图中 i 的邻点 j 的各项指标,包括从 j 到 i 点的距离,j 的类型是商铺还是学校还是地铁站,j 的人流等等。h_{j} 是一个多维向量。


3. W 是从 h_{j}  的向量转换矩阵。 h_{j} 与 h'_{i} 都是向量,但是维度不等,所以需要矩阵 W 做转换,把 h_{j} 降维成 h'_{i} 的维度。但是转换矩阵 W 中每个元素的取值,不预先手工设定,而是通过用训练数据,来估算最优取值。


4. α_{i, j} 是从 j 到 i 点的邻边的权重函数。由于权重考虑的因素不仅多,而且因素之间的相互影响比较复杂,通常不是线性关系,所以用一个神经网络来模拟权重函数。


5. σ( * ) 是一个非线性函数。通常设为 sigmoid 函数。有些地段的房价升值空间,明显不高。Sigmoid 函数用于过滤掉这些低升值空间的地段。





将图谱(Graph)作为输入,深度学习能做什么?与DeepMind可微分神经计算机(DNC)结合的猜想



开发了人工智能围棋大师 AlphaGo 的 DeepMind 公司,于 2016年10月,在 Nature 学术期刊上,发表了一篇题为 “Hybrid computing using a neural network with dynamic external memory” 的论文 [2]。文中描述了一个新型深度学习系统,简称 Differentiable Neural Computer,DNC。 


文中提议,把神经网络当成计算机的 CPU,把相关知识存储在神经网络以外,类似于计算机的存储。在神经网络 CPU 处理任务时,根据任务的具体情况,查找存储空间中的相关知识,忽略其他无关知识。


文中做了若干实验,用于验证这个方法的可行性。其中一个实验,是规划伦敦两个地点之间,最短的地铁换乘路线。


规划交通路线已经有现成的解决方案,为什么 DeepMind 还要另辟蹊径?


DeepMind 的研究目标,是深度学习算法如何援引外围知识。


回到先前的问题,如何估算房价升值空间。原先的前提,是输入的地图中,包含所有与房价相关的因素。


假如放松这个限制,地图中只包含周边写字楼、商铺和学校的名称和距离,但是不包含周边写字楼的租金,周边商铺的人流,周边学校的品质等等,而是需要查找其它资料。


一个可能的解决方案是,把 Differentiable Neural Computer 与 Graph Attention Networks,两种方法结合起来。


Differentiable Neural Computer 的作用在于,神经网络 CPU 不仅能够负责估算模型的参数,而且还可以负责查找外围知识。把地图、房地产统计资料、学校排行榜等诸多外围知识库联系在一起,神经网络 CPU 从中查找相关知识,忽略无关知识。然后把所有外围相关知识综合起来作为输入,估算各个地段的房价升值空间。


Graph Attention Networks 的作用在于,把外围知识表述成图谱,并且用 Attention 模型,确定哪些知识是相关的,哪些可以忽略。


图谱作为一种表达方式,能够表达很多知识,譬如地图能够表达地理知识,人际关系网能够表达人脉,医学知识图谱能够表达各个医学实体之间的因果关系和统计相关性。


把图谱作为 Differentiable Neural Computer 的存储空间的组织方式,能够让 DNC 解决很多有趣而又实用的问题。



最后,来看一下Bengio研究组Graph Attention neTworks GAT 论文的摘要:我们提出了图谱注意力网络(Graph Attention neTworks,GATs),这是一种新型的神经网络结构,在图谱结构化数据上运算,利用隐藏的自注意层解决现有的基于图卷积及其类似方法的缺点。通过堆叠这样的一些层,这些层里的节点能够注意其邻近节点的特征,我们能够(隐含地)为邻近的不同节点指定不同的权重,不需要进行成本高昂的矩阵运算(例如反演),也无需事先知道图的结构。这样,我们一次性解决了 spectral-based 图谱神经网络的几个关键挑战,并且我们的模型能够轻松适用于归纳和直推问题。我们的GAT模型已经在三个公认的直推和归纳图基准上获得了最先进的结果,这三个数据集分别是:Cora和Citeseer引文网络数据集,以及一个蛋白质相互作用数据集(其中测试图在训练过程中完全不可见)。



参考文献

  1. Graph Attention Networks, https://arxiv.org/pdf/1710.10903.pdf

  2. Hybrid computing using a neural network with dynamic external memory, 2016/10


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值