加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
作者:
来源:
最近阿姆斯特丹大学的 Taco Cohen 来做了一个非常有意思的报告,讲述图像不在平面,而在球面或十二面体上时,如何设计卷积神经网络。Taco Cohen 是群等变卷积 【文献2】,可操控卷积 【文献4,5】,球面卷积【文献8】,以及今年刚出的规范等变卷积【文献9】的作者。他的一系列文章考虑了当输入图片有特定对称性,或处于复杂几何体的表面时,如何使用群论指导卷积神经网络架构的设计。
对低层卷积核的可视化研究发现【文献14】,很多卷积核除了旋转角度不同,基本全同。如果有办法定义旋转不变(或旋转等变)的卷积核,将会大大减少卷积核的个数,以及由这些冗余的卷积核引入的参数。Taco Cohen 的群等变卷积,steerable 卷积,都是试图在卷积中加入对称性,在不增加计算负担的条件下,带来比传统卷积更强的权重共享和模型表达能力。
接下来会介绍这一系列研究的可能应用场景,以通俗的语言简单讲述“对称性”,“群论”,“流形”以及“规范等变”,最后回到流形上的规范等变卷积及具体实现过程。
1、球面上的卷积,全球气候预报
2、全向摄像头数据, 无人机拍摄的图片
3、三维物体识别, 三维物体表面识别(如淘宝服装的买家与卖家秀)
4、弯曲表面,或弯曲排布的文字识别
这些应用场景有一个共同点,即作用于平面上的普通卷积不再适用。后文会讲述在这些场景中使用平面卷积可能遇到的各种问题。
卷积神经网络 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 做对称变换 。
如果做变量代换 ,即可得到:。在 Taco 的一系列文章里,出现的最多的就是这个公式。比如对于旋转操作, 。这个公式可以进一步推广,现在假设坐标架固定,x 表示为对坐标架做一个群操作 Q,那么上面的等变公式可以认为是作用在 Q 上,
对输入数据做平移,旋转,镜像,缩放等增广操作,会使CNN有一定的平移,旋转,镜像和尺度不变性,即最终预测结果不会因为这些增广而变化。这也是半监督学习里面自洽性约束的关键。但一般的增广并不能覆盖输入空间中的所有区域,比如常用的增广旋转角度,一般在正负30度。
某物在某种变换下保持不变的性质叫做对称性。当代物理学有个著名的诺特定理,说拉氏量的每个连续对称性都对应一个守恒量。比如时间平移不变性,对应能量守恒;空间平移不变性,对应动量守恒;空间旋转不变性,对应角动量守恒;净电荷守恒,来自U(1) 规范变换不变性;核力中的色荷守恒,来自SU(3) 非阿贝尔规范变换不变性。
群论是关于对称性的数学理论。一个群由群元素,以及群元素之间的乘积定义,。群元素对应对称变换,乘积对应两个对称变换的综合效果。一个群中要有一个单位元,对应不做任何操作;如果两个对称操作都属于群G,那么他们的乘积也属于群G;如果做对称变换,再做反变换,等价于单位元(不做任何操作),这也要求群G中每个元素必须有逆变换。数学表达如下,
群元满足结合律,即 。但群定义里并不要求交换律,满足交换律 的叫阿贝尔群,不满足交换律的叫非阿贝尔群。最简单的不满足交换律的例子就是矩阵的乘积。对称操作这个抽象的概念用数学公式表达就是矩阵。
为了在卷积中引入旋转等变性,我们首先要考虑的是 SO(n) 群,这个群中文名为特殊正交群。
nxn 矩阵的集合叫一般线性群 GL(n),特殊正交群的群元 A 满足两个性质,
“特殊“性,即 ,代表朝向固定,不存在镜像操作将右手坐标架变成左手坐标架。
“正交“性,即 ,代表旋转只改变矢量的方向,不改变模长,坐标架保持垂直。
SO(2) 群非常简单,就是沿2维平面一个圆的圆周做旋转。
可以验证上面这个矩阵形式满足特殊性和正交性。 对应单位元。
为了做 3 维球面的卷积,需要考虑 SO(3) 群,SO(3) 群一般用欧拉旋转矩阵表示,计算机图形学里一般都会讲如何将一个三维几何物体做各种旋转。对于没有对称性的物体,想将物体表面的一个点旋转到空间另一个点,需要的旋转操作为
即先绕 Z 轴转 度角,再沿 Y 轴转度角,最后再沿 Z 轴转 度角。如果旋转体本身沿Z轴旋转对称,第一个绕 Z 轴旋转的操作可省略。
你所见到的任何光滑表面都是流形。比如你的电脑屏幕,球面,立方体的表面等等。但是流形并不局限于二维,它可能是n+1维物体的n维光滑表面。
为什么要引入流形这个概念呢?这是因为有些曲面有非常独特的内在性质。比如球面,你可能想过将橘子皮展平或者将一个瘪了的篮球展平,而无法做到。又比如全球地图,你所看到的平直纸面上的全球地图,是极度扭曲和失真的,看起来很大的格陵兰岛,实际面积很小,而地图上看起来很小的印度,实际面积很大。地图的上沿,其实是同一个点(北极);地图的下沿,也是同一个点(南极);地图的左边与右边,在地理位置上是同一条线。当你想使用卷积神经网络预测全球天气时,就会遇到很多困难。如果在日常使用的全球地图上做卷积,卷积核在赤道覆盖的面积要远大于其在北极覆盖的面积。
另一个困难如下图所示,如果将卷积核沿红线从球的正面移动到背面,卷积核的右边对应红色箭头方向。如果将卷积核沿蓝线移动到球的背面,卷积核的右边对于蓝色箭头方向。沿红蓝不同路径移动卷积核,卷积核的右边对应的方向刚好相反。这个例子说明,球面上的卷积不像想象的那么简单。
平面上的卷积操作是卷积核和它覆盖区域的一对一点乘。在球面上,如果只考虑横向的两个点,沿蓝线走,卷积结果可能是 , 沿红线走,结果就变为 。球面上找不到统一的卷积定义。
图像相当于标量场 (Scalar field),每个坐标对应一个数值,类比温度在空间的分布。卷积核相当于一个测量设备。卷积操作相当于使用设备测量局域温度,计算一个平均值,再移动设备到下一个位置。如果不同地区使用不同的规范,比如中国使用摄氏度,夏天最高温度40多摄氏度,美国使用华氏温度,测得夏天最高温度100多华氏度,不做规范变换,无法比较两地温度高低。
考虑在地球表面均匀放置无数指南针,每个指南针的指向都是一个矢量,这些矢量遍布空间,称做矢量场 (vector field)。如果测量的时候使用了不同的局域坐标架(不同的规范),那么测得每个矢量的指向随规范而变化。如下图所示,球面是个流形 M,是蓝色箭头下的局域空间,是红色箭头下的局域空间,弯曲流形M的局域可以近似看作平直,比如平直拉伸后的 和 。地球上那个黑色箭头,代表待测量的矢量。这个待测矢量在 和 规范下,位置不同,方向不同,模长也不同。
二维平面上的卷积可以看作卷积核和覆盖区域(feature map 或 field) 的点乘。在一般流形上,为了保证规范等变,需要满足:
在讲述如何实现上式之前,先说明一下球面上无法找到一个光滑的全局规范。这是什么意思呢,参考文献【11】给出了一个很形象的来自于代数拓扑的例子:毛球理论。如果你想用一个全局规范抚平一个毛球,就会遇到下图的问题,总是有两个反常点(南极,北极),规范突变。为了解决这个问题,一般的做法是像上一张图一样,选择多个有重叠区域的规范,使得数学可以平滑进行。
文献 【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 在给报告的时候也提到,对于特定的流形,必须考虑使用不同的群对称操作,或者不同的规范。比如在二十面体里使用六阶循环群,这是人选确定的,完全浪费了深度学习强大的端到端学习能力。一个可能的研究方向是如何使用神经网络首先判断流形的种类,然后自动选择对称性和规范变换。比如,如何自动判断下图中文字排布的流形,自动选择对称性,构造规范等变的卷积,使得弯曲表面或弯曲排布的文字识别更加健壮。
本来想给一个更加全面,更加通俗的介绍,但是发现这个方向的研究比较晦涩,以有限的空余时间也只能理解到目前这步。
参考文献:
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 )
Group Equivariant Convolutional Networks 群等变卷积( 链接: https://arxiv.org/pdf/1602.07576.pdf )
Geometric deep learning: going beyond Euclidean data 非欧深度学习( 链接: https://arxiv.org/pdf/1611.08097.pdf )
Steerable CNNS ( 链接: https://arxiv.org/pdf/1611.08097.pdf )
Learning Steerable Filters for Rotation Equivariant CNNs( 链接: https://arxiv.org/pdf/1612.08498.pdf )
HexaConv( 链接: https://openreview.net/pdf?id=r1vuQG-CW)
Intertwiners between Induced Representations with Applications to the Theory of Equivariant Neural Networks( 链接: https://openreview.net/pdf?id=r1vuQG-CW)
Spherical CNNS Paper, Github 球面卷积 ( 链接: https://openreview.net/pdf?id=r1vuQG-CW , https://github.com/jonas-koehler/s2cnn)
Gauge Equivariant Convolutional Networks and the Icosahedral CNN( 链接: https://openreview.net/pdf?id=r1vuQG-CW)
zhihu, 从群等变卷积网络到球面卷积网络( 链接: https://zhuanlan.zhihu.com/p/34042888)
An Easy Guide to Gauge Equivariant Convolutional Networks 很棒的英文科普( 链接: https://towardsdatascience.com/an-easy-guide-to-gauge-equivariant-convolutional-networks-9366fb600b70)
datascience.stackexchange.com 等变性与不变性的区别( 链接: https://datascience.stackexchange.com/questions/16060/what-is-the-difference-between-equivariant-to-translation-and-invariant-to-tr)
zhuanlan.zhihu.com/p/34 等变性与不变性( 链接: https://zhuanlan.zhihu.com/p/34288976)
Visual Interpretability for Convolutional Neural Networks 可视化低层卷积核旋转不变性( 链接: https://towardsdatascience.com/visual-interpretability-for-convolutional-neural-networks-2453856210ce)
Nasa 全球气候变暖图片( 链接: https://climate.nasa.gov/news/2876/new-studies-increase-confidence-in-nasas-measure-of-earths-temperature/)
-End-
*延伸阅读
CV细分方向交流群
添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~
△长按添加极市小助手
△长按关注极市平台
觉得有用麻烦给个在看啦~