目录
前文索引
本篇是GRNN的第二篇文章,点击此处可到达第一篇文章的位置。
计算下游输出
一旦我们以图中的每个顶点为中心有了有用的嵌入,目标是根据这些值推断出有意义的输出(即执行下游任务)。输出函数𝑔负责获取图G (V, E)的收敛嵌入并创建所述输出。在实践中,输出函数𝑔,很像转换函数𝑓,是由前馈神经网络实现的,尽管以下的方法已经被使用,用于其他返回单个值,包括平均操作、虚拟超级节点和注意力总和。
直观地说,反复计算嵌入并随后计算下游输入的组合过程可以被解释为一个循环神经网络计算块序列(或有限的计算图,如图所示)(在上一篇文章中)。在监督学习的环境中,可以计算出一个损失信号,它量化了预测输出与标注的真值之间的误差。然后,通过沿着“展开”的计算图进行误差反向传播,可以对f和g进行训练。
序列图数据的扩展
到目前为止,在讨论递归时,我们主要提到了将计算技术迭代地应用于图中的邻域,以产生依赖于整个图中传播的信息的嵌入。然而,递归技术也可以指序列数据上的计算过程,例如时间序列数据。在图论中,序列数据是指可以被解释为具有随时间变化的特征的图的实例,包括时空图。例如,图1 (b)说明了图如何表示手部单幅图像中的骨骼结构,然而,如果我们要为移动手部的连续视频的每一帧创建这样的图,我们将有一个数据结构,可以解释为单个图的序列,或具有顺序特征的单个图,这些数据可以用于对视频中的手部动作进行分类。
与传统的序列数据一样,在处理序列的每个状态时,我们不仅要考虑当前状态,还要考虑来自前一个状态的信息,如图6 (a)所示。这个挑战的一个简单解决方案可能是简单地将前一个状态的图嵌入与当前状态的特征连接起来(如图6 (b)),但这种方法不能捕获数据中的长期依赖关系。在本节中,我们概述了传统深度学习的现有解决方案——如长短期记忆网络(LSTM)和门控循环单元(GRU)(在图6中概述)——如何扩展到图领域。
图长短期记忆网络
图LSTM (GLSTM)利用LSTM单元,这些单元适应于对基于图的数据进行操作。虽然上述循环模块(图6 (b))采用了简单的连接策略,但GLSTM确保可以在LSTM的“单元状态”中编码长期依赖关系(图6 (c))。这缓解了梯度消失问题,其中长期依赖信号在整个网络反向传播时呈指数级减少。
GLSTM单元通过以下四个关键的处理元素来实现这一点,这些元素学会根据前一个状态的嵌入和当前状态的输入来计算有用的量(如图6 (c)所示)。
- 遗忘门利用
,提取范围[0,1]中的值,表示前一个单元格的状态中的元素应该被“忘记”(0)或保留。
- 输入门利用
,提取[0,1]范围内的值,表示将添加到此单元格状态的调制输入量。
- 输入调制门利用
,提取范围为[-1,1]的值,表示从该单元格的输入中学习到的信息。
- 输出门利用
,计算[0,1]范围内的值,指示单元格状态的哪些部分应该作为该单元格的隐藏状态输出。
注:关于提取范围的问题,主要是由使用的激活函数决定的,使用sigmoid和ReLU则值在零和一之间,使用tanh则值在正负一之间。
为了使用GLSTM,我们需要定义图6(e)中的所有算子。由于图G(V, E)可以被看作是大小可变的顶点和边的集合,我们可以将图的连接定义为分别对顶点特征和边特征进行的单独连接,其中使用了一些空填充以确保生成的张量具有固定大小。可以通过定义输入图的最大顶点数来实现这一点。如果GLSTM单元的输入信号具有固定大小,那么其他算子都可以被解释为传统的张量运算,并且在反向传播时整个过程是可微的。
循环转换在RGNN应用于图分类时的作用
在这个独立的示例中,我们研究社交网络,它代表了丰富的图数据来源。由于社交网络应用程序的流行,为了分析、营销和影响的目的,准确的用户和社区分类变得极为重要。在这个示例中,我们研究了如何在图域中应用循环的转换函数来辅助进行图分类的预测。
数据集
我们将使用 GitHub Stargazer 的数据集。GitHub 是一个带有社交网络元素的代码共享平台。每个图形都由一组用户(顶点)及其相互关注关系(无向边)定义。每个图形被分类为一个网页开发小组或一个机器学习开发小组。没有顶点或边的特征——所有的预测完全基于图形的结构。
算法
我们将实验过渡函数的有限应用,而不是使用一个真正的RGNN,该RGNN将过渡函数应用于隐藏状态,直到达到某些收敛标准。过渡函数(transition)是一个简单的消息传递聚合器,它应用一组学习到的权重来创建大小为16的隐藏向量表示。在将隐藏表示提供给输出函数进行图分类之前,我们将看到应用该转换函数1、2、4和8次如何影响预测任务。在16个epoch的8096个图上进行训练,并在每个架构的2048个图上进行测试。
结果和讨论
正如预期的那样,连续的过渡函数导致计算出更有判别力的特征,从而导致图的最终表示更有判别力(类似于CNN中更多的卷积层)。
事实上,我们可以看到最终的隐藏表示变得更加线性可分(请参见图5中的TSNE可视化),因此,当将它们提供给输出函数(线性分类器)时,预测的分类通常是正确的。这是一项困难的任务,因为没有顶点或边的特征。对于相同的数据集和任务,最先进的方法实现了以下100个随机训练/测试分割的平均AUC平均值:GL2Vec [10] - 0.551, Graph2Vec [62] - 0.585, SF [16] - 0.558,
图5:x1, x2, x4, x8隐藏层网络的最终隐藏图表示的TSNE渲染。请注意,随着过渡函数的更多应用(相当于NN中的更多层),输入图的最终隐藏表示变得更线性可分到它们的类别(这就是为什么它们能够只用线性分类器进行更好的分类)。在这里,我们的转换函数𝑓是一个只有一层的“前馈神经网络”,因此𝑓的更高级的神经网络(或其他)实现可能会产生更高性能的rgnn。随着更多轮的转换函数被应用到隐藏状态,性能-和所需的计算-增加了。确保迁移函数应用程序数量一致,是开发简化GNN架构和减少迁移阶段所需计算量的关键。我们将在第4.2节中探索如何通过CGNNs实现这种改进的概念。
门控循环单元
通过消除在每个单元中计算单元状态的需要,GRU为glstm提供了计算成本更低的替代方案。因此,gru有三个可学习的权重矩阵。
- 重置门
确定从当前状态计算要添加到隐藏状态的新信息时,从“忘记”或“保留”中保留多少信息。
- 更新门
确定从前一个隐藏状态中“忘记”或“保留”哪些信息。
- 候选门
确定来自重置输入的哪些信息将有助于下一个隐藏状态。
当重复模式不频繁时,GRU非常适合序列数据,而LSTM单元在需要捕获更频繁的模式信息的情况下表现良好。与GRU相比,LSTM也有过拟合的倾向,因此在样本量较低时,gru的表现优于LSTM单元。
优缺点
在本节中,我们解释了允许RGNN对图输入数据产生有用预测的前向传播。在前向传递期间,过渡函数𝑓递归地应用于输入图以为每个邻域创建高级特征。𝑓的重复应用确保在迭代𝑘时,嵌入h𝑘𝑖包含顶点𝑘远离v𝑖的边的信息。这些高级特性可以提供给输出函数来解决下游任务。在向后传递期间,神经网络𝑓和𝑔的参数根据通过在向前传递中定义的计算图反向传播的损失进行更新。循环处理单元也可以指处理基于图的顺序数据的方法,包括对LSTM和GRU的基于图的扩展。实际上,方程1中提供的计算嵌入的公式仅代表一种计算嵌入的方法。这种方法将在第4节中进行背景介绍,其中将介绍关于计算有用嵌入的更广泛的视角。虽然RGNN提供了一种简单的方法来处理通用图,但它们有许多缺点。也就是说,共享的过渡函数𝑓意味着在连续的迭代中使用相同的权重来提取特征,这对于深度学习场景来说并不理想,在这种场景中,低级特征(在网络的早期)之间的关系与高级特征(在网络的后期)之间的关系是不同的。此外,由于RGNN迭代直到收敛,它们具有可变长度的编码网络,这可能增加实现的复杂性。在下一节中,我们将讨论如何通过开发图域中卷积的形式化定义来缓解这些问题。