查看原文
其他

流形上的卷积

hahakity 极市平台 2021-09-19

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~


作者:hahakity

来源:https://zhuanlan.zhihu.com/p/67381155

本文已经作者授权,转载请联系原作者


最近阿姆斯特丹大学的 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 ,一个 3x3 的格子,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 满足等变性,还必须对卷积核做一些线性约束。使用的依旧是  公式。


这篇文章使用的例子是20面体。20面体的每一面都是平直的,但整体又是很好的球形近似。在20面体里,有一种之前没有讲到的对称性。这种对称性可用 6 阶循环群表示。这个群可以描述为 6 个角度为 k · 2π/6 的平面旋转。将每4个面归为一个 chart,那么总共会有 5 个charts。下方左图20面体中灰色的那些面构成了chart V5,从 chart V5 到 chart V4 对应一个规范改变。一旦得到 V5 处的卷积核,可以将它旋转 k · 2π/6 度角,其中 k = 0, . . . , 5, 并将旋转之后的卷积核匹配到对应的 chart 得到新的 feature map。




总结:

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

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

参考文献:


  1. Long-Hua Wu and Xiao Hu,Scheme for Achieving a Topological Photonic Crystal by Using Dielectric Material ( 链接: https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.223901 )

  2. Group Equivariant Convolutional Networks 群等变卷积( 链接: https://arxiv.org/pdf/1602.07576.pdf )

  3. Geometric deep learning: going beyond Euclidean data 非欧深度学习( 链接: https://arxiv.org/pdf/1611.08097.pdf )

  4. Steerable CNNS ( 链接: https://arxiv.org/pdf/1611.08097.pdf )

  5. Learning Steerable Filters for Rotation Equivariant CNNs( 链接: https://arxiv.org/pdf/1612.08498.pdf )

  6. HexaConv( 链接: https://openreview.net/pdf?id=r1vuQG-CW)

  7. Intertwiners between Induced Representations with Applications to the Theory of Equivariant Neural Networks( 链接: https://openreview.net/pdf?id=r1vuQG-CW)

  8. Spherical CNNS Paper, Github 球面卷积 ( 链接: https://openreview.net/pdf?id=r1vuQG-CW , https://github.com/jonas-koehler/s2cnn)

  9. Gauge Equivariant Convolutional Networks and the Icosahedral CNN( 链接: https://openreview.net/pdf?id=r1vuQG-CW)

  10. zhihu, 从群等变卷积网络到球面卷积网络( 链接: https://zhuanlan.zhihu.com/p/34042888)

  11. An Easy Guide to Gauge Equivariant Convolutional Networks 很棒的英文科普( 链接: https://towardsdatascience.com/an-easy-guide-to-gauge-equivariant-convolutional-networks-9366fb600b70)

  12. datascience.stackexchange.com 等变性与不变性的区别( 链接: https://datascience.stackexchange.com/questions/16060/what-is-the-difference-between-equivariant-to-translation-and-invariant-to-tr)

  13. zhuanlan.zhihu.com/p/34 等变性与不变性( 链接: https://zhuanlan.zhihu.com/p/34288976)

  14. Visual Interpretability for Convolutional Neural Networks 可视化低层卷积核旋转不变性( 链接: https://towardsdatascience.com/visual-interpretability-for-convolutional-neural-networks-2453856210ce)

  15. Nasa 全球气候变暖图片( 链接: https://climate.nasa.gov/news/2876/new-studies-increase-confidence-in-nasas-measure-of-earths-temperature/)



-End-


*延伸阅读





CV细分方向交流群


添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~



△长按添加极市小助手


△长按关注极市平台


觉得有用麻烦给个在看啦~  

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存