图神经网络(Graph Neural Networks,GNN)在物理、化学、生物、文本、视觉、社交、推荐系统、交通、制造等交叉学科领域有着广阔的应用前景。
GNN应用分为节点分类、图分类、网络嵌入、节点聚类、链接预测、图生成、时空图预测和图分割。不同学科领域的图形态表示如下:
GNN应用的更详细列表如下:
1. 物理——粒子物理学
在 FermiLab 中,研究人员实施 GNN 来分析大型强子对撞机上 CMS 探测器产生的图像,以识别用于粒子物理实验的有趣粒子。
1. 物理——水的状态变化模拟
使用基于图形网络的模拟器模拟现实世界的物理变化
2. 化学——分子结构
在化学中,研究人员应用图神经网络研究分子的图结构。在分子图中,原子为图中的节点,化学键为图中的边。节点分类、图形分类和图形生成是分子图的三个主要任务,它们可以用来学习分子指纹、预测分子性质、推断蛋白质结构、合成化合物。
Open Catalyst Project是另一个使用 AI 发现用于可再生能源存储的新催化剂的例子。
下图是从现有的分子结构数据库(包括现有的 FDA 批准的药物)中应用 AI 开发新药和疫苗的另一个视图。例如,癌症的治愈可能取决于对特定癌细胞特异性抗原的设计。从已经批准的药物开始,它可能会缩短发现过程,因为毒理学筛选可能已经进行了研究。在对分子结构进行建模时,下面展示的许多 AI 组件可以用 GNN 技术代替。
3. 生物——AlphaFold 2蛋白质合成
AlphaFold是由DeepMind开发的 AI 系统,可根据氨基酸序列预测蛋白质的 3D 结构。它经常达到与实验竞争的准确性。
3. 生物——药物发现和合成化合物
开发一种药物的成本超过 10 亿美元,并且跨越 12 年或更长时间。因此,如果它可以缩短药物发现以获得更好的候选药物和生物标志物发现阶段,那么它在应用 AI 方面具有商业可行性,该阶段总共可以超过 8 年。
DNN 可以在数十万种化学结构上进行训练,以对分子进行编码和解码,以及构建从潜在表示中估计化学性质的预测器。例如,我们可以学习自动编码器来编码分子的图形表示,然后用解码器重建分子。训练目标是学习最小化重建损失的潜在表示。这些潜在表示允许研究人员通过扰乱已知化学结构或在分子之间插值在潜在空间中执行简单操作来自动生成新的化学结构。我们还可以使用这种潜在表示来预测与另一个 DNN(下面的绿色网络)的合成可访问性和药物相似性。
这是麻省理工学院的另一个项目,将深度学习应用于图形对象以发现新抗生素。
3. 生物——医学诊断与电子病历建模
医学本体可以用图来描述,例如,下图表示使用DAG(有向无环图)的本体。
为了在医学诊断中使用本体,我们可以为下图中的每个节点cᵢ学习一个网络嵌入gᵢ——这是通过注意力使用学习到的节点i及其父节点的嵌入e来计算的。为了做出诊断预测,如疾病类型或预测心力衰竭的机会,我们将本体知识G与当前访问信息xt相乘,并使用 NN 网络进行最终预测。该模型可以通过使用 RNN 网络而不是简单的 NN 模型的先前访问信息来进一步增强。
以下是使用 t-SNE的最终表示gᵢ的散点图。如下所示,学习到的嵌入很好地归类为特定的疾病组。
GRAM+ 的最终表示 gi 的散点图
4. 社交网络——模拟 COVID 的传播
谷歌通过聚合 GPS 分析利用移动数据信息在节点(地点)之间创建时间和空间边缘,以模拟大流行期间人员的流动性。
借助 COVID 报告数据和 Google 移动数据,可以将它们结合起来模拟病毒的传播。例如,通过应用 GCN,它构建每个节点的潜在表示并进行节点级别的预测,例如 COVID 病例计数。
4. 社交网络——社会影响力预测
社会影响力预测侧重于朋友行为的影响,特别是在社交网络中。例如,如果一些社交网络朋友买了一件夹克,他/她也会买吗?使用社交图作为输入,DeepInf 为用户学习网络嵌入(一种潜在的社交表示)。结合下面 (d) 中的手工特征,它对社会影响进行预测,例如v是否也会观看广告剪辑(步骤 f)。在训练期间,它将其预测与基本事实进行比较以学习此网络嵌入。
4. 社交网络——推荐系统
基于图的推荐系统以项目和用户为节点。通过利用项目与项目、用户与用户、用户与项目之间的关系以及内容信息,基于图的推荐系统能够生成高质量的推荐。推荐系统的关键是评价一个项目对用户的重要性。因此,可以将其转换为一个链路预测问题。目标是预测用户和项目之间丢失的链接。为了解决这个问题,有学者提出了一种基于GCN的图形自动编码器。还有学者结合GCN和RNN,来学习用户对项目评分的隐藏步骤。
对象可以在视觉上相似,但实际上是完全不同的对象。例如,下面的第一行包含与左侧的预期图像查询完全不同的对象,即使它们在视觉上相似。
在 Pinterest 中,板将引脚连接在一起以形成图形。PinSage 是一个随机游走 GCN,它学习 Pinterest 图中节点(图像)的嵌入。由于图包含数十亿个对象,因此在如此巨大的图上执行卷积效率不高。相反,Pinterest 动态构建图表。它根据访问次数使用带有权重的抽样来模拟随机游走。这个过程构造了动态的和小得多的图。卷积稍后被应用于计算节点的嵌入。
在 Uber Eats 中,它使用GraphSage提出建议。
4. 社交网络——链接预测
链接预测预测网络中的两个节点是否可能具有链接。在推荐系统中,我们推荐高度“连接”的产品。
SEAL 在下面的 A 和 B 周围提取了一个局部封闭子图,省略了链接 AB。然后,使用 GNN 对模型进行训练,以预测这种链接是否存在。
5. 交通——流量预测
交通拥堵已成为现代城市的一个热点社会问题。准确预测交通网络中的交通速度、交通量或道路密度,在路线规划和流量控制中至关重要。有学者采用基于图的时空神经网络方法来解决这些问题。他们模型的输入是一个时空图。在这个时空图中,节点由放置在道路上的传感器表示,边由阈值以上成对节点的距离表示,每个节点都包含一个时间序列作为特征。目标是预测一条道路在时间间隔内的平均速度。
DCRNN 在交通流中结合空间(对道路的空间依赖性)和时间依赖性(不断变化的道路条件)来进行交通预测。道路上的传感器被建模为图中的节点。DCRNN 使用图上的双向随机游走捕获空间依赖性,使用编码器-解码器捕获时间依赖性。
另一个有趣的应用是出租车需求预测。这有助于智能交通系统有效利用资源,节约能源。
5. 交通——路径规化
Google DeepMind 还使用 GNN 来估计旅行时间并据此规划路线。
许多人使用谷歌地图之类的工具来了解即将到来的旅行的时间估计,他们是否正在赶飞机的路上,寻找一些新的咖啡馆等。但是,交通量和道路建设等因素可能会影响这些预测。谷歌团队使用图神经网络来降低错误预测的风险。
5. 交通——帮助自动驾驶汽车做出更好的决策
自动驾驶汽车尚未在所有地方广泛使用,但人们对它们如何使社会变得更好充满热情。例如,当汽车接近路口或行人接近十字路口时,GNN 会收集有关矢量关系的数据。图神经网络可能会使用这些数据来确定其他汽车的反应。当在交通中行驶时,汽车可能会因此做出更恰当的判断。更准确地说,自动驾驶汽车使用这些数据来提供有关周围环境的有价值的上下文提示。人类根据过去的经验自然地执行此操作。他们可以预测某些事情发生的可能性,即使它在现实生活中没有发生。
然而,自动驾驶汽车在运行时没有这样的基础。在这种情况下,“代理”是自动驾驶汽车环境中的汽车或人,周围是“场景”。研究人员将 GNN 结果与通过另一种形式的神经网络获得的结果进行了比较。他们发现,当每个场景有 50 个代理时,图神经网络的性能提高了 18%。
6. 视觉——姿势估计
在动作识别中,识别视频中包含的人类动作有助于从机器方面更好地理解视频内容。一组解决方案检测视频剪辑中人体关节的位置。由骨骼连接的人体关节自然形成图表。给定人类关节位置的时间序列,应用时空神经网络来学习人类行为模式。
ST-GCN 对其空间和时间邻居执行卷积以估计输入视频的位姿。
6. 视觉——场景图生成
在场景图生成中,对象之间的语义关系有助于理解视觉场景背后的语义含义。给定一幅图像,场景图生成模型检测和识别对象,并预测对象对之间的语义关系。另一个应用程序通过生成给定场景图的真实图像来反转该过程。自然语言可以被解析为语义图,其中每个词代表一个对象,这是一个有希望的解决方案,以合成给定的文本描述图像。
给定一张图像,我们可以生成一个场景图来描述图像中的对象及其关系。
下面的模型使用 GRU 生成场景图,并通过消息传递学习迭代地改进其预测。
F-net 使用自下而上的聚类方法将整个图分解为子图,其中每个子图包含多个对象及其关系的子集。通过使用分而治之的方法,中间阶段的计算量大大减少。
相反,我们可以根据场景图制作图像。
例如,使用现有图像,我们可以在图像的特殊区域生成一条河流。
6. 视觉——点云分类与分割
在点云分类和分割中,点云是激光雷达扫描记录的一组三维点。此任务的解决方案使激光雷达设备能够看到周围的环境,这通常有利于无人驾驶车辆。为了识别点云所描绘的物体,将点云转换为k-最近邻图或叠加图,并利用图论进化网络来探索拓扑结构。
像激光雷达这样的 3D 扫描仪会产生 3D 点云、3D 空间中物体的坐标表示,以及可能的颜色信息。
使用 GNN,我们可以分割数据点并使用下面的模型对它们进行分类。
以下是原始 3D 对象数据点的示例,以及它们如何被分割和分类以识别对象。
这是用于生成上述示例的 3D 分割的模型。
6. 视觉——人与物交互
GPNN 用图结构解释给定场景。例如,它将人和刀之间的链接标记为“舔”。
此外,图形神经网络在计算机视觉中应用的可能方向也在不断增加。这包括少镜头图像分类、语义分割、视觉推理和问答等。
7. 自然语言处理——文本分类
我们可以将 GNN 应用于主题文本分类,包括新闻分类、问答、搜索结果组织等应用……
在下面的模型中,它在原始文本上滑动一个三词窗口以创建一个词图。该图表示三个单词范围内的单词共现。然后它根据每个节点的排名(节点的连接数)从图中选择节点。对于每个节点,它使用广度优先搜索找到一个包含该节点和另外四个节点的 4 节点子图。子图将被排序,以便卷积可以一致地应用于所有子图。
下图是从这些子图中进行标签预测的架构。
7. 自然语言处理——序列标记
句子中的单词可以建模为图中的节点,我们可以计算每个节点的隐藏表示并使用它来标记序列(序列中单词的标签)。
潜在的应用包括 POS 标记、NER(命名实体识别)和语义角色标签(SRL)。SRL 为句子中的单词或短语分配标签,指示它们的语义角色,如下所示。
因此,给定一个谓词(“争议”一词),下面的模型识别并标记了它的所有论点。
7. 自然语言处理——关系提取
下图表示各种依赖关系,例如线性上下文(相邻单词)、句法依赖关系和话语关系。
这句话表明EGFR基因中具有L858E突变的肿瘤对药物吉非替尼有反应。如果我们将三元组定义为(药物、基因、突变),这些句子将表明三元组(吉非替尼、EGFR、L858E)具有“响应”关系。
在下面的架构中,句子中的单词使用单词嵌入进行编码。然后它使用图 LSTM 来学习每个单词的上下文表示。接下来,我们将单词(吉非替尼、EGFR、L858E)的上下文表示连接在一起。最后,我们使用关系分类器对这三个词的关系进行评分(分类)。所以“响应”关系(比如 R₄)应该有最高分。
8. 智慧制造——芯片设计
在芯片设计中,标准单元的布局和布线会影响芯片的功率、裸片尺寸和性能。谷歌展示了使用 GNN 和 Reinformance Learning 来优化单元放置。
芯片网表(节点类型和图邻接信息)图和要放置的当前节点通过一个 GNN 对输入状态进行编码。
这些嵌入与元数据嵌入(如电线总数)连接起来并馈送到 NN。输出是学习到的潜在表示,并作为强化学习中策略和价值网络的输入。策略网络为当前节点生成所有可能的单元放置的概率分布。然后,我们可以根据这个概率分布对动作进行随机抽样。
微信群
评论
沙发等你来抢