几何深度学习是个很令人兴奋的新领域,但是它的数学运算逐渐转移到代数拓朴和理论物理的范围。

在Cohen等人的论文《规范等变卷积网络和二十面体CNN》中,这种现象尤其明显。这篇论文也正是本文要探讨的对象。论文中使用了规范场理论的用辞,那些喜欢把“量子”和“场”两个词合起来使用的所有的物理学当中,规范场理论居于中心地位。论文承诺对规范场理论的基础知识提供一个直观的解读,其实,我也不得不承认,它做到了,而且它也许是目前我看到的最棒的入门介绍。然而,它终究是个很难的学科。

我在这里想做的,是纯直观的解读,不涉及数学。我并不完全依照论文的顺序,但是你仍然可以打开论文对照阅读,而我也尽量标出所有重要的术语。

下面我将假设你已经知道卷积神经网络(CNN)的工作原理,但是不明白它与流形(manifold)的关系。现在,让我们开始吧!

0 1

流形

流形是很简单的东西。你看到的每一个二维平面都可以算做流形。球体表面,立方体表面,都是流形。但是它并不严格限定于二维,甚至不局限于能想像到的东西,真是见鬼。曲线是流形,四维时空是流形。它相当普遍,能够描绘出一个空间。但是,让我们只专注于二维表面。最简单的表面是平面,就像电脑屏幕。当我们用CNN做卷积时,我们往往都是针对这些平面图像来做的。

假设,我们想用CNN来预测天气。对一个单独的国家,这很容易:用当地的天气数据作为输入,然后keras-keras-咚,你有了一个训练好的模型。如果我们想对全球天气分类呢?你怎样安置在一张图片里?也许是:

(来自 Pixabay 的图片)

但有一个问题。在现实中,左边缘和右边缘是同一个地点。而且,整个上边缘对应一个点,下边缘也是如此。整个对应关系都扭曲了。有没有试过摊平一个乒乓球?是的,确实没弄好。当我们尝试应用卷积时,我们会得到奇怪的结果。边缘会出现不合常理的情况。它可能会预测图片的最右侧会有强东风,然而图片左边什么也没有,即使它们代表相同的地点。CNN根本不知道地球是环回的。

或者,我们可以对地球生成多个重叠的地图,然后对它们应用CNN。这些地图的集合也称作地图册。在确保下一张地图开始于上一张地图相同的重合点的情况下,把CNN在这些单独的地图上平移,这样应该能让它认识到地球是圆的。这是几何深度学习的基本思想:直接应用深度学习于表面或流形上,以保留几何结构。然而,这有一个问题。一个大问题。

0 2

我们去新加坡吧!

现在,让我们暂时忘掉天气,然后拿出指南针。假设你在新加坡。面朝北方,经过泰国,穿越中国、蒙古直到北极。保持方向不变,一直往前走。你将会穿越加拿大、美国,直到你抵到美洲中部的某个地方。在那里止步,然后开始橫向游泳,穿越太平洋,保持方向不变!经过无数次奋力击水,你会最终回到新加坡。但是等一等。你从没改变方向,但是为什么现在却是面朝南方?

让我们再重复一次旅程,但这次我们抵达北极后,朝左横向移动。我们会到达尼日利亚附近,然后开始向后走,此时还是不改变方向。等我们回到新加坡,这次我们居然朝向西方?奇怪……不相信我?你自己试一试,带一个指南针,然后开始游泳……

这个问题是由球面曲度造成的,我们把“不改变方向的移动”叫作平移。你也看到了平移非常依赖于球体上的路径。然而,在二维平面上不受影响。你可以保持方向行走任何一条路径,回到起点后,方向不变。因此,我们说平面是可平行的(回到起点后,你的方向矢量仍旧保持平行),而球面不是。

你会发现这对于我们在球面上的CNN来说是一个问题。当我们把CNN在所有地图上朝四面八方移动时,方向似乎会改变。我们需要想办法确保这种怪现象不会影响到我们的结果!或者,至少我们应该知道如何解决它。

0 3

毛茸茸的球

我们必须引入更多的数学概念才能找到答案。指南针上的指针可以看作是平面上指向某个方向的矢量,基本都指向北方。指针转动所形成的平面与地球表面相切,我们把它称作这一地点的地球切线空间。尽管地球是圆的,但切线空间却是纯平的。它就像是一个本地坐标系统,以北和东作为坐标矢量。因为我们可以在地球任一地点掏出指南针,所以每一个地点都有自己的切线空间。但我们也可以把40°和130°定义为我们的坐标矢量。在这种情况下,北以及其它方向都没特别之处,可以任意选择。

现在,让我们在切线空间中任选一个方向,并沿此方向朝前走一步。我们确保走最短路径(曲面上的),然后到达一个新点。你也许会称之为“前进”,但是,让各位糊涂的是,我们把这个过程叫作指数映射(之所以叫这个名字,是因为所有这些微小的步伐神奇地相似于指数函数的级数展开……但这现在不重要)。

让我们再看看指南针的指针。指南针为地球上“每个”地点指定了一个矢量的现象叫作(切线)矢量场。风也可以看作是矢量场,因为它为每一个点指定了一个方向。我特别把“每个”加上引号,是因为当你站在磁北极或磁南极时,指南针会出错。事实上,在球面的每一个非零连续矢量场上,它都会出错。球体的磁场中必须有极地存在。这种现象叫毛球定理,因为跟梳理毛球就必然产生漩毛涡的情况很像:

(图片来自Wikipedia)

矢量场不需要跟切线空间有相同维度。相反,在每一点,它可以有自己任意维度的矢量空间。这很重要,因为我们也想能在地球的每一个点上指定三维或99维矢量,而不仅仅是二维方向。场中每一个点上的矢量空间也被称作纤维丛。

(一个特殊类型的场叫作标量场。它只有一个维度,温度就可以看作是这样的标量场)

0 4

规范

每个地方测量温度都不一样。在德国这里,我们用摄氏度。在美国用华氏度。这种不同的选择,叫作规范。是的,这个词是从测量工具那里派生来的。现在,每当我看一条来自美国的天气预报,我不得不计算一下华氏度等于多少摄氏度。我们有不同的准则。这种计算叫作规范变换。注意,实际的温度没有改变,只不过我们用来表示的数值不同,而且变换是简单的线性函数。

如果我们考察矢量场,比如风的方向,情况就变得复杂起来。极端一点,我们假设有个国家叫规范国,它并不在乎南北,而是以星座或受惊刺猬逃跑的方位作为他们方向系统的基础。这些人描述风时,我们必须做规范变换才能知道他们在说哪个方向。现在,规范变换变成了可逆矩阵的乘法(显然必须是双向的)。这种矩阵的群,叫作一般线性群,或GL。

对于理论上平坦的地面,选择出一个风的规范,到处都可以适用。但是在球面,我们遇到一些问题。我们没法定义一个统一的规范,而是不得不依赖多个规范和地图。至于为什么必须是这样,从平行化问题和毛球定理中,我们可以获得一些启发。

这自然意味着我们需要多个风向地图。但是,我们不再允许规范国乱来,规定至少他们所使用的矢量的大小(风速)必须跟我们的一致。我们只允许他们使用不同的方向。由此,每一个规范变换都简化为了旋转。这些变换也构成一个群,名叫特殊正交群,或SO,它是GL的子群。通过选择不同结构的群,我们有效地减少了规范场理论可能会有的变换。

0 5

回到深度学习

我们回到原来的问题,想要在风向矢量场上进行卷积。这里,风代表输入特征。假设我们想要找龙卷风方向作为输出。我们可以对“small patch”执行卷积以从风向提取这些输出特征。(注意:我不知道这是否具有气象意义...输入向量到输出向量...这就是我们需要知道的全部)

但“small patch”是一个非常模糊的描述。在二维平面上,它是直截了当的,我们可以把一些球内的所有东西都放在补丁的中心周围。这在某种程度上也适用于完美的球体。但在任意的多个面?事情变得棘手。看看这个时髦的流形:

图像来自维基百科

它被称为Klein瓶,我们可以看到,点之间的原始距离是有问题的。我们可能永远不会需要Klein瓶进行深度学习,但我们希望尽可能保持一般性。

我们需要的是一种仅在流形附近包含卷积点的方法。我们确实有办法做到这一点。回想一下,指数图在我们的流形上做了微小的步骤来找到附近的点。所以让我们用它。从中心开始,我们向切线空间允许的每个方向迈出一步,并将这一点包含在我们的卷积中。

我们现在需要的是一些与卷积相关的函数。因此,我们定义了一个内核,为每个指针分配一个矩阵......等待,不,我们用指数映射的切线空间的每个方向。这有点奇怪,但是当你看到经典的2-D卷积时,它实际上也是如此。它不是那么明显,因为它在飞机上。

该矩阵乘以输入矢量并产生输出矢量。在这里,作者确定了第一个问题。该矩阵仅针对中心定义。但是我们将它应用于附近点的场矢量,它们有自己奇怪的属性。在一个平面上,这不是问题,但在我们的领域,它们略有不同,我们不能只应用内核。

让我们解决这个问题并将这些点上的向量传输回我们small batch的中心。在这里,我们可以应用我们的矩阵,而不必担心奇怪的曲率问题。

0 6

规范等价

到目前为止我们定义的卷积似乎是明智的。 我们应用我们的内核来获取数据并得到一个很好的结果: 龙卷风向东移动。 但不知何故,与所谓的规范国相比,我们仍然得到不同的结果? 他们预测龙卷风正在向左移动?

啊,是的: 我们需要衡量将他们的结果转化为我们的框架aaa和voila: 他们预测龙卷风会向西走..还是错的..

发生了什么? 我们忘了让我们的卷积规范变得相同。 简而言之,内核的结果必须依赖于所选择的规格并且等效地变换。 如果没有,我们只会得到无法相互关联或相互比较的奇怪结果。

但是输出矢量可能是一个不同的维度,或者与输入有不同的解释,我们如何将输入的规范变换与输出的等变“规范变换”联系起来? 好吧,因为结构组仅作用于输入,所以想法是找到作用于输出向量的同一组的表示。 例如,具有旋转组作为其结构组的2-D输入矢量的变换可以由围绕单个轴旋转的3-D输出矢量表示。 当2-D矢量旋转时,3-D输出也围绕固定轴旋转。 通常,可以存在许多表示,例如在3D中可以存在许多不同的旋转轴。 关键是,它做了代表相同动作的事情。

有了表示的概念,我们可以使卷积规范变得相同。 我们只需要确保输入矢量的规范变换导致输出矢量的等变变换(即,相同的变换,但在适当的表示中)。

现在,使用规范等价,当我们在不同的地图上执行卷积时,我们在数字上得到不同的结果,但是他们的结果是一致的。 这是我们定义卷积以在整个范围内有意义的最佳方式。

0 7

二十面体?

我们基本上涵盖了论文的第2部分。作者现在转向二十面体,它与拓扑结构非常相似,但更好。它们更好,我们可以比球体更容易离散它们。

就像我们用多个地图覆盖地球时一样,让我们用五个重叠的地图覆盖二十面体(重叠用小的全白三角形表示):

图像来自论文

美丽,地图甚至大小相同。难怪他们选择了这种多样性。我们也可以将其视为图表。注意,每个节点,即每个交叉点,是具有输入特征向量的歧管上的点(在上图中不可见)。每个小三角形都有3个角,每个角都是这些节点之一。他们是我们感兴趣的。

那么,让我们做卷积!

首先,我们需要看看我们的指数地图是什么样的。好吧,在我们的离散流形上,这很容易。我们只是从节点开始向任何方向迈出一步。方向在上图中可见为连接节点的线。因此,大多数节点有6个邻居,除了在二十面体的角落有5个邻居。

接下来,我们需要一个内核函数。但我们很懒,不想重新发明轮子。因此,我们只使用标准2D卷积的3 x 3滤波器。这些3 x 3滤波器具有中心点和8个邻居。这比我们需要的还要多。所以,让我们忽略3 x 3网格中的右上角和左下角邻居,将它们设置为0并假装它只有6个邻居。

剩下的就是让这个东西变得规范。那么,让我们来看看我们的二十面体的结构组。我们已经注意到,我们只能进入6个不同的方向。如果我们在这个结构上描述风,我们将只有6个不同的参照系,每个参考系旋转60°。这也可以配制成具有6级或C6的环状基团作为其结构基团。

最后,我提到我们的地图是重叠的。因此,如果我们想要在具有重叠的区域上移动卷积滤波器,我们基本上使用来自不同映射的值。我们如何处理这些值?在我们使用它们之前,我们会测量它们到正确的帧。瞧,我们正在对二十面体进行卷积。

0 8

结论

在我看来,本文为几何深度学习领域提供了基本的结果。在进行卷积时理解规范等价的总体思路和重要性是这里的主要内容。

我希望我的非数学解释有助于理解论文中提出的想法。如果你发现这类事情很有趣并想要硬核数学,那么一定要看看Nakahara的“几何,拓扑和物理”。

来源商业新知网,原标题:一文带你了解卷积网络中的几何学 | 洞见

转载于:https://www.cnblogs.com/xinzhihao/p/11250047.html

卷积网络中的几何学你了解多少?相关推荐

  1. 一文带你了解卷积网络中的几何学

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 原标题 | An Easy Guide to Gauge Equivariant Convolutio ...

  2. CVPR2020:点云分析中三维图形卷积网络中可变形核的学习

    CVPR2020:点云分析中三维图形卷积网络中可变形核的学习 Convolution in the Cloud: Learning Deformable Kernels in 3D Graph Con ...

  3. 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv

    搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...

  4. 【CV论文解读】AAAI2021 | 在图卷积网络中超越低频信息

    论文解读者:北邮 GAMMA Lab 博士生  薄德瑜 题目: 在图卷积网络中超越低频信息 会议: AAAI 2021 论文链接: https://arxiv.org/abs/2101.00797 图 ...

  5. Gram矩阵与卷积网络中的卷积的直观理解

    Gram矩阵其实是一种度量矩阵.矩阵分析中有这样的定义. 设 V V是nn维欧式空间 ϵ1,⋯,ϵn \mathbf{\epsilon_1, \cdots, \epsilon_n }是它的一个基, g ...

  6. 卷积网络中的通道(Channel)和特征图

    卷积网络中有一个很重要的概念,通道(Channel),也有叫特征图(feature map)的. 首先,卷积网络中主要有两个操作,一个是卷积(Convolution),一个是池化(Pooling). ...

  7. (转)卷积网络中的通道(Channel)和特征图

    今天介绍卷积网络中一个很重要的概念,通道(Channel),也有叫特征图(feature map)的. 首先,之前的文章也提到过了,卷积网络中主要有两个操作,一个是卷积(Convolution),一个 ...

  8. 卷积网络中的通道、特征图、过滤器和卷积核

    卷积网络中的通道.特征图.过滤器和卷积核 1.feature map 1 feature map 在cnn的每个卷积层,数据都是以三维形式存在的.你可以把它看成许多个二维图片叠在一起(像豆腐皮一样), ...

  9. 卷积网络中的通道(channel)和特征图(feature map)

    卷积网络中的通道(Channel)和特征图 转载自:https://www.jianshu.com/p/bf8749e15566 今天介绍卷积网络中一个很重要的概念,通道(Channel),也有叫特征 ...

最新文章

  1. android 开启一个定时线程_Android中定时执行任务的3种实现方法
  2. 在哪里能收到python实例代码-python实现网站微信登录的示例代码
  3. Linux Shell脚本_较少Swap使用
  4. mysql架构深入_mysql性能优化2:深入认识mysql体系架构
  5. JAVA比较文件是否相同
  6. Android Studio插件安装
  7. 删除Win7通知区域的无效图标
  8. 使用ip rule查询路由策略, 使用ip route修改静态路由表
  9. 每天Leetcode 刷题 初级算法篇-汉明距离
  10. C#编程总结(四)多线程应用
  11. mysql时间转换格式
  12. C语言经典例23-输出菱形图案
  13. 江苏咪咕MGV3000_YST代工_S905L3_线刷固件包
  14. 《Dreamweaver CS6 完全自学教程》笔记 第十四章:使用 CSS 设计网页
  15. tic-tac-toe游戏(简单判断)
  16. 路径上有/**/、/*/的含义
  17. node readFile读html乱码,nodejs读取本地中文json文件出现乱码
  18. linux文件取交集、差集、并集
  19. 给睡猫的学习计划(转载) by 冰血封情
  20. computed 的get 和set

热门文章

  1. GBase 8c管理平台——3.管理控制平台GBase 8c AMT
  2. Python3.6自动群发邮件,如何把收件人名字一一对应
  3. 在线数据库关系图设计工具 dbdiagram.io
  4. python银行利息问题_python要求用户输入本金,银行年利率和...
  5. 解决Idea乱码问题 SpringBoot-yaml配置文件乱码问题
  6. 品尝棉花糖之Nexus5线刷Android6.0攻略
  7. .Net调用支付宝Alipay接口沙箱测试
  8. mac上mysql.tar.gz的安装图解
  9. 10.1出游计划(成都市内)
  10. 单片机和计算机特点,什么是单片机,与电脑比较有什么优缺点