【新智元导读】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 函数用于过滤掉这些低升值空间的地段。
开发了人工智能围棋大师 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引文网络数据集,以及一个蛋白质相互作用数据集(其中测试图在训练过程中完全不可见)。
参考文献
-
Graph Attention Networks, https://arxiv.org/pdf/1710.10903.pdf
-
Hybrid computing using a neural network with dynamic external memory, 2016/10
-