将球面深度学习扩展到高分辨率输入数据
译者 | 朱先忠
审校 | 孙淑娟
传统的球面CNN无法扩展到高分辨率分类任务。在本文中,我们介绍了球面散射层(spherical scattering layers)——一种新型的球面层,它可以降低输入数据的维数,同时保留相关信息,同时还具有旋转等变的特性。
散射网络通过使用小波分析中预定义的卷积滤波器进行工作,而不是从头开始学习卷积滤波器。由于散射层的权重是专门设计的而不是通过学习得到的,因此散射层可以用作一次性预处理步骤,从而降低输入数据的分辨率。我们以往的经验表明,配备初始散射层的球面CNN可以扩展到数千万像素的分辨率,这一壮举以前在传统球面CNN层中是难以实现的。
传统球面深度学习方法需要计算
球面CNN(文献1,2,3)对于解决机器学习中的多种不同类型的问题都非常有用,因为这其中许多问题的数据源不能自然地在平面上表示(有关这方面的入门性介绍,请参阅我们的前一篇文章,地址是:https://towardsdatascience.com/geometric-deep-learning-for-spherical-data-55612742d05f)。
球面CNN的一个关键特性是,它们与球面数据的旋转是等变的(在本文中,我们重点讨论旋转等变方法)。实际上,这意味着球面CNN具有令人印象深刻的泛化特性,允许它们执行诸如分类3D对象网格之类的操作,而不管它们是如何旋转的(以及它们在训练期间是否看到网格的不同旋转)。
我们在最近发布的文章中描述了Kagenova团队为提高球面CNN的计算效率而开发的一系列进展成果(参考地址:https://towardsdatascience.com/efficient-generalized-spherical-cnns-1493426362ca)。我们所采用的方法——高效的广义球面CNN——既保留了传统球面CNN的等方差特性,同时又使得计算效率更高(文献1)。然而,尽管在计算效率方面取得了这些进步,球面CNN仍然局限于相对低分辨率的数据。这意味着,球面CNN目前还不能应用于通常涉及更高分辨率数据的激动人心的应用场景中,例如宇宙学数据分析和虚拟现实的360度计算机视觉等领域。在最近发布的一篇文章中,我们介绍了球面散射层网络,以便灵活调整高效的通用球面CNN来提高分辨率(文献4),在本文中我们将对该内容进行一下回顾。
支持高分辨率输入数据的混合方法
在开发高效的通用球面CNN(文献1)时,我们发现了一种非常有效的构建球面CNN架构的混合方法。混合球面CNN可以在同一网络中使用不同风格的球面CNN层,允许开发人员在不同处理阶段获得不同类型层的好处。
上图展示了混合球面CNN架构示例图(请注意:这些层不是单一的,而是一些不同风格的球面CNN层)。
球面上的散射网络继续采用这种混合方法,并引入了一种新的球面CNN层,可以插入现有的球面架构中。为了将高效的通用球面CNN扩展到更高维度,这一新层需要具备如下特征:
- 计算支持下的可扩展性
- 将信息混合到低频,以允许后续层以低分辨率运行
- 旋转等变
- 提供稳定和局部不变的表示(即提供有效的表示空间)
我们确定散射网络层具有满足所有上面列举的这些特征的潜力。
球面上的散射网络
由Mallat(文献5)在欧几里德环境中首次提出的散射网络可以被视为具有固定卷积滤波器的CNN,这些滤波器是从小波分析中导出的。散射网络已被证明对传统(欧氏)计算机视觉非常有用,尤其是在数据有限的情况下——而在这种情况下学习卷积滤波器是比较困难的。接下来,我们简要讨论一下散射网络层的内部工作原理、它们如何满足上一节中定义的要求以及如何开发它们用于球面数据分析。
散射层内的数据处理由三个基本操作执行。第一个构建块是固定小波卷积,它类似于欧氏CNN中使用的正常学习卷积。在小波卷积之后,散射网络对结果表示应用模数非线性方法。最后,散射利用了一个缩放函数,该函数执行了一种局部平均算法,与普通CNN中的池化层有一些相似之处。重复应用这三个构建块就会将输入数据分散到计算树中,并在不同的处理阶段将结果表示(类似于CNN频道)从树中提取出来。这些操作的简略示意图如下所示。
该图示意了球面信号f的球面散射网络。信号通过级联球面小波变换传播,并结合用红色节点表示的绝对值激活函数。散射网络的输出是通过将这些信号投影到球面小波缩放函数上得到的,从而得到用蓝色节点表示的散射系数。
从传统的深度学习观点来看,分散网络的操作似乎有些模糊。然而,所描述的每种计算操作都有一个特定的目的——旨在利用小波分析的可靠的理论结果。
散射网络中的小波卷积是经过仔细推导的,以便从输入数据中提取相关信息。例如,对于自然图像,小波被定义为专门提取与高频的边缘和低频的物体普通形状相关的信息。因此,在平面设置中,散射网络滤波器可能与传统的CNN滤波器有一些相似之处。这同样适用于球面设置,我们使用尺度离散小波(scale-discretised wavelets,详见文献4)。
由于小波滤波器是固定的,初始散射层只需要应用一次,而不需要在整个训练过程中重复应用(如传统CNN中的初始层)。这使得散射网络在计算上具有可扩展性,满足上面特征1的要求。此外,散射层降低了其输入数据的维数,这意味着在训练下游CNN层时,只需要使用有限的存储空间来缓存散射表示。
小波卷积后面采用的是模数非线性方法。首先,这给神经网络层注入了非线性特征。其次,模数运算将输入信号中的高频信息混合到低频数据中,满足上面的要求2。下图显示了模数非线性计算前后数据的小波表示的频率分布情况。
上图展示了模运算前后不同球面频率l处小波系数的分布。输入信号中的能量从高频(左侧面板)移动到低频(右侧面板)。其中,f是输入信号,Ψ代表缩放j的小波。
应用模数计算后,将得到的信号投影到缩放函数上。缩放函数从表示结果中提取低频信息,类似于传统CNN中的池化函数操作。
我们对球面散射网络的理论上的等方差特性进行了经验测试。测试是通过旋转信号并将其通过散射网络馈送,然后将得到的结果表示与输入数据通过散射网络后再进行旋转计算的结果表示进行比较。由下表中的数据可以证明给定深度的等方差误差较低,因此满足上述要求3(通常在实践中,一个路径深度不会超过两个路径的深度,因为大多数信号能量已经被捕获)。
不同深度球面散射网络的旋转等方差误差
最后,从理论上证明了欧氏散射网络对小的微分或畸变是稳定的(文献5)。目前,这个结果已经推广到紧致黎曼流形上的散射网络(文献6),特别是球面环境(文献4)。在实践中,对差异形态的稳定性意味着,如果对输入进行轻微更改,散射网络计算的表示不会有显著差异(关于稳定性在几何深度学习中的作用的讨论,请参阅我们之前的帖子,地址是https://towardsdatascience.com/a-brief-introduction-to-geometric-deep-learning-dae114923ddb)。因此,散射网络提供了一个表现良好的表示空间,在该空间上可以有效地进行随后的学习,满足上述第4项要求。
可缩放和旋转等变的球面CNN
考虑到引入的散射层满足我们所有想要的特性,接下来我们准备将它们集成到我们的混合球面CNN中。如前所述,散射层可以作为初始预处理步骤固定到现有架构上,以减小后续球面层处理的表示的大小。
在上图中,散射层模块(虚线左侧)是一个设计层。这意味着,它不需要训练,而其余层(虚线右侧)是可训练的。因此,这意味着散射层可以作为一次性预处理步骤应用,以降低输入数据的维数。
由于散射网络具有给定输入的固定表示,因此散射网络层可以在训练开始时应用于整个数据集一次,并缓存生成的低维表示以训练后续层。幸运的是,散射表示具有降低的维度,这意味着存储它们所需的磁盘空间相对较低。由于存在这个新的球面散射层,所以可以把高效的广义球面CNN扩展到高分辨率分类问题领域。
宇宙微波背景各向异性的分类
物质在整个宇宙中是如何分布的?这是宇宙学家的一个基本研究问题,对我们宇宙的起源和演化的理论模型具有重大意义。宇宙微波背景辐射(CMB)——来自大爆炸的残余能量——描绘了宇宙中物质的分布。宇宙学家在天球上观察CMB,这需要能够在天球内进行宇宙学分析的计算方法。
宇宙学家对分析宇宙微波背景的方法非常感兴趣,因为这些方法能够检测宇宙微波背景在整个空间的分布中的非高斯性,这对早期宇宙理论具有重要意义。这种分析方法还需要能够扩展到天文分辨率。我们通过将CMB模拟分为高斯或非高斯,分辨率为L=1024,证明了我们的散射网络能够满足这些要求。散射网络成功地将这些模拟分类,准确度为95.3%,比低分辨率传统球面CNN的53.1%要好得多。
上图给出高斯和非高斯类CMB的高分辨率模拟示例,用于评估球面散射网络扩展到高分辨率的能力。
总结
在本文中,我们探讨了球面散射层能够压缩其输入表示的维度,同时还保留下游任务的重要信息。我们已经证明,这使得散射层对于高分辨率的球面分类任务非常有用。这为以前难以解决的例如宇宙学数据分析和高分辨率360图像/视频分类等潜在应用打开了大门。然而,许多例如分割或深度估计这样的需要密集预测的计算机视觉问题都需要高维输出和高维输入。最后,如何开发可控制的既可以增加输出表示维度同时又能够保持等方差的球面CNN层,这是Kagenova开发人员当前研究的主题。这些内容将在下一篇文章中进行介绍。
参考文献
[1]Cobb, Wallis, Mavor-Parker, Marignier, Price, d’Avezac, McEwen, Efficient Generalised Spherical CNNs, ICLR (2021), arXiv:2010.11661
[2] Cohen, Geiger, Koehler, Welling, Spherical CNNs, ICLR (2018), arXiv:1801.10130
[3] Esteves, Allen-Blanchette, Makadia, Daniilidis, Learning SO(3) Equivariant Representations with Spherical CNNs, ECCV (2018), arXiv:1711.06721
[4] McEwen, Jason, Wallis, Christopher and Mavor-Parker, Augustine N., Scattering Networks on the Sphere for Scalable and Rotationally Equivariant Spherical CNNs, ICLR (2022), arXiv:2102.02828
[5] Bruna, Joan, and Stéphane Mallat, Invariant scattering convolution networks, IEEE Transaction on Pattern Analysis and Machine Intelligence (2013)
[6] Perlmutter, Michael, et al., Geometric wavelet scattering networks on compact Riemannian manifolds, Mathematical and Scientific Machine Learning. PMLR (2020), arXiv:1905.10448
译者介绍
朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。
原文标题:Scaling Spherical Deep Learning to High-Resolution Input Data,作者:Jason McEwen,Augustine Mavor-Parker
以上是将球面深度学习扩展到高分辨率输入数据的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

写在前面今天我们探讨下深度学习技术如何改善在复杂环境中基于视觉的SLAM(同时定位与地图构建)性能。通过将深度特征提取和深度匹配方法相结合,这里介绍了一种多功能的混合视觉SLAM系统,旨在提高在诸如低光条件、动态光照、弱纹理区域和严重抖动等挑战性场景中的适应性。我们的系统支持多种模式,包括拓展单目、立体、单目-惯性以及立体-惯性配置。除此之外,还分析了如何将视觉SLAM与深度学习方法相结合,以启发其他研究。通过在公共数据集和自采样数据上的广泛实验,展示了SL-SLAM在定位精度和跟踪鲁棒性方面优

自2006年深度学习概念被提出以来,20年快过去了,深度学习作为人工智能领域的一场革命,已经催生了许多具有影响力的算法。那么,你所认为深度学习的top10算法有哪些呢?以下是我心目中深度学习的顶尖算法,它们在创新性、应用价值和影响力方面都占据重要地位。1、深度神经网络(DNN)背景:深度神经网络(DNN)也叫多层感知机,是最普遍的深度学习算法,发明之初由于算力瓶颈而饱受质疑,直到近些年算力、数据的爆发才迎来突破。DNN是一种神经网络模型,它包含多个隐藏层。在该模型中,每一层将输入传递给下一层,并

在当今科技日新月异的浪潮中,人工智能(ArtificialIntelligence,AI)、机器学习(MachineLearning,ML)与深度学习(DeepLearning,DL)如同璀璨星辰,引领着信息技术的新浪潮。这三个词汇频繁出现在各种前沿讨论和实际应用中,但对于许多初涉此领域的探索者来说,它们的具体含义及相互之间的内在联系可能仍笼罩着一层神秘面纱。那让我们先来看看这张图。可以看出,深度学习、机器学习和人工智能之间存在着紧密的关联和递进关系。深度学习是机器学习的一个特定领域,而机器学习

编辑|萝卜皮自2021年发布强大的AlphaFold2以来,科学家们一直在使用蛋白质结构预测模型来绘制细胞内各种蛋白质结构的图谱、发现药物,并绘制每种已知蛋白质相互作用的「宇宙图」 。就在刚刚,GoogleDeepMind发布了AlphaFold3模型,该模型能够对包括蛋白质、核酸、小分子、离子和修饰残基在内的复合物进行联合结构预测。 AlphaFold3的准确性对比过去许多专用工具(蛋白质-配体相互作用、蛋白质-核酸相互作用、抗体-抗原预测)有显着提高。这表明,在单个统一的深度学习框架内,可以实现

概述为了使ModelScope的用户能够快速、方便的使用平台提供的各类模型,提供了一套功能完备的Pythonlibrary,其中包含了ModelScope官方模型的实现,以及使用这些模型进行推理,finetune等任务所需的数据预处理,后处理,效果评估等功能相关的代码,同时也提供了简单易用的API,以及丰富的使用样例。通过调用library,用户可以只写短短的几行代码,就可以完成模型的推理、训练和评估等任务,也可以在此基础上快速进行二次开发,实现自己的创新想法。目前library提供的算法模型,

卷积神经网络(CNN)和Transformer是两种不同的深度学习模型,它们在不同的任务上都展现出了出色的表现。CNN主要用于计算机视觉任务,如图像分类、目标检测和图像分割等。它通过卷积操作在图像上提取局部特征,并通过池化操作进行特征降维和空间不变性。相比之下,Transformer主要用于自然语言处理(NLP)任务,如机器翻译、文本分类和语音识别等。它使用自注意力机制来建模序列中的依赖关系,避免了传统的循环神经网络中的顺序计算。尽管这两种模型用于不同的任务,但它们在序列建模方面有相似之处,因此

手势识别是计算机视觉领域的一个重要研究领域。它的目的是通过解析视频流或图像序列中的人手部动作来确定手势的含义。手势识别具有广泛的应用,例如手势控制的智能家居,虚拟现实和游戏,安防监控等领域。本文将介绍手势识别模型使用的算法和原理,并使用Python创建一个简单的手势识别训练模型。手势识别模型使用的算法和原理手势识别模型使用的算法和原理是多种多样的,其中包括基于深度学习的模型、传统的机器学习模型、基于规则的方法和传统的图像处理方法。下面将分别介绍这些方法的原理和特点。1、基于深度学习的模型深度学习

Transformer和CNN是深度学习中常用的神经网络模型,它们的设计思想和应用场景有所不同。Transformer适用于自然语言处理等序列数据任务,而CNN主要用于图像处理等空间数据任务。它们在不同场景和任务中都有独特的优势。Transformer是一种用于处理序列数据的神经网络模型,最初是为了解决机器翻译问题而提出的。它的核心是自注意力机制(self-attention),通过计算输入序列中各个位置之间的关系来捕捉长距离依赖性,从而更好地处理序列数据。Transformer模型由编码器和解
