图机器学习作为一种新兴的技术,因其在非传统任务上表现出的巨大潜力而迅速受到关注。目前,该领域正在进行积极的研究工作,一些人称其为机器学习的新前沿,开源库也在迅速跟进。那么,图机器学习究竟为何受到如此多的关注?它能够做什么?又是如何工作的?让一探究竟。
图是一种数据结构,它在理解现实生活中实体之间的复杂关系方面极为有用。因此,图被广泛应用于各个领域,从社会科学到生物学中的蛋白质折叠,再到计算机网络和谷歌地图等。图由“节点”和“边”组成,节点是对现实生活中实体的抽象表示(例如社交网络中的一个人或计算机网络中的一台计算机),而边则捕捉这些实体之间的关系(例如,如果两个人是朋友,他们在“友谊图”中将通过边连接)。
这个图表展示了图如何模拟人与人之间的友谊关系。虽然这是一个简单的例子,但图的真正强大之处在于有效模拟非常复杂的关系。
可能想要描述非常不同类型的关系,而图提供了许多工具来实现这一点。广义上讲,根据边的不同,每个图可以被称为“有向”或“无向”。上面展示的图是无向的,因为每条边只是简单地连接两个节点,没有特定的方向。在友谊图的情况下,不能说“Adi是Bob的朋友,但Bob不是Adi的朋友”。
然而,如果图模拟的是一群人之间的金钱交易,可能会使用有向图。如果Adi给Bob一些钱,会将这表示为从Adi指向Bob的箭头(边)。还可以利用加权边。并非所有关系都具有相同的强度。如果Rahul给了Joe一些钱,而Adi给了Bob两倍的金额,那么从Adi指向Bob的有向边可以被认为是从Rahul指向Joe的有向边的两倍厚(权重更大)。节点通常具有与它们所代表的现实生活中的对象相关的属性。这些属性本身可以作为机器学习任务中的特征。甚至边也可以被赋予属性。
图的这些规定,加上它们的规模,使它们能够捕捉到极其复杂的关系(无论是微妙的还是显著的),超出了直接解释的范围。图是模拟许多现实生活场景的自然选择;因此,开发能够利用这些结构提供给丰富信息的机器学习技术应该是一个自然的优先事项。
再次看图,意识到同一个图可以用许多不同的方式表示。图的一个主要挑战是它们没有空间或顺序局部性,通常也没有参考点。与此形成对比的是,图像具有有序的、网格状的结构,深度神经网络可以轻松利用。但图是“分散的”和“混乱的”;这使得传统的神经网络难以在图上工作。在图上表示关系是一个挑战。
传统上,大部分努力都集中在特征工程上,以找到准确捕捉图不同组件的拓扑信息的方法。以图中的节点为例。对特定节点的一种信息是附加到它的一组属性。例如,在友谊网络中,每个节点代表一个人,可以有年龄、性别、家乡等属性。当然,这些属性给提供了很多信息,因此使用它们作为试图预测的任何特征。但是,图所能获得的信息的真正强大之处在于连接和特定节点在更大图结构中的位置。假设有一个不完整的图,试图预测两个节点之间是否存在边(即如果考虑友谊图,这两个人是否是朋友?)。拥有这些节点在图结构中位置的结构信息在这里可能非常有用。如果这两个节点没有直接连接,但是连接到一个单独连接到两者的不同节点,那么这两个人也是朋友的可能性也很大。
如果A和B通过像C这样的更多节点连接,但从未直接连接,那么他们也是朋友的可能性也会增加。因此,捕获图中的结构信息对于实际利用图所提供的东西至关重要。但这绝不是一件容易的事情,由于图通常增长到巨大的规模,这使得任务变得更加困难。为此目的开发了许多方法。
例如,通过考虑节点的度数(节点拥有的边数)可以获得关于节点在图中位置的信息。直观上,度数较高的节点在图中占据中心位置。根据上下文,这些微不足道的信息可能非常有用。当然,也有更复杂的方法。节点中心性度量,如中介中心性和特征向量中心性,是流行的选择。其他复杂的选择包括计算所谓的聚类系数,它为提供了有关给定节点的局部邻域结构的信息,以及类似的图let度量向量,它再次可以为提供有关节点邻域的非常有用信息。许多这样的特征设计方法在基于边和整个图的任务中也是可用的。这些方法可以为提供有关图的关键信息,并帮助做出良好的预测。唯一的缺点是,这个手工特征设计步骤需要很多时间,可能会导致复杂的非传统预测任务的结果效率低下。
如今,该领域已经足够成熟,可以使用表示学习,这为提供了一种自动表示图及其不同组件的方法。这使能够利用端到端的深度学习,一旦输入一个图,就得到了所需的输出,中间不需要任何手动操作。
以节点嵌入为例,它们是图中节点的向量表示,旨在捕获节点的拓扑信息。不需要担心这些嵌入代表什么特征(除非机器学习系统的可解释性是一个关键问题)。基本思想是,如果图中的相似节点由某个相似性函数确定,那么它们应该有相似的节点嵌入,这是通过向量相似性度量(如余弦相似性)来测量的。有各种方法可以学习节点嵌入。可以使用像node2vec这样的算法,它利用图上的随机游走来学习嵌入。另一个选择,现在更受欢迎,或者可以利用深度编码器,它们使用灵活的神经网络架构通过节点及其邻域之间的“消息传递”来学习节点嵌入。这些方法非常强大,并且正在使用中。
因此,图结构数据富含信息,特别是有助于捕捉不同实体之间复杂关系的信息。能够有效利用这些信息的机器学习任务具有巨大的预测能力和良好的准确性。图机器学习在当今的各个行业中都找到了应用。
计算生物学中最具有挑战性的问题之一,预测折叠蛋白质的3D结构的能力,几乎已经解决,部分归功于图机器学习。对于任何可以用图结构化的数据,都有使用图机器学习的范围。