简单且可扩展的图神经网络
Posted AI前线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单且可扩展的图神经网络相关的知识,希望对你有一定的参考价值。
本文最初发表于 TowardsDataScience 博客,经原作者 Michael Bronstein 授权,InfoQ 中文站翻译并分享。本文由 Michael Bronstein 和 Fabrizo Frasca、Emanuele Rossi 合著。
图神经网络是近年来兴起的用于学习图结构数据的一类机器学习模型。图神经网络已经成功应用于各种不同领域的关系和相互作用的模型系统,包括社会科学、计算机视觉和图形学、粒子物理学、化学和医学。直到最近,该领域的大多数研究都集中在开发新的图神经网络模型,并在小图上进行测试(如 CORA,它是一个仅包含约 5K 节点的引文网络,目前仍在广泛使用【1】)。另一方面,工业问题通常涉及到规模巨大的图,比如 Twitter 或 Facebook 社交网络,它们包含数亿个节点和数十亿条边。文献中阐述的大部分方法都不适用于这些环境。
简而言之,图神经网络是通过聚合来自局部邻居节点的特征来操作的。将 d 维节点特征排列成 n × d 维矩阵 X 此处 n 表示节点数),在流行的 GCN (图卷积网络)模型【2】中实现的对图最简单的卷积类操作,将节点方向的变换和跨相邻节点的特征扩散相结合:
Y= ReLU(AXW)
这里 W 是所有节点共享的可学习矩阵,A 是线性扩散操作符,相当于邻域中特征的加权平均值【3】。这种形式的多层可以像传统的卷积神经网络中那样按顺序应用。图神经网络可以设计成在节点级(例如在社交网络中检测恶意用户)、边级(例如链接预测,这是推荐系统中的典型场景)或整个图(例如预测分子图的化学性质)上进行预测。节点分类任务可以由一个两层的 GCN 来执行,形式如下:
Y= softmax(AReLU(AXW)W')
为什么扩展图神经网络具有挑战性?在前面提到的节点预测问题中,节点扮演样本的角色,对图神经网络进行训练。在传统的机器学习设置中,通常假设样本是以统计独立的方式从某个分布中提取的。这反过来又允许将损失函数分解为单独的样本贡献,并采用随机优化技术一次处理小子集(小批次)。事实上,几乎每个深度神经网络结构都是用小批次进行训练的。
另一方面,在图中,由于节点通过边相互关联,因此,在训练集中的样本之间产生了统计相关性。此外,由于节点之间的统计相关性,采样可能会引入偏差:例如,它可能会使一些节点或边比训练集中的其他节点或边出现的频率更高,这种“副作用”需要适当处理。最后但并非最不重要的是,必须保证采样子图保持图神经网络可以利用的有意义的结构。
在许多关于图神经网络的早期工作中,这些问题都被掩盖了:诸如 GCN 和 ChebNet【2】、MoNet【4】和 GAT【5】等架构都是使用全批次梯度下降法进行训练的。这就导致了必须在内存中保存整个图的邻接矩阵和节点特征。因此,例如,一个 L 层的 GCN 模型具有时间复杂度
以上是关于简单且可扩展的图神经网络的主要内容,如果未能解决你的问题,请参考以下文章