在今年初,感觉Graph神经网络(GNN)成为互联网圈的流行语。作为这个领域的研究人员,我为自己的工作感到自豪(至少不感到羞愧)。但并非总是如此:三年前,忙于研究GAN和Transformers,我对它们的总体印象是我正在研究特殊的通用的问题。嗯,这个领域已经相当成熟了,在这里我建议看看我们最近拥有的GNN的顶级应用。
推荐系统
自然地,图是在用户与电子商务平台中的产品交互的上下文中出现的,因此,有许多公司采用GNN进行产品推荐。一个标准的用例是在用户和物品图之间建模交互,以某种形式的负采样损失函数学习节点embedding,并使用kNN索引实时检索,为给定用户的推荐类似物品。最早使用此管道的公司是Uber Eats,该公司通过GraphSage网络推荐食品和餐馆。
在食品推荐的情况下,由于推荐的地理限制,所获得的图表相对较小,但一些公司以数十亿个边缘的规模使用GNN。中国零售业巨头阿里巴巴在拥有数十亿用户和产品的网络上学习产品图embedding和GNN。即使构建这样的图也可能是工程上的噩梦,但是对于最近的Aligraphpipeline而言,仅需五分钟即可构建具有400M节点的图。相当令人印象深刻,呵呵。Aligraph支持高效的分布式图形存储,优化的采样运算符以及大量内部GNN。当前已部署它用于公司中多个产品的推荐和个性化搜索。
阿里巴巴,亚马逊和许多其他电子商务公司使用GNN来增强推荐系统。
同样,Pinterest提出了PinSage模型,该模型使用个性化PageRank有效地对邻域进行采样,并通过聚合每个邻域来有效地更新节点embedding。他们的后续PinnerSage扩展了此框架,以处理多embedding内容,以建模用户的不同喜好。这些只是该领域中的几个著名示例(您也可以在亚马逊上学习有关知识图和GNN或Fabula AI使用GNN进行假新闻检测的研究),但是很明显,如果信号来自用户的互动意义重大。
组合优化(Combinatorial Optimization)
组合优化(CO)问题的解决方案是金融,物流,能源,生命科学和硬件设计中许多重要应用程序的主力军。这些问题大多数都是用图表来表述的。结果,在过去的一个世纪中,大量的时间被投入到可以更有效地解决CO问题的算法方法上。然而,机器学习驱动的现代计算革命为学习解决此类问题的方法提供了一种引人注目的新方法。
Google Brain团队使用GNN优化了新硬件(例如Google的TPU)的芯片块的功率,面积和性能。可以将计算机芯片划分为内存和逻辑组件的图形,每个图形均由其坐标和类型表示。在遵守密度和布线拥塞的限制的同时,确定每个组件的位置是一项费力的过程,这仍然是电气工程师的工作。他们的GNN模型与策略和价值RL功能结合在一起,能够为匹配或优于手动设计的硬件的电路芯片生成优化的布局。
与Chess and Go相比,Chip Placement问题的复杂性
另一种方法采用不同的途径,并将ML模型集成到现有求解器中。例如,Gasse等提出了一种图网络,用于学习分支和边界变量选择策略:混合整数线性程序(MILP)求解器中的关键步骤。这样,学习到的表示试图使求解器的运行时间最小化,并已证明是推理时间与决策质量之间的良好折衷。
在DeepMind和Google的最新工作中,图形网用于MILP求解器中涉及的两个关键子任务:联合变量分配和限制目标值。他们的神经网络方法比包括Google生产包装和计划系统在内的庞大数据集的现有求解器快2–10倍。有关此主题的更多结果,你可以参考几个最近的调查是讨论GNNS,ML,和CO的更深度的结合。
计算机视觉
由于世界上的对象之间有着深深的联系,因此包含这些对象的图像也可以从GNN中受益。感知图像的一种方法是通过场景图,即场景中存在的一组对象以及它们之间的关系。场景图已在图像检索,理解和推理,字幕,视觉问题解答以及图像生成中得到了应用,表明它可以极大地提高模型的性能。
在Facebook的作品中,可以将流行的CV数据集COCO中的对象放在画布中,指定对象的位置和大小,并从中创建场景图。然后,使用GNN对图形进行编码以确定每个对象的embedding,然后将其与CNN一起使用以生成对象的蒙版,边界框和外观。结果,最终用户可以简单地在图形中添加新节点(指定该节点的相对位置和大小)以供GNN / CNN生成带有这些对象的图像。
使用场景图生成图像。用户可以将对象放置在画布上的任何位置(红色的“河”;从中心移到右下角)以反映图像的变化(图像中生成的河流也移到右下角)。
CV中图形的另一个来源是两个相关图像的匹配,过去是手工标记来完成的一个经典问题。3D图形公司Magic Leap发布了一种名为SuperGlue的GNN体系结构,该体系结构可在实时视频中执行图形匹配,用于完成3D重建,位置识别,本地化和制图(SLAM)等任务。SuperGlue由一个基于注意力的GNN组成,该GNN学习图像关键点的表示形式,这些图像关键点被进一步馈送到进行匹配的最佳传输层中。该模型可以在现代GPU上实时执行匹配,并且可以轻松集成到现代SLAM系统中。有关图形与计算机视觉相交的更多详细信息,请查看以下内容 调查:https://arxiv.org/abs/2010.00130
物理/化学
生命科学受益于将粒子或分子之间的相互作用表示为图形,然后使用GNN预测此类系统的属性。在Facebook和CMU的Open Catalyst项目中,最终目标是找到新的方法来存储可再生能源,例如来自太阳或风的能量。潜在的解决方案之一是通过化学反应将这种能量转换成其他燃料,例如氢气。然而,这需要发现能以高速率驱动化学反应的新催化剂,并且诸如DFT之类的已知方法非常昂贵。Open Catalyst项目打开最大的催化剂数据集,其DFT和GNN基准。希望找到新的低成本分子,这些分子可以增加目前耗时数日的昂贵模拟,并且需要有效的ML能量和分子力的ML近似值(可能需要数毫秒)。
吸附物(小连接分子)和催化剂表面的初始状态和松弛状态的示例。为了找到一对吸附剂催化剂的松弛状态,必须执行昂贵的DFT模拟,这可能需要几天的时间。
DeepMind的研究人员还应用GNN来模拟复杂粒子系统(例如水或沙子)的动力学。通过在每个步骤中预测每个粒子的相对运动,可以合理地重建整个系统的动力学,并进一步了解有关控制运动的基本定律。例如,这用于理解玻璃化转变,这是固态理论中最有趣的未解决问题之一。使用GNN不仅可以模拟过渡过程中的动力学,还可以更好地理解粒子如何根据距离和时间相互影响。
此外,位于美国的物理实验室Fermilab致力于将GNN转移到CERN的大型强子对撞机(LHC)进行生产。目标是处理数百万个图像并选择与发现新粒子有关的图像。他们的任务是在FPGA上实现GNN,并将它们与数据采集处理器集成在一起,这将允许在全球范围内远程运行GNN。有关GNN在粒子物理学中的更多应用,请查看此最新调查:https://arxiv.org/abs/2007.13681
药物发现
凭借数十亿美元的研发和激烈的竞争,制药公司在激烈地寻找药物开发的新范例。在生物学中,图可以表示各种规模的相互作用。在分子水平上,边缘可以是分子中原子之间的键或蛋白质中氨基酸残基之间的相互作用。在更大的范围内,图形可以表示更复杂的结构(例如蛋白质,mRNA或代谢物)之间的相互作用。根据特定的抽象级别,这些图可用于目标识别,分子特性预测,高通量筛选,新型药物设计,蛋白质工程和药物再利用。
在GNN的不同应用中发现药物的时间表
也许,使用GNN进行药物发现的最有希望的结果之一是麻省理工学院的研究人员及其合作者发表在Cell(2020)上。在这项工作中,训练了一个名为Chemprop的深层GNN模型,以预测分子是否具有抗生素特性:对细菌大肠杆菌的生长抑制作用。在仅使用FDA批准的药物库中的约2500个分子对其进行训练后,Chemprop就被应用于更大的数据集,包括包含分子Halicin的Drug Repurposed Hub,该名称从“ 2001:太空漫游”电影中的HAL 9000重命名。
值得注意的是,以前仅对Halicin分子进行过研究,因为其结构与已知的抗生素相差很大。但是,实验室的体内和体外临床实验表明,Halicin是一种广谱抗生素。针对强大的NN模型进行的广泛基准测试凸显了在Halicin的发现中使用GNN学习的功能的重要性。除了这项工作的实用性之外,Chemprop的体系结构还应引起更多关注:与许多GNN模型不同,Chemprop具有5层和1600个隐藏维,远远超过了用于此类任务的典型GNN参数。希望这只是即将到来的人工智能新医学中为数不多的发现之一。有关此主题的更多结果,请查看最近的调查(https://arxiv.org/abs/2012.05716)和博客文章 研究了药物发现领域中更多的GNN应用。