热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图神经网络的困境,用微分几何和代数拓扑解决

来源:机器之心本文约3000字,建议阅读5分钟本文展示了如何使用这些领域的工具重新解释图神经网络并解决一些常见困境。微分几何和代数拓扑在主流机器学习

0f15bb8360626817523fe6f35b22fd41.png

来源:机器之心
本文约3000字,建议阅读5分钟
本文展示了如何使用这些领域的工具重新解释图神经网络并解决一些常见困境。

微分几何和代数拓扑在主流机器学习中并不常见。在本系列文章中,作者展示了如何使用这些领域的工具重新解释图神经网络并解决一些常见困境。

1d9706d4ec525f4dda7d8b796370c5b1.png

本文的作者是 Twitter 首席科学家、DeepMind 人工智能教授 Michael Bronstein。以下是博客原文。

对称,无论从广义还是狭义的角度讲,都是人类一直以来试图理解和创造秩序与美的一种观念。

——Hermann Weyl

Hermann Weyl 这种诗意的描述强调了对称性在科学中的基石作用。Felix Klein 在 1872 年的「Erlangen Programme」中用对称群表征几何。这不仅是数学上的一个突破,即统一了「几何大家庭」,还推进了现代物理理论的发展,这些理论可以完全从对称性的第一原理推导出来。几何深度学习领域也出现了类似的原则,通过群不变性和等变性能够推导出大多数流行神经网络架构的通用蓝图。

f0e63a8e2f0a7ada57e9dab467acdfa9.png

图神经网络可以被认为是几何深度学习蓝图的一个特例,其构建模块是具有对称群的域(在这种情况下是具有置换群的图)、域上的信号(节点特征)和此类信号的群等变函数(消息传递)。

几何深度学习蓝图可以应用于不同的领域,例如 grid、mesh 或图 (graph)。然而,前两者具有明确的连续形式的类比对象,grid 可以被认为是欧几里得空间或更一般的均匀空间(如球体)的离散化,mesh 则是二维流形的常见离散化),图却没有直接的连续形式的类比。这种不可类比有点令人不安,因此我们决定仔细研究用于图学习的连续模型。

58a770d4901f2719d28c282b210d2a60.png

图神经网络扩散。图神经网络 (GNN) 通过在图上执行某种形式的消息传递来学习。其中,特征通过边从一个节点传递到另一个节点。这种机制与图上的扩散过程有关,可以用称为「扩散方程」的偏微分方程 (PDE) 形式表示。我们最近在一篇论文中展示了这种具有非线性可学习扩散函数的 PDE 的离散化(称为 GRAND),泛化了一大类 GNN 架构,例如图注意力网络(GAT。

PDE 的思维方式提供了多种优势,例如可以利用兼具稳定性和收敛性的高效数值求解器(例如隐式、多步、自适应和 multigrid 方案)。其中一些求解器在流行的 GNN 架构中没有直接的类比,可能会促成一些新型图神经网络设计。由于我们考虑的扩散 PDE 可以看作是一些相关能量的梯度流 ,因此这种架构可能比典型架构更易于解释。

同时,虽然 GRAND 模型提供连续时间来代替传统 GNN 中的层,但方程的空间部分仍然是离散的,并且依赖于输入图。重要的是,在这个扩散模型中,域(图)是固定的,其上定义的某些属性会演化。

微分几何中常用的一个不同概念是几何流(geometric flow),域本身的属性不断演化。我的博士生导师 Ron Kimmel 等研究者 20 世纪 90 年代在图像处理领域就采用了这个想法。他们将图像建模为嵌入在联合位置和颜色空间中的流形,并通过 PDE 对它们进行推导演化,以最小化嵌入的谐波能量。这样的偏微分方程称为贝尔特拉米流(Beltrami flow),具有各向同性非欧几里得扩散的形式,并产生保边图像去噪。

我们将这种范式应用于「Beltrami 神经扩散(BLEND)」框架中的图。图的节点现在由位置坐标和特征坐标来表征,这两个坐标都是经过演化的,并且都决定了扩散性。在这种思维模式下,图本身就变成了一个辅助角色:它可以从位置坐标生成(例如作为 k - 最近邻图)并在整个演化过程中重新连接。下图说明了这种同时演化的过程。

ebaddfb783fca609b3cea8aea2201b0b.gif

图的表达能力

在最近的工作中,人们对图神经网络(GNN)的表达能力给予了极大的关注。消息传递的 GNN 等价于 Weisfeiler-Lehman 图同构测试(一种通过迭代颜色细化来确定两个图是否在结构上等价 (同构) 的经典方法)。这个检验是一个必要但不充分条件:事实上,一些非同构图可能会通过 Weisfeler-Lehman 测试。下图说明了 GNN 传递消息过程中该测试「看到」了什么:两个高亮显示的节点看起来没有什么区别,然而这两个图显然具有不同的结构:

dda4a26216916ff4b4f25d3f6e2fd879.png

位置编码。解决这个问题的一个常见方法是通过为节点分配一些额外的特征来给节点「着色」,这些特征保证了图中节点的角色或「位置」。由于位置编码在 Transformer 中已得到普及,因此位置编码成为增加图神经网络表达能力的常用方法。 

cba8ed656d2a235505afe06ceca9163f.png

位置编码为图的节点分配了额外的特征,允许消息传递获得比 Weisfeiler-Lehman 测试更高的表达能力。然而,对于位置编码,并没有一个「规范」的选择。 

也许最直接的方法是赋予每个节点一个随机特征;然而,这种方法虽然可以更具表达性,但泛化能力较差(因为不可能在两个图中重现随机特征)。图拉普拉斯算子的特征向量提供了图的领域保持嵌入,并已成功用作位置编码。最后,我们(与 Giorgos Bouritsas 和 Fabrizio Frasca 合著)在一篇论文中表明,图的子结构计数可以用作位置或「结构」编码的一种形式,这说明它比基本的 Weisfeiler-Lehman 测试更强大。

然而,位置编码有多种选择,如何选择以及哪种方法在哪种情况下效果更好,都没有明确的答案。我相信像 BLEND 这样的几何流可以根据这个问题来解释:通过非欧几里得扩散来演化图的位置坐标,位置编码可以适用于下游任务。因此,答案是「视情况而定」:最佳位置编码是手头数据和任务的函数。

高阶消息传递。表达性的另一种选择是放弃根据节点和边来考虑图,而是把图看作单元复合体(cell complex)对象的示例,单元复合体是代数拓扑领域的主要研究对象之一。在这种方法中,节点是 0-cell,边是 1-cell。不必止步于此:我们可以构造如下图所示的 2-cells(面),这使得上述示例中的两个图可以完美区分:

9b241b622a5cad609123937b97fd9ab7.png

在我最近与 Cristian Bodnar 和 Fabrizio Frasca 合作的两篇论文中,我们表明可以构建一个「提升变换」,用高阶单元来增强图,从而在这些单元上可以执行更复杂的分层消息传递形式。该方案可被证明比 Weisfeiler-Lehman 测试的表达能力更强,并且在计算化学领域给出了有望的结果:比建模为图,建模为单元复合体表现更好。

「over-squashing」现象

GNN 的另一个常见问题是「over-squashing」现象,或者由于输入图的某些结构特征,消息传递无法有效地传播信息。oversquashing 通常发生在体积呈指数增长的图中,例如小世界网络以及依赖于远程信息的问题。换句话说,GNN 作用的输入图并不总是对消息传递友好。 

cfd48adecec783cd38fdc597ee892037.png

「小世界」图中快速增长的邻居数量通常是 GNN 中观察到的过度挤压现象的根源。

从实验可以观察到,将输入图与计算图解耦并允许在不同的图上传递消息有助于缓解这一问题。这种技术通常被称为「图重新布线(graph rewiring)」。

事实上,许多流行的 GNN 架构都实现了某种形式的图重构,可以采用邻域采样(最初在 GraphSAGE 中提出以应对可扩展性)或多跳滤波器的形式。上面讨论的拓扑消息传递也可以看作是重新布线的一种形式,远距离节点之间的信息流可以认为是通过高阶单元的「捷径」。Alon 和 Yahav [23] 表明,即使像使用全连接图这样简单的方法也可能有助于改善图 ML 问题中的 over-squashing。

Klicpera 等研究者宣称「扩散改进了图学习」,提出了一个通用的 GNN 预处理步骤(DIGL),包括通过扩散过程来去噪图的连通性。总体而言,尽管进行了重要的实验研究,但 over-squashing 现象一直令人难以捉摸。我们最近在一篇论文中表明:导致 over-squashing 的瓶颈可归因于图的局部几何特性。具体来说,通过定义 Ricci 曲率的图类比,我们可以证明罪魁祸首是 negatively-curved 边。因此出现了一种类似于「反向 Ricci 流」的图重新布线过程,该过程去除有问题的边并生成一个更易于消息传递的图,同时在结构上与输入图相似。

be6eddd7f13fbf0fea6ca2b882e9db44.png

使用基于扩散的方法(DIGL,中)和基于曲率的方法(Ricci,右)重新连接康奈尔图(左)的示例。基于曲率的方法显著减少了瓶颈,同时更接近于原始图结构。

总结

这些例子表明,微分几何和代数拓扑为图机器学习中重要且具有挑战性的问题带来了新的视角。在本系列的后续文章中,我将更详细地展示如何使用这些领域的工具来解决上述图神经网络问题。第二部分将讨论代数拓扑如何提高 GNN 的表达能力。第三部分将讲解几何扩散偏微分方程。第四部分将展示 over-squashing 现象与图曲率有何相关,并提供一种受 Ricci 流启发的图重新布线的新型几何方法。

编辑:于腾凯

校对:林亦霖

5e88815613268e56ba491e43e41a55f9.png

b4e583f476330737ed2e542af6c1a121.png



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
author-avatar
乌鸦_Hrt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有