近年来,由于图结构强大的表达能力,利用机器学习方法分析图的研究越来越受到关注。图神经网络(GNN)是一类用于处理图域信息的基于深度学习的方法。由于其良好的性能和可解释性,被广泛应用于各个领域。在这篇文章中,机器学习研究科学家SergeiIvanov盘点了2021年你需要知道的GNN应用热点,涵盖推荐系统、组合优化、计算机视觉、物理/化学和药物发现等领域。推荐系统从用户与电子商务平台上的产品交互的上下文中绘制结构化数据,因此,许多公司采用GNN进行产品推荐。一个标准案例是对用户-项目交互进行建模,然后学习具有某种形式的负采样损失的节点嵌入,并使用KNN索引实时检索给定用户的相似项目。UberEats是最早使用此管道的公司之一,它通过GraphSage网络推荐食物和餐馆。此外,对于食物推荐,由于推荐的地理限制,生成的图相对较小,但一些公司已经成功地使用了数十亿边规模的GNN。中国零售巨头阿里巴巴在拥有数十亿用户和产品的网络上使用图嵌入和GNN。构建这样一个图可能是一场工程噩梦,但对于最近的Aligraph管道,构建一个具有4亿个节点的图只用了五分钟。Aligraph支持高效的分布式图存储、优化的采样算子和大量内部GNN。它目前部署在阿里巴巴的多个产品中,用于推荐和个性化搜索。阿里巴巴、亚马逊和许多其他电子商务公司使用GNN来增强其推荐系统的能力。类似地,Pinterest提出了PinSage模型,该模型使用个性化的PageRank来有效地采样邻域并通过在每个邻域中聚合来有效地更新节点嵌入。他们的后续产品PinnerSage进一步扩展了架构以处理多个嵌入问题以满足不同的用户需求。这些只是该领域的几个著名示例(您还可以查看亚马逊关于知识图谱和GNN的研究或FabulaAI使用GNN进行假新闻检测的研究,但很明显,如果来自用户交互的信息足够强大,GNN将在推荐系统问题上取得好的结果)。组合优化组合优化(CO)问题的解决方案是金融、物流、能源、生命科学和硬件设计的关键。这些问题中的大多数都以图形方式表示。因此,上个世纪的许多研究都集中在更有效地解决CO问题的算法上;然而,现代计算中由机器学习驱动的革命为解决此类问题提供了一种引人注目的新方法。GoogleBrain团队使用GNN为新硬件(例如Google的TPU)优化芯片的功耗、面积和性能。计算机芯片可以理解为由内存和逻辑组件组成的图形,每个组件都由其组件的坐标和类型表示。在遵守密度和布线拥塞约束的同时确定每个组件的位置是一个费力的过程,这仍然是电气工程师的首要任务。GoogleBrain团队使用GNN模型结合策略和奖励强化学习(RL)功能来生成优化的电路芯片布局,其性能甚至优于手工设计的硬件布局。与国际象棋和围棋相比,芯片布局的复杂性。另一种方法采用不同的方法,将ML模型集成到现有的求解器中。例如,在论文《Exact Combinatorial Optimization with Graph Convolutional Neural Networks》中,Gasse等人。提出用于学习分支定界变量选择策略的图网:混合整数线性规划(MILP)求解器中的关键步骤。通过这种方式,学习到的表征会尽量减少求解器的运行时间,并在推理时间和决策质量之间取得良好的平衡。在DeepMind和Google《Solving Mixed Integer Programs Using Neural Networks》最近的一项研究中,图形网络被用于MILP求解器中的两个关键子任务:联合变量分配和约束目标值。他们提出的神经网络方法在包括Google的生产包装和规划系统在内的庞大数据集上比现有求解器快2到10倍。有关此主题的更多信息,请参阅《Reinforcement Learning for Combinatorial Optimization: A Survey》等评论文章。计算机视觉由于世界上的所有对象都紧密相连,因此包含这些对象的图像也可以从GNN中受益。感知图像的一种方法是通过场景图(论文《Scene Graph Generation by Iterative Message Passing》),图像中出现的对象的集合以及它们之间的关系。场景图已被用于图像检索、理解和推理、字幕生成、视觉问答和图像生成,这种方法可以大大提高模型的性能。在Facebook的论文《Specifying Object Attributes and Relations in Interactive Scene Generation》中,研究人员可以将来自CV数据集COCO的对象放置在画布中,并指定对象的位置和大小以创建场景图。然后,他们使用GNN对图像进行编码以确定每个对象的嵌入,然后将其与CNN一起使用以生成对象的掩码、边界框和外观。最后,用户可以轻松地在图中添加新节点(指定节点的相对位置和大小),使GNN/CNN使用这些对象生成图像。使用场景图生成图像。CV中图像的另一个来源是两个相关图像的匹配,这是过去用手工描述符实现的经典问题。3D图形公司MagicLeap发布了一种名为SuperGlue的GNN架构,可在实时视频中执行模式匹配,用于3D重建、位置识别、定位和映射(SLAM)等任务。SuperGlue由一个基于注意力的GNN组成,它学习图像关键点的表示,然后将其输入匹配的最佳传输层。该模型在现代GPU上实时执行匹配,可以轻松集成到现代SLAM系统中。有关图形和计算机视觉交叉的更多信息,请查看评论文章《Computing Graph Neural Networks: A Survey from Algorithms to Accelerators 》。物理/化学生命科学受益于将粒子或分子之间的相互作用表示为图形,然后使用GNN来预测此类系统的特性。在Facebook和CMU的OpenCatalystProject中,最终目标是找到新的方法来存储可再生能源,例如太阳能或风能。一种可能的解决方案是通过化学反应将这种能量转化为其他燃料,例如氢气。然而,这需要发现能够高速驱动化学反应的新型催化剂,而DFT等已知方法成本高昂。OpenCatalyst项目开源了最大的Catalyst数据集之一以及DFT松弛和GNN基准方法。目标是找到新的高效低成本催化剂分子。吸附物(小连接分子)和催化剂表面的初始和松弛状态的示例。DeepMind的研究人员还应用GNN来模拟复杂粒子系统(例如水或沙子)的动力学。通过预测每个粒子在每一步的相对运动,可以合理地重建整个系统的动力学,并进一步了解支配运动的基本规律。例如,这种方法已被用于理解玻璃化转变,这是固态理论中最有趣的未解决问题之一。使用GNN不仅可以模拟转换的动力学,还可以更好地理解粒子如何根据距离和时间相互作用。此外,位于美国的物理实验室费米国家加速器实验室(Fermilab)正致力于迁移GNN以分析CERN大型强子对撞机(LHC)的结果。目标是处理数百万张图像并选择可能与发现新粒子相关的图像。他们的任务是在FPGA上实现GNN,并将其与数据采集处理器集成,以便它可以在世界任何地方远程运行。有关GNN在粒子物理学中的更多应用,请查看JonathanShlomi等人的论文《Graph Neural Networks in Particle Physics》。药物发现制药公司每年投入数十亿美元进行研发,以寻找药物开发的新模式。在生物学中,图可以表示为不同尺度的相互作用。在分子水平上,图的边可以是分子中原子之间的键或蛋白质中氨基酸残基之间的相互作用。在更大的范围内,图表可以表示更复杂的结构(例如蛋白质、mRNA或代谢物)之间的相互作用。根据具体的抽象层次,这些图可用于目标识别、分子特性预测、高通量筛选、新药设计、蛋白质工程和药物再利用等领域。基于GNN的药物发现时间表。Gaudelet等人,2020也许GNN最有希望用于药物发现的是麻省理工学院研究人员和合作者在《细胞》(Cell)上发表的2020年文章《A Deep Learning Approach to Antibiotic Discovery》。在这项研究中,他们提出了一个名为Chemprop的深度GNN模型来预测分子是否具有抗生素特性:对大肠杆菌的生长抑制作用。在仅使用FDA批准的药物库中的约2,500个分子对其进行训练后,Chemprop被应用于更大的数据集,包括包含Halicin分子的DrugRepurposedHub。值得注意的是,之前只研究过Halicin分子,因为它的结构与已知的抗生素有很大不同。然而,在实验室进行的体内和体外临床试验都证明,Halicin是一种广谱抗生素。针对强大的NN模型的广泛基准证明了使用GNN学习Halicin发现中的特征的重要性。除了这项研究的实用性之外,Chemprop架构值得更多关注。与其他GNN模型不同,Chemprop有5层和1600个隐藏维度,在此类任务上的参数远多于典型的GNN。当然,这只是人工智能即将被发现的为数不多的新药之一。有关此主题的更多结果,请查看最近的评论文章《Utilising Graph Machine Learning within Drug Discovery and Development》和博客文章《What 2021 holds for Graph ML?》。
