什么是几何深度学习?

人工智能 深度学习 定义 几何深度学习 图表 图神经网络
2021-11-04 20:19:24

什么是几何深度学习 (GDL)?

这里有几个子问题

  • 它与深度学习有何不同?
  • 为什么我们需要 GDL?
  • GDL 有哪些应用?
3个回答

为了完成第一个相当面向图的答案,我将写一些关于流形的深度学习,由于流形的性质,这在 GDL 方面非常普遍。

请注意,通过解释什么是图和流形上的 DL 来描述 GDL,与欧几里得域上的 DL 相反,来自 2017 年的论文几何深度学习:超越欧几里得数据(这篇论文非常擅长阐明直觉和我正在写的数学)。

1. 如果你不知道什么是流形

正如之前引用的论文所说:

粗略地说,流形是一个局部欧几里得的空间。最简单的例子之一是模拟我们星球的球面:围绕一个点,它似乎是平面的,这导致几代人相信地球是平坦的。正式地说,(可微分的)d 维流形 X 是一个拓扑空间,其中每个点 x 都有一个邻域,该邻域在拓扑上与 d 维欧几里得空间等价(同胚),​​称为切空间。

关于 stats.stackexchange的其他非技术性很好的解释

其他维基百科例子来发展不太抽象的理解

简而言之,这是一个有趣的数学集合(存在不同的类型,请参阅此答案末尾的论文以了解与 DL 相关的流形用途)。通过工作,您通常可以理解您将神经网络参数限制在您选择的流形上(例如,在geomstats 论文示例中,使用限制在超球面上的参数进行训练)。

您的数据也可以通过实用的歧管来表示。例如,您可以选择通过使用对称正定 (SPD) 矩阵表示样本来处理图像和视频(参见本文),SPD 矩阵的空间本身就是一个流形。

2. 为什么要费心学习流形?

定义一个更清晰/更好适应的集合(理解这是一种约束!)在其上学习参数和特征可以更简单地正式理解你的模型在做什么,并且可以带来更好的结果。我将其视为深度学习形式化努力的一部分。可以说您正在为您的任务寻找最佳信息几何,即最能捕捉所需数据分布属性的信息。为了发展这种直觉,请考虑使用太阳系类比来对这个 Kaggle 内核进行流形学习

也许这里有一个很好的类比是太阳系:我们的行星表面是我们感兴趣的流形,每个数字一个。现在假设您在地球表面,这是一个 2 流形,并且您开始沿随机方向移动(假设重力不存在并且您可以穿过固体物体)。如果你不了解地球的结构,你很快就会发现自己身处太空或地球内部。但是,如果您改为在当地地球(例如球面)坐标内移动,您将留在地表并看到所有很酷的东西。

这个类比让我们想起了上面已经引用的布朗斯坦论文中的球面行星模型。本文还描述了流形有趣的典型案例:图(非欧几里得数据上的 GDL/DL 的另一个示例)更擅长处理来自社会或传感器网络的数据,流形擅长建模具有以下属性的 3D 对象计算机视觉中的颜色纹理。

3.关于流形上的深度神经网络

我建议阅读geomstats 相关论文,它很好地展示了它是什么以及如何使用它,以及示例代码(例如此处的超球体流形示例代码上的 MNIST 这个库在 Keras 上实现了流形和相关的指标。度量的选择对于理解在流形上工作的要点至关重要:这是因为您需要使用经过调整的数学集(具有正确的属性)和经过调整的距离定义(以便在考虑问题时度量实际上意味着什么)您正在尝试解决)您切换到在歧管上工作。

如果你想深入了解流形深度学习的细节和示例,这里有一些论文:

4. 为什么是黎曼流形?

TL;DR:您需要一个指标来进行机器学习(否则,您如何评估您实际学到了多少!)

仍然基于布朗斯坦的论文

在每个切线空间上,我们定义了一个内积 [...]。这种内积在微分几何中称为黎曼度量,允许对角度、距离和体积进行局部测量。配备度量的流形称为黎曼流形。

5. 黎曼流形和欧几里得空间有什么关系?

仍然基于布朗斯坦的论文

通过使用欧几里得空间的结构来导出黎曼度量,黎曼流形可以实现为欧几里得空间的子集(在这种情况下,它被称为嵌入该空间中)。

我把细节留给论文,否则这个答案永远不会结束。

6. 评论中的问题解答

只有在我认为我找到了一个比较有说服力的答案时才会回答,所以不会一次回答所有问题。

  • 流形学习不只是一种降维方式吗?

我不这么认为,不仅如此在我读过的论文中(再次参见 geomstats),我还没有看到任何降维约束(还没有?)。

hypersphere/MNIST geomstats 代码示例中,您可以看到选择的流形维度hypersphere_dimension = 17由于我们正在使用 MNIST 数据,我想这意味着在这种特殊情况下会减少维度。我承认我需要准确检查该维度对神经网络架构的含义,我还没有讨论我对此的理解。

免责声明

我仍在对流形进行更严格的数学理解,并将更新这篇文章以做出额外的必要澄清:在传统深度学习环境中究竟什么可以被视为流形,为什么我们在谈论流形时使用流形这个词自动编码器的隐藏状态(参见前面引用的 Kaggle 内核,其中引用了 Goodfellow 的书)。如果之前没有在这里出现完全明确的答案,所有这一切!

几何深度学习:超越欧几里得数据(Michael M. Bronstein、Joan Bruna、Yann LeCun、Arthur Szlam、Pierre Vandergheynst)一文概述了深度学习这个相对较新的子领域。它回答了上面提出的所有问题(以及更多)。如果你熟悉深度学习、图、线性代数和微积分,你应该可以关注这篇文章。

什么是几何深度学习(GDL)

本文对 GDL 的描述如下

几何深度学习是试图将(结构化)深度神经模型推广到非欧几里得领域(如图形和流形)的新兴技术的总称。

因此,这些 GDL 模型的输入是图(或图的表示),或者通常是任何非欧几里得数据更具体地说,这些模型(例如图神经网络)的输入是例如与图的节点相关联的特征向量和描述图结构的矩阵(例如图的邻接矩阵)。

为什么例如图是非欧几里得数据?

图是非欧几里得结构,因为例如节点之间的距离没有很好地定义。是的,您可以拥有与边关联的权重的图,但并非所有图都具有此属性。

GDL 解决了哪些类别的问题?

在 GDL 中,经常解决两类问题:

  1. 表征数据的结构(例如图形)
  2. 分析在给定非欧几里得域上定义的函数

这些类别的问题是相关的,因为图的结构将某些属性强加在可以在其上定义的函数上。此外,这些函数的这些属性还可以传达有关图结构的信息。

GDL 的应用有哪些?

出现此类数据(图)的应用示例是在社交网络的上下文中,其中每个用户都可以与社交图的一个顶点和每个用户的特征(或特征)相关联(例如朋友的数量) ) 可以表示为特征向量(然后可以与图的相应顶点相关联)。在这种情况下,目标可能是例如确定社交网络中的不同用户组(即聚类)。

当数据不是欧几里得时,为什么我们不能简单地使用深度学习方法(如 CNN)?

处理非欧几里得数据时会出现几个问题。例如,卷积之类的操作(通常)不是在非欧几里得数据上定义的。更具体地说,图上没有定义节点的相对位置(但这将是执行通常的卷积操作所必需的):换句话说,谈论例如在另一个顶点左侧的顶点是没有意义的。在实践中,这意味着当我们得到非欧几里得数据时,我们不能简单地使用通常的 CNN。已经尝试将卷积操作推广到图(或近似它)。这个领域还很新,所以肯定会有新的发展和突破。

我没有深入阅读这篇论文,但在网络设计中假设欧几里得空间的一个例子是在图像处理中使用 ConvNets。

具体来说,欧几里得空间是变换不变的,这意味着d(a,b)=d(a+c,b+c). 每个卷积层以一定的步幅对图像进行迭代,保证一定的平移不变性以换取更小尺寸的网络参数。

ConvNets 不会天真地用于来自例如图的数据集,因为作为一个可能的例子,它不清楚如何跨过它。