「稀疏编码」从理论走向实用!马毅教授NeurIPS 2022新作:稀疏卷积性能和稳健性超越ResNet
尽管深度神经网络在图像分类方面具有很强的经验性能(empirical performance),但这类模型往往被视为「黑盒」,最为人诟病的就是「难以解释」。
相比之下,稀疏卷积模型(sparse convolutional models)也是分析自然图像的强大工具,其假设一个信号可以由卷积字典(convolutional dictionary)中的几个元素的线性组合来表达,具有良好的理论可解释性和生物合理性。
但在实际应用中,稀疏卷积模型虽然原理上行得通,但与经验设计的深层网络相比并没有展现出应有的性能优势。
最近,马毅教授研究组在NeurIPS 2022上发表了一篇新论文,回顾了稀疏卷积模型在图像分类中的应用,并成功解决了稀疏卷积模型的经验性能和可解释性之间的不匹配问题。
论文链接:https://arxiv.org/pdf/2210.12945.pdf
代码链接:https://github.com/Delay-Xili/SDNet
文中提出的可微优化层使用卷积稀疏编码(CSC)对标准卷积层进行替换。
结果表明,与传统的神经网络相比,这些模型在 CIFAR-10、 CIFAR-100和 ImageNet 数据集上具有同样强的经验性能。
通过利用稀疏建模的稳定恢复特性,研究人员进一步表明,只需要在稀疏正则化和数据重构项之间进行简单的适当权衡,这些模型就可以对输入损坏以及测试中的对抗性扰动具有更强的鲁棒性。
马毅教授于1995年获得清华大学自动化与应用数学双学士学位,后求学于美国伯克利加州大学,并于1997年获EECS硕士学位,2000年获数学硕士学位与EECS博士学位。
毕业后在美国伊利诺伊大学香槟分校任教,并成为该校电气与计算机工程系历史上最年轻的副教授。
2009年任微软亚洲研究院视觉计算组高级研究员。2014年全职加入上海科技大学信息科学与技术学院。
2018年加入伯克利加州大学和清华-伯克利深圳学院,目前是加利福尼亚大学伯克利分校电子工程与计算机科学系教授,同时也是IEEE Fellow, ACM Fellow, SIAM Fellow
马毅教授的研究兴趣包括 3D 计算机视觉、高维数据的低维模型、可扩展性优化和机器学习,近来的研究主题包括大规模 3D 几何重构和交互以及低维模型与深度网络的关系。
稀疏卷积
虽然深度卷积网络(ConvNets)已经是图像分类的主流方法,并且性能上也超越其他模型,但其内部的组件如卷积、非线性函数和归一化等的具体数据意义还没有得到解释。
而稀疏数据建模在学习可解释表征的能力和强大的理论保证的支持下(例如处理损坏的数据),已被广泛用于许多信号和图像处理应用,但其在ImageNet等数据集上的分类性能仍然不如经验性的深度模型。
即便性能较强的稀疏模型也仍然存在缺陷:
1)需要专门设计网络结构,限制了模型的适用性;
2)训练的计算速度要慢几个数量级;
3)在可解释性和稳健性上没有表现出明显优势。
研究人员在这篇论文中提出了视觉识别框架,通过一个简单的设计证明稀疏建模可以与深度学习相结合,假设层输入可以由所有数据点所共享的字典中的几个原子(atoms)来表示,从而获得了与标准ConvNets相同的性能,同时具有更好的层级可解释性和稳定性。
该方法将稀疏建模封装在一个隐层(implicit layer)中,并将其作为标准ConvNets中卷积层的替代。
相对于经典的全连接或卷积层中所使用的显式函数(explicit function),隐层使用隐函数。这篇论文中的隐层基于该层输入和权重参数的优化问题进行定义,隐层的输出就是优化问题的解。
给定一个多维输入信号,可以将层的函数定义为执行反向映射到一个更好的稀疏输出,输出通道数可与输入不同,从而可以找到上述Lasso类型优化问题的一个最优的稀疏解。
该隐层实现了卷积稀疏编码(CSC)模型,其中输入信号被卷积字典中的原子稀疏线性组合所逼近。这种卷积词典可以看作是CSC层的参数,通过反向传播进行训练。
CSC模型的目标是通过A(z)算子重构输入信号,其中特征图z指定了A中卷积过滤器的位置和值。为了对建模差异具有容错度,重建并不要求精确。
基于确定的CSC层的输入-输出映射,就可以通过解决相关的优化来进行前向传播,并通过得出最优系数解相对于输入x和参数A的梯度来进行反向传播。
然后,带有CSC层的整个网络可以通过最小化交叉熵损失,以端到端的方式从标记的数据中进行训练。
实验结果
分类性能对比
实验用到的数据集为CIFAR-10和CIFAR-100,每个数据集包含50,000张训练图像和10,000张测试图像,每张图像的尺寸为32×32,RGB通道。
除了将该方法与标准网络架构ResNet-18和ResNet-34进行比较外,研究人员还与具有隐层架构的MDEQ模型和具有稀疏建模架构的SCN进行比较。
实验结果可以看到,在相似的模型规模下,SDNet-18/34的Top-1准确率与ResNet-18/34相近或更高,同时具有相似的推理速度。结果表明该网络有潜力作为现有数据驱动模型的强大替代品,因为SDNet模型在处理受损图像上有额外的优势。
将SDNet-18模型与模型规模相似的MDEQ模型进行了比较后,可以发现SDNet-18不仅比MDEQ更准确,而且速度也快得多(>7倍)。需要注意的是,MDEQ不能像SDNet那样处理受损的数据。
同样使用稀疏建模的SCN网络获得了Top-1的准确度,但SCN的一个重要缺点是它的训练速度非常慢,原因可能是SCN对图像使用了基于patch的稀疏编码模型,与卷积稀疏编码模型相比,它需要在每个前向传播中解决更多稀疏编码问题,无法从并行计算中受益。
稳健推理处理输入扰动
为了测试该方法对输入扰动的鲁棒性,研究人员使用了CIFAR-10-C数据集,其中的数据被不同类型的合成噪声和不同严重程度所破坏。
由于模型中CSC层对输入信号和重建信号之间的entry-wise差异进行惩罚,所以SDNet理论上应该更适合于处理additive噪声。
所以实验部分主要关注于CIFAR-10-C中四种类型的additive噪声,即高斯噪声、shot噪声、speckle噪声和impulse噪声,然后评估SDNet-18的准确性,并将其性能与ResNet-18进行比较。
可以看到,对于各种类型的噪声和不同的严重程度(除了0、1和2级的impulse噪声),适当选择一个不同于训练时使用的λ值有助于提高测试性能。
特别地,作为λ的函数的准确度曲线表现出一个单模态的形状,性能首先增加,然后减少。此外,在每种数据破坏类型中,达到性能峰值的λ值随着破坏严重程度上升而单调地增加,观察结果与预期一致。
处理对抗性扰动
研究人员在CIFAR-10测试数据集上使用PGD对SDNet(λ=0.1)生成对抗性扰动,扰动的L∞范式为8/255,扰动的L2范式为0.5。
与ResNet-18进行对比可以看到,在λ=0.1的情况下,SDNet的表现并不比ResNet好多少,但可以通过调整参数λ来大幅提高鲁棒性精度。
以上是「稀疏编码」从理论走向实用!马毅教授NeurIPS 2022新作:稀疏卷积性能和稳健性超越ResNet的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

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

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

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

Dreamweaver CS6
视觉化网页开发工具

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

热门话题

PHP5.4版本新功能:如何使用callable类型提示参数接受可调用的函数或方法引言:PHP5.4版本引入了一项非常便利的新功能-可以使用callable类型提示参数来接受可调用的函数或方法。这个新功能使得函数和方法可以直接指定相应的可调用参数,而无需进行额外的检查和转换。在本文中,我们将介绍callable类型提示的使用方法,并提供一些代码示例,

产品参数是指产品属性的意思。比如服装参数有品牌、材质、型号、大小、风格、面料、适应人群和颜色等;食品参数有品牌、重量、材质、卫生许可证号、适应人群和颜色等;家电参数有品牌、尺寸、颜色、产地、适应电压、信号、接口和功率等。

在开发过程中,我们可能会遇到这样一个错误提示:PHPWarning:in_array()expectsparameter。这个错误提示会在使用in_array()函数时出现,有可能是因为函数的参数传递不正确所导致的。以下我们来看看这个错误提示的解决方法。首先,需要明确in_array()函数的作用:检查一个值是否在数组中存在。该函数的原型为:in_a

i9-12900H是14核的处理器,使用的架构和工艺都是全新的,线程也很高,整体的工作都是很优秀的,一些参数都有提升特别的全面,是可以给用户们带来极佳体验的。i9-12900H参数评测大全评测:1、i9-12900H是14核的处理器,采用了q1架构以及24576kb的制程工艺,提升到了20个线程。2、最大的CPU频率是1.80!5.00ghz,整体主要取决于工作的负载。3、相比较价位来说还是特别合适的,性价比很不错,对于一些需要正常使用的伙伴来说非常的合适。i9-12900H参数评测大全性能跑分

大型语言模型(LLM)具有生成流畅和连贯文本的能力,为人工智能的对话、创造性写作等领域带来了新的前景。然而,LLM也存在一些关键局限。首先,它们的知识仅限于从训练数据中识别出的模式,缺乏对世界的真正理解。其次,推理能力有限,不能进行逻辑推理或从多个数据源融合事实。面对更复杂、更开放的问题时,LLM的回答可能变得荒谬或矛盾,被称为“幻觉”。因此,尽管LLM在某些方面非常有用,但在处理复杂问题和真实世界情境时,仍存在一定的局限性。为了弥补这些差距,近年来出现了检索增强生成(RAG)系统,其核心思想是

C++参数类型安全检查通过编译时检查、运行时检查和静态断言确保函数只接受预期类型的值,防止意外行为和程序崩溃:编译时类型检查:编译器检查类型相容性。运行时类型检查:使用dynamic_cast检查类型相容性,不匹配则抛出异常。静态断言:在编译时对类型条件进行断言。

常见的编码方式有ASCII编码、Unicode编码、UTF-8编码、UTF-16编码、GBK编码等。详细介绍:1、ASCII编码是最早的字符编码标准,使用7位二进制数表示128个字符,包括英文字母、数字、标点符号以及控制字符等;2、Unicode编码是一种用于表示世界上所有字符的标准编码方式,它为每个字符分配了一个唯一的数字码点;3、UTF-8编码等等。

双曲函数是使用双曲线而不是圆定义的,与普通三角函数相当。它从提供的弧度角返回双曲正弦函数中的比率参数。但要做相反的事,或者换句话说。如果我们想根据双曲正弦值计算角度,我们需要像双曲反正弦运算一样的反双曲三角运算。本课程将演示如何使用C++中的双曲反正弦(asinh)函数,使用双曲正弦值(以弧度为单位)计算角度。双曲反正弦运算遵循以下公式-$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})},其中\:In\:是\:自然对数\:(log_e\:k)
