英语原文共 15 页
球型卷积神经网络
Taco S.Cohen*阿姆斯特丹大学,Mario Geiger*瑞士洛桑联邦理工学院,乔纳斯·赫勒*阿姆斯特丹大学,马克斯威林阿姆斯特丹大学和加拿大高等研究院
摘要:卷积神经网络已成为研究包括二维平面图像在内等问题的首选方法。然而,一些最近兴起的问题对能够分析球型图像的模型产生了需求。例如无人机、机器人和自动驾驶汽车的全方位视野、分子回归问题以及全球天气和气候模型。单纯地将球面信号对平面的投影应用于卷积网络是注定会失败的,因为这种投影引入的空间向量失真会使平动权重分配失效。本文介绍了构建球形卷积神经网络的过程。我们提出了一种易于表达且具有旋转等变性的球型相关性的定义。这种球面相关性满足广义傅立叶定理,它允许我们使用广义(非交换)快速傅立叶变换(FFT)算法有效地计算它。我们证明了球形卷积神经网络在三维模型识别和分子能量回归中的计算效率、数值精度和有效性。
1 简介
卷积网络能够检测本地图样,无论它处于图像的何处。就像平面图像中的图样一样,球体上的图样可以四处移动,但在这种情况下,“移动”是三维旋转而不是平移。相似于平面卷积网络,我们想建立一个可以检测图样的网络,不管它们在球体上如何旋转。
如图1所示,没有好的的方法去分析球型信号。那么,最直接的方法,就是通过旋转替换筛选翻译继而改变互相关的定义。这样做时,我们在平面与球体间遇到了一个微妙却重要的不同:与平面的移动空间(2D平移)与平面本身同构不同,球面的移动空间(3D旋转)是一种被称为的三维流形。由此得出的球型相关性的结果(输出特征图)被视为一种SO(3)上的信号,而不是球型信号,Ssup2;。因此,我们在球型卷积神经网络的高层布置SO(3)的群相关(Cohen and Welling, 2016)。[1]
图表 1:球面信号的任何平面投影都会导
致失真。球面信号的旋转不能通过其平面
投影的平移来模拟。
球形卷积神经网络(Ssup2;-CNN)的实施面临两个主要挑战。尽管像素的方格网络具有离散的平移对称性,但球体上不存在完全对称的网格。这意味着没有简单的方法通过单一像素去定义一个球面滤波器的旋转。相反,为了旋转过滤器,我们需要执行某种插值。另一个挑战是计算效率;SO(3)是一个三维流形,因此SO(3)相关性的简单模型是O()。
我们使用非交换谐波分析中的技术来解决这两个问题(Chirikjian and Kyatkin, 2001; Folland, 1995)。该场给出了傅立叶变换的一个深远的推广,它适用于球面信号和旋转群信号。众所周知,关于so(3)傅立叶变换,so(3)的相关性满足傅立叶定理,我们对s2相关性的定义也是如此。因此,可以使用通用的FFT算法有效地实现s2和so(3)相关性。
由于我们是第一个在多层神经网络中对连续群使用互相关的,因此我们严格评估了由连续理论预测的数学性质在实际中对我们的离散化实现的程度。
此外,我们还通过对三个数据集的实验,证明了球面卷积神经网络在旋转不变量分类和回归问题中的实用性。首先,我们证明了球面卷积神经网络比平面卷积神经网络在球面MNIST图像的旋转不变量分类上有更好的表现。其次,我们使用CNN对三维形状进行分类。在第三个实验中,我们使用分子能量回归模型-一个计算化学中的重要问题。
贡献
本文做出的主要贡献如下:
1.球型CNN理论。
2. 第一个实现了针对Ssup2;和SO(3)的广义傅里叶变换的自动微分。我们的PyTorch码易于使用、速度快、内存效率高。
3.针对球型CNN旋转不变量的学习问题做出了第一个实用的经验支持。
2 相关工作
众所周知,CNN的力量很大程度上源于其利用(平移)对称性的能力,而这种对称性是权重分担和平移方差的结合。因此,考虑利用更大对称群的概括是很自然的,事实上,这是Gens和Domingos(2014年)最近几篇论文的主题;Olah(2014年);Dieleman等人(2015;2016);Cohen和Welling(2016);Ravanbakhsh等人(2017年);Zaheer等人(2017b);Guttenberg等人(2016年);Cohen和Welling(2017年)。除了SO(2)可控制网络(Worrall等人,2017年;Weiler等人,2017年),这些网络都局限于离散组,例如作用于平面图像的离散旋转或作用于点云的排列。其他最近的工作涉及球面图像的分析,但没有定义等变结构(Su和Grauman,2017年;Boomma和Frellsen,2017年)。我们的工作是第一次实现对连续非交换群(so(3))的等方差,第一次使用广义傅立叶变换进行快速群相关。这部作品的一个初步版本是由Cohen等人提出的。(2017)。
为了有效地对球面和旋转群进行互相关,我们使用了广义的快速傅立叶变换算法。广义傅立叶分析,有时称为抽象谐波或非交换谐波分析学在数学上有着悠久的历史,许多关于这一学科的书籍都被写过(Sugiura,1990年;Taylor,1986年;Folland,1995年)。有关包含通用FFT算法的良好工程导向处理,请参见(Chirikjian和Kyatkin,2001)。其他重要著作包括(Driscoll和Healy,1994年;Healy等人,2003年;Potts等人,1998年;Kunis和Potts,2003年;Drake等人,2008年;Maslen,1998年;Rockmore,2004年;Kosteec和Rockmore,2007年;2008年;Potts等人,2009年;Makadia等人,2007年;Gutman等人,2008年)。
3球面与旋转群的相关
我们将通过与经典平面z2相关的类比来解释s2和so(3)相关性。平面相关性可以理解为:
输出特征映射在平移xisin;z2处的值作为输入特征映射和滤波器之间的内积计算,由x偏移。
同样,球面相关性可以理解为:
在旋转Risin;so(3)时计算出的输出特征映射值是输入特征映射与滤波器之间的内积,由R旋转。
因为输出特征映射是通过旋转来索引的,所以它被建模为SO(3)上的函数。我们稍后将更详细地讨论这个问题。
上面的定义是指我们还没有用数学定义的各种概念。在下面的内容中,我们将逐一介绍所需的概念,并提供精确的定义。我们这一部分的目标只是提出一个球形CNN的数学模型。稍后将讨论广义傅立叶理论和实现细节。
单位球面s2可以定义为具有范数1的点Xisin;r3的集合。它是一个二维流形,可以用球坐标alpha;isin;[0,2pi;]和beta;isin;[0,pi;]参数化。
球形信号 我们将球形图像和滤波器建模为连续函数f:s2→rk,其中k是通道数。
旋转矩阵 三维旋转的集合称为SO(3),即“特殊正交组”。旋转可以用3times;3矩阵表示,保持距离(即||Rx||=||x||)和方向(det(R)= 1)。如果我们将球体上的点表示为三维单位向量x,我们可以使用矩阵向量积Rx执行旋转。旋转群SO(3)是一个三维流形,可以用zyz欧拉角alpha;isin;[0,2pi;]、beta;isin;[0,pi;]和gamma;isin;[0,2pi;]参数化。
为了定义球面相关,我们不仅需要知道如何旋转点Xisin;s2,还需要知道如何旋转球面上的滤波器(即函数)。为此,我们引入了旋转操作符LR,它接受函数f,并通过将f与旋转R-1组合而生成旋转函数LRf。
由R的逆矩阵,我们得到。
内积 球面信号矢量空间上的内积定义为:
积分测度dx表示球上的标准旋转不变积分测度,球坐标中可表示为dalpha;sin(beta;)dbeta;/4pi;(见附录A)。测量的不变性确保,对于任何旋转Risin;SO(3)成立。也就是说,球面高度图下的体积在旋转时不会改变。利用这个事实,我们可以证明与相邻,这意味着是一元的:
球面相关 有了这些成分,我们现在就可以用数学的方法来表述之前用词表达的内容了。对于球形信号f和psi;,我们将相关性定义为:
如前所述,球面相关的输出是SO(3)上的函数。这可能有点违反直觉,事实上,球面卷积的传统定义给出了作为球体上的一个函数的输出。然而,如附录B所示,传统的定义有效地限制了滤波器在Z轴上的圆对称性,这将极大地限制网络的表现能力。
SO(3)信号的旋转 我们定义了球形信号的旋转算符(式1),以及用于定义球面互相关(等式4)。为了定义SO(3)相关性,我们需要推广旋转算子,使其能够作用于SO(3)上定义的信号。正如我们将要展示的,天真地重复使用等式1是一种方法。也就是说,对于f:so(3)→rk和r,qisin;so(3):
注意,当等式1中的参数rminus;1X表示xisin;s2由rminus;1isin;so(3)旋转时,等式5中的类似项rminus;1Q表示旋转的组成(即矩阵乘法)。
旋转群相关 使用与前面相同的类比,我们可以定义旋转组上两个信号的相关性,f,psi;:so(3)→Rk,如下所示:
积分测度dq是so(3)上的不变测度,可以用zyz-euler角表示为dalpha;sin(beta;)dbeta;dgamma;/(8pi;2)(见附录A)。
等变化 正如我们所看到的,相关性是根据旋转操作符定义的。这个操作符自然地作用于网络的输入空间,但是在第二层和更高层使用它有什么理由呢?
证明是由一个重要的属性提供的,由各种卷积和相关共享,称为等方差。如果Phi;◦=tr ◦Phi;,对于某些运算符tr,层Phi;是等变的。利用相关定义和的单一性,显示等变是一条直线:
该方法对球面相关和旋转群相关都是有效的。
4基于G-FFT的快速球面相关
众所周知,使用快速傅立叶变换(FFT)可以有效地计算相关和卷积。这是傅立叶定理的一个结果,它指出由于快速傅立叶变换可以在O(n log n)时间内计算,且乘积具有线性复杂度,因此使用快速傅立叶变换实现相关的渐进速度要快于原始O(n2)空间实现。
对于球面和旋转群上的函数,有一个类似的变换,我们将其称为广义傅立叶变换(GFT)和相应的快速算法(GFFT)。这种转换源于群的表示理论,但是由于空间的限制,我们将不再详细讨论这里,而是将感兴趣的读者引向Sugiura(1990)和Folland(1995)。
从概念上讲,GFT只不过是一个函数对一组称为“不可约幺正表示的矩阵元素”的正交基函数的线性投影。对于圆(s1)或线(r),这些是常见的复指数exp(以theta;表示)。对于SO(3),我们有维格纳函数,用lge;0和minus;lle;m,nle;l表示。对于,这些是用lge;0和minus;lle;mle;l表示的球谐函数。
用x表示流形(s2或so(3)),用ul表示相应的基函数(向量值(yl)或矩阵值(dl)),我们可以将函数f:x→r的gft写成:
该积分可使用GFFT算法有效计算(见第4.1节)。
反SO(3)傅立叶变换定义为:
对于也是同理。最大频率b被称为带宽,与空间网格的分辨率有关(Kostelec和Rockmore,2007年)。
利用的维格纳D-函数的已知(事实上,是定义)性质,可以证明(见附录D)SO(3)相关性符合傅立叶定理4,其中·表示两个块矩阵的矩阵乘法circ;f 和circ;psi;dagger;。
同样,使用Y(Rx)=D(R)Y(x)和,可以得出类似的S2卷积定理:,其中circ;f 和circ;psi;dagger;现在是向量。这表明,两个球面信号的S2相关的SO(3)-FFT可以通过取信号S2-FTs的外积来计算。如图2所示。[2]
图表 2光谱中的球形相关。信号F和局部支持滤波器psi;经傅立叶变换,分块张量,输入通道求和,最后进行逆变换。注意,因为过滤器是本地支持的,所以使用矩阵乘法(DFT)比使用FFT算法更快。我们使用球坐标alpha;、beta;和so(3)和ZYZ-euler角alpha;、beta;和gamma;参数化球体。
4.1 G-FFT和频谱G-CONV的实施
在这里,我们概述了GFFTs的实现。有关详细信息,请参见(Kostelec和Rockmore,2007年)。
SO(3)FFT的输入是SO(3)上的空间信号f,在离散网格上采样并存储为三维阵列。轴对应于zyz-euler角alpha;,beta;,gamma;。so(3)-fft的第一步是在alpha;和gamma;轴上执行标准的二维平移fft。fft#39;ed轴对应结果的m,n轴。第二步和最后一步是使用来自wigner-d(small-d)函数dlmn(beta;)的预先计算的样本数组对fft#39;ed数组的beta;轴进行线性收缩。由于d l的形状取决于l(它是(2l 1)times;2l 1),因此该线性收缩作为自定义GPU内核实现。输出是一组傅立叶系数_flmn,用于lge;n,mge;minus;l和L=0,。hellip;Lmax。
S2-FFTs的算法与之非常相似,仅在这种情况下,我们仅在alpha;轴上进行fft,并在beta;轴上使用预先计算的勒让德函数进行线性收缩。
我们的代码可以在https://github.com/jonas-koehler/s2cnn上找到。
5 实验
在第一个实验序列中,我们评估了算法的数值稳定性和准确性。在第二个实验序列中,我们展示了我们引入的新的互相关层确实是一些涉及球形信号的实际问题的有用构建块。我们的例子
资料编号:[5099]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。