流形上的卷积

最近阿姆斯特丹大学的 Taco Cohen 来做了一个非常有意思的报告,讲述图像不在平面,而在球面或十二面体上时,如何设计卷积神经网络。Taco Cohen 是群等变卷积 【文献2】,可操控卷积 【文献4,5】,球面卷积【文献8】,以及今年刚出的规范等变卷积【文献9】的作者。他的一系列文章考虑了当输入图片有特定对称性,或处于复杂几何体的表面时,如何使用群论指导卷积神经网络架构的设计。

对低层卷积核的可视化研究发现【文献14】,很多卷积核除了旋转角度不同,基本全同。如果有办法定义旋转不变(或旋转等变)的卷积核,将会大大减少卷积核的个数,以及由这些冗余的卷积核引入的参数。Taco Cohen 的群等变卷积,steerable 卷积,都是试图在卷积中加入对称性,在不增加计算负担的条件下,带来比传统卷积更强的权重共享和模型表达能力。

接下来会介绍这一系列研究的可能应用场景,以通俗的语言简单讲述“对称性”,“群论”,“流形”以及“规范等变”,最后回到流形上的规范等变卷积及具体实现过程。

应用场景

  1. 球面上的卷积,全球气候预报
Nasa 发布的全球变暖趋势。颜色代表5年平均温度除以 1951 到 1980 年的平均温度。北极地区温度提升了4倍(华氏)。

2. 全向摄像头数据, 无人机拍摄的图片

3. 三维物体识别, 三维物体表面识别(如淘宝服装的买家与卖家秀)

4. 弯曲表面,或弯曲排布的文字识别

这些应用场景有一个共同点,即作用于平面上的普通卷积不再适用。后文会讲述在这些场景中使用平面卷积可能遇到的各种问题。

不变性 Invariant 与等变性 Equivariant

卷积神经网络 CNN 能够在平面图像识别领域一统江山,除了局域连接和共享权重,另一个关键是平移等变性。注意这里用到了等变性 Equivariant,而不是不变性 Invariant。这两者有何区别呢?【文献12】给出了一个非常好的解答。看 variant 的前缀,In 表示“否定”,Invariant 等价于no variance at all。即对输入 x 做变换 T,神经网络 f 的输出不变:

Invariant:

最简单的不变性例子是 Pooling ,一个 3×3 的格子,max pooling 只给出所有格子上的最大值,average pooling 只给出所有格子的平均值,对格子里面元素的重排变换不改变pooling结果。

Equi 表示“等量或等比例的“, 等变性 Equivariant 表示,对函数 f(x) 的输入 x 做一个对称性变换T,等价于对函数的输出 f(x) 做一个对称性变换 T。即 f 和 T 对易,

Equivariant:

最简单的例子是一维卷积,如果输入 x = (0, 3, 1, 3, 0), 卷积核 k = (1, -1), 那么卷积操作的输出为 (-3, 2, -2, 3)。假设输入向右平移两位,变为 , 使用同样的卷积核,卷积操作输出为 , 即输出也向右平移了两位。Pooling 的不变性和卷积的平移等变性都是一种对称性。虽然在这个例子中 , 但一般来说并没有这种要求。

也可以换一种方式理解等变性。比如下图所示卷积,输入部分 x是被覆盖的黄色区域,卷积操作用粉红色区域点乘黄色区域表示, 写成函数 f,右边是原始卷积结果 f(x)。当对 x 做一个逆时针旋转操作得到 g x 时,为了保证卷积结果不变,卷积核也必须做一个对称变换,相当于对卷积函数 f 做对称变换

等变性 Equivariant。为了保持卷积结果不变,对 x 做对称性变换 g 的同时,必须对卷积核也做相应的对称变换, 这样才能保持结果不变。

如果做变量代换 ,即可得到: 。在 Taco 的一系列文章里,出现的最多的就是这个公式。比如对于旋转操作, 。这个公式可以进一步推广,现在假设坐标架固定,x 表示为对坐标架做一个群操作 Q,那么上面的等变公式可以认为是作用在 Q 上,

对输入数据做平移,旋转,镜像,缩放等增广操作,会使CNN有一定的平移,旋转,镜像和尺度不变性,即最终预测结果不会因为这些增广而变化。这也是半监督学习里面自洽性约束的关键。但一般的增广并不能覆盖输入空间中的所有区域,比如常用的增广旋转角度,一般在正负30度。

对称性与群论 (Group Theory)

某物在某种变换下保持不变的性质叫做对称性。当代物理学有个著名的诺特定理,说拉氏量的每个连续对称性都对应一个守恒量。比如时间平移不变性,对应能量守恒;空间平移不变性,对应动量守恒;空间旋转不变性,对应角动量守恒;净电荷守恒,来自U(1) 规范变换不变性;核力中的色荷守恒,来自SU(3) 非阿贝尔规范变换不变性。

群论是关于对称性的数学理论。一个群由群元素,以及群元素之间的乘积定义, 。群元素对应对称变换,乘积对应两个对称变换的综合效果。一个群中要有一个单位元,对应不做任何操作;如果两个对称操作都属于群G,那么他们的乘积也属于群G;如果做对称变换,再做反变换,等价于单位元(不做任何操作),这也要求群G中每个元素必须有逆变换。数学表达如下,

群元满足结合律,即 。但群定义里并不要求交换律,满足交换律 的叫阿贝尔群,不满足交换律 的叫非阿贝尔群。最简单的不满足交换律的例子就是矩阵的乘积。对称操作这个抽象的概念用数学公式表达就是矩阵。

为了在卷积中引入旋转等变性,我们首先要考虑的是 SO(n) 群,这个群中文名为特殊正交群。

nxn 矩阵的集合叫一般线性群 GL(n),特殊正交群的群元 A 满足两个性质,

  1. “特殊“性,即 ,代表朝向固定,不存在镜像操作将右手坐标架变成左手坐标架。
  2. “正交“性,即 ,代表旋转只改变矢量的方向,不改变模长,坐标架保持垂直。

SO(2) 群非常简单,就是沿2维平面一个圆的圆周做旋转。

可以验证上面这个矩阵形式满足特殊性和正交性。 对应单位元。

为了做 3 维球面的卷积,需要考虑 SO(3) 群,SO(3) 群一般用欧拉旋转矩阵表示,计算机图形学里一般都会讲如何将一个三维几何物体做各种旋转。对于没有对称性的物体,想将物体表面的一个点旋转到空间另一个点,需要的旋转操作为

即先绕 Z 轴转 度角,再沿 Y 轴转 度角,最后再沿 Z 轴转 度角。如果旋转体本身沿Z轴旋转对称,第一个绕 Z 轴旋转的操作可省略。

什么是流形 (Manifold)

你所见到的任何光滑表面都是流形。比如你的电脑屏幕,球面,立方体的表面等等。但是流形并不局限于二维,它可能是n+1维物体的n维光滑表面。

为什么要引入流形这个概念呢?这是因为有些曲面有非常独特的内在性质。比如球面,你可能想过将橘子皮展平或者将一个瘪了的篮球展平,而无法做到。又比如全球地图,你所看到的平直纸面上的全球地图,是极度扭曲和失真的,看起来很大的格陵兰岛,实际面积很小,而地图上看起来很小的印度,实际面积很大。地图的上沿,其实是同一个点(北极);地图的下沿,也是同一个点(南极);地图的左边与右边,在地理位置上是同一条线。当你想使用卷积神经网络预测全球天气时,就会遇到很多困难。如果在日常使用的全球地图上做卷积,卷积核在赤道覆盖的面积要远大于其在北极覆盖的面积。

另一个困难如下图所示,如果将卷积核沿红线从球的正面移动到背面,卷积核的右边对应红色箭头方向。如果将卷积核沿蓝线移动到球的背面,卷积核的右边对于蓝色箭头方向。沿红蓝不同路径移动卷积核,卷积核的右边对应的方向刚好相反。这个例子说明,球面上的卷积不像想象的那么简单。

平面上的卷积操作是卷积核和它覆盖区域的一对一点乘。在球面上,如果只考虑横向的两个点,沿蓝线走,卷积结果可能是 , 沿红线走,结果就变为 。球面上找不到统一的卷积定义。

规范等变卷积 (Gauge Equivariant Convolution)

图像相当于标量场 (Scalar field),每个坐标对应一个数值,类比温度在空间的分布。卷积核相当于一个测量设备。卷积操作相当于使用设备测量局域温度,计算一个平均值,再移动设备到下一个位置。如果不同地区使用不同的规范,比如中国使用摄氏度,夏天最高温度40多摄氏度,美国使用华氏温度,测得夏天最高温度100多华氏度,不做规范变换,无法比较两地温度高低。

考虑在地球表面均匀放置无数指南针,每个指南针的指向都是一个矢量,这些矢量遍布空间,称做矢量场 (vector field)。如果测量的时候使用了不同的局域坐标架(不同的规范),那么测得每个矢量的指向随规范而变化。如下图所示,球面是个流形 M, 是蓝色箭头下的局域空间, 是红色箭头下的局域空间,弯曲流形M的局域可以近似看作平直,比如平直拉伸后的 。地球上那个黑色箭头,代表待测量的矢量。这个待测矢量在 规范下,位置不同,方向不同,模长也不同。

二维平面上的卷积可以看作卷积核和覆盖区域(feature map 或 field) 的点乘。在一般流形上,为了保证规范等变,需要满足:

在讲述如何实现上式之前,先说明一下球面上无法找到一个光滑的全局规范。这是什么意思呢,参考文献【11】给出了一个很形象的来自于代数拓扑的例子:毛球理论。如果你想用一个全局规范抚平一个毛球,就会遇到下图的问题,总是有两个反常点(南极,北极),规范突变。为了解决这个问题,一般的做法是像上一张图一样,选择多个有重叠区域的规范,使得数学可以平滑进行。

毛球理论

如何设计流形上的卷积

  1. 文献 【5】里面一个例子使用了高斯基对卷积核展开,基为

其中 ,这样 j 可以控制径向结构。k 控制方位角结构。学到的卷积核可以用这组基展开,

对这个卷积核做旋转角度为 的操作则等价于在基展开的时候每一项乘一个因子,

里面的负号就是我们之前在群等变公式 里看到的 起的作用。

Steerable 卷积中设计旋转不变的卷积具体示意图如下,第一层每个 filter 都人工拷贝 A 份,每份拷贝做一个角度为 的旋转,得到 A 个 feature map。对隐藏层的 feature map,使用 A 阶循环群,对 A 个 feature map 做循环重排。最后使用 Max Pooling 进行归并。

2. 球面卷积中的方法

对球面 可以使用球谐函数 作为基,对于 SO(3) 群,使用 Wigner-D 函数 作为基,对卷积核和feature map 展开。比如简单的球面卷积,用球谐函数 展开

在上图中表示卷积核,f 表示输入图像或输入的 feature map,将两者都用球谐函数 展开后,得到 以及对应每个 的 项不同的 m 值。(注: ; 共 项)。使用外积 得到成块对角的 feature map 矩阵, 求和完成卷积操作。最后使用 SO(3) 群的逆傅立叶变换,得到 坐标下的 feature map。输入中的 是球面坐标,输出 feature map 中的 欧拉旋转的三个旋转角,这三个角也被用作坐标。

这个算法被用作3维物体分类。3维物体的表面使用 ray tracing 表示。每条射线都由一个包含3维物体的球的表面射出,指向球心。射线与3维物体表面的交点则给出了长度,极角以及方位角三个信息。这个方法也被用于分子能量预测。

3. 规范等变卷积中的方法

究竟如何实现规范等变呢?没有别的办法,首先为流形的子集任意选择一个光滑的局域规范,比如蓝色箭头定义的局域规范。从任何一个点 p 出发,我们可以像平面卷积一样定义一个卷积核 ,以及卷积核的朝向,并将其与局域的 input feature map 匹配点乘,从而计算出 output feature map。到目前为止实现了局域卷积,但为了让 output feature map 满足等变性,还必须对卷积核做一些线性约束。使用的依旧是 公式。

这篇文章使用的例子是12面体。12面体的每一面都是平直的,但整体又是很好的球形近似。在12面体里,有一种之前没有讲到的对称性。这种对称性可用 6 阶循环群 表示。这个群可以描述为 6 个角度为 k · 2π/6 的平面旋转。当从12面体的一个面走到另一个面时,规范会发生改变。一旦得到位置 p 的卷积核,可以将它旋转 k · 2π/6 度角,for k = 0, . . . , 5, 并将旋转之后的卷积核匹配到对应的输入图片或 feature map。

总结:

流形上的卷积是一个很有意思的研究方向。这个方向继续发展应该可以大大减少深度神经网络中冗余卷积核(比如说旋转对称的卷积核)的个数。 Taco 在给报告的时候也提到,对于特定的流形,必须考虑使用不同的群对称操作,或者不同的规范。比如在十二面体里使用六阶循环群,这是人选确定的,完全浪费了深度学习强大的端到端学习能力。一个可能的研究方向是如何使用神经网络首先判断流形的种类,然后自动选择对称性和规范变换。比如,如何自动判断下图中文字排布的流形,自动选择对称性,构造规范等变的卷积,使得弯曲表面或弯曲排布的文字识别更加健壮。

本来想给一个更加全面,更加通俗的介绍,但是发现这个方向的研究比较晦涩,以有限的空余时间也只能理解到目前这步。

参考文献:

  1. Long-Hua Wu and Xiao Hu, Scheme for Achieving a Topological Photonic Crystal by Using Dielectric Material
  2. Group Equivariant Convolutional Networks 群等变卷积
  3. Geometric deep learning: going beyond Euclidean data 非欧深度学习
  4. Steerable CNNS
  5. Learning Steerable Filters for Rotation Equivariant CNNs
  6. HexaConv
  7. Intertwiners between Induced Representations with Applications to the Theory of Equivariant Neural Networks
  8. Spherical CNNS Paper, Github 球面卷积
  9. Gauge Equivariant Convolutional Networks and the Icosahedral CNN
  10. zhihu, 从群等变卷积网络到球面卷积网络
  11. An Easy Guide to Gauge Equivariant Convolutional Networks 很棒的英文科普
  12. https:// datascience.stackexchange.com /questions/16060/what-is-the-difference-between-equivariant-to-translation-and-invariant-to-tr 等变性与不变性的区别
  13. https:// zhuanlan.zhihu.com/p/34 288976 等变性与不变性
  14. Visual Interpretability for Convolutional Neural Networks 可视化低层卷积核旋转不变性
  15. Nasa 全球气候变暖图片