RSCMVR

也是之前发了 ~~ 又带来马教授的~~ 神器稀疏卷积性能和稳健性超越ResNet 标题就是简写可好?

尽管深度神经网络在图像分类方面具有很强的经验性能(empirical performance),但这类模型往往被视为「黑盒」,最为人诟病的就是「难以解释」。

相比之下,稀疏卷积模型(sparse convolutional models)也是分析自然图像的强大工具,其假设一个信号可以由卷积字典(convolutional dictionary)中的几个元素的线性组合来表达,具有良好的理论可解释性和生物合理性。

但在实际应用中,稀疏卷积模型虽然原理上行得通,但与经验设计的深层网络相比并没有展现出应有的性能优势。

最近,马毅教授研究组在发表了一篇新论文,回顾了稀疏卷积模型在图像分类中的应用,并成功解决了稀疏卷积模型的经验性能和可解释性之间的不匹配问题。

论文链接: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数据集,其中的数据被不同类型的合成噪声和不同严重程度所破坏。          whaosoft aiot http://143ai.com   

由于模型中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好多少,但可以通过调整参数λ来大幅提高鲁棒性精度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1380521.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

EMD和VMD

作者:桂。 时间:2017-03-06 20:57:22 链接:http://www.cnblogs.com/xingshansi/p/6511916.html 前言 本文为Hilbert变换一篇的内容补充,主要内容为: 1)EMD原理介绍 2)代码分析 3&#xff09…

什么是MDM

MDM或移动设备管理是一种软件应用程序,用于管理企业中的终端,如笔记本电脑、智能手机、平板电脑等。随着越来越多的员工使用这些设备,各种形式和规模的企业现在都转向移动设备管理,以增强数据安全性并提高生产力。 MDM是什么意思…

AVS3中的AMVR和EMVR

在AVS2中运动预测中使用的MV都是1/4像素精度,通过在整像素间插值能显著提升非整像素运动预测的精度,同时带来的问题是随着MV精度的提高编码MVD所需的比特数也会增加。 AMVR AMVR支持的MVD编码5种精度的MVR{1/4,1/2,1,2,4},索引为0到4&#x…

无线网络视频监控系统基本概念和术语

无线网络视频监控系统基本概念和术语 1.网络摄像机与模拟摄像机的区别 模拟摄像机,或称摄像头,输出CVBS模拟视频信号,PAL制或者NTSC制。模拟摄像机多采用CCD器件,目前也有采用CMOS器件的。有枪机、半球、球机等多种形式&#xff0…

掌握Python的X篇_27_Python中标准库文档查阅方法介绍

前面的博文介绍了python的基本语法、模块及其导入方法。前人将各种方法封装成模块、库、函数供我们使用,如何去使用前人做好的东西,那就需要去查阅文档。今天就介绍python中官方文档的查阅方式。对于初学者而言,python自带的文档就已经足够好…

基本动态规划问题的扩展

基本动态规划问题的扩展 应用动态规划可以有效的解决许多问题,其中有许多问题的数学模型,尤其对一些自从57年就开始研究的基本问题所应用的数学模型,都十分精巧。有关这些问题的解法,我们甚至可以视为标准——也就是最优的解法。…

shell脚本安装nginx

shell脚本原理 以删除桌面文件的脚本为例,执行脚本后,shell脚本将代码给内核,内核读取后执行命令,如果shell脚本也在桌面上,执行后这个脚本文件也会被删除。 变量 echo $SHELL$符表示SHELL是一个变量,变量…

Python(七十九)字符串的常用操作——字符串内容对齐操作的方法

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

docker实现Nginx

文章目录 1.docker 安装2.docker环境实现Nginx 1.docker 安装 1.使用环境为红帽8.1,添加源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.安装 yum install docker-ce docker-ce-cli containerd.io显示出错 Docker C…

Vue [Day7] 综合案例

核心概念回顾 state:提供数据 getters:提供与state相关的计算属性 mutations:提供方法,用于修改state actions:存放异步操作 modules:存模块 功能分析 https://www.npmjs.com/package/json-server#ge…

反介入/区域拒止:现代战争的演变

译者说明 本文译自美国空军Christopher J. McCarthy少校的一篇文章,略去了原文最后的作者简介。 原文地址(可能需要科学上网): https://www.usnwc.edu/Lucent/OpenPdf.aspx?id95 本文仅为翻译,不代表译者赞成或反对原…

UE4莫名其妙崩溃的解决办法

pin error stack edgraph balabala...... 先检查蓝图把报错的节点全部去掉,有的运行不会提示蓝图报错,只能一个一个找。。。。 c报错一般都会有提示,所以基本都可以解决 把磁盘空间留大一点,玄学 总是在这里报错,这个不用管&am…

叛乱怎么自定义服务器,» 叛乱:沙漠风暴 服务器安装Mod教程

叛乱:沙漠风暴 服务器安装Mod教程 4.6 (78) 叛乱:沙漠风暴 服务器 租用 v2pg.com 获取API KEY 比如 59f0601123331222f0755f9e8551ea639 就是申请的KEY, 保存好。 打开后台 “服务器设置” 然后编辑 Engine.ini

叛乱联机服务器未响应,叛乱沙漠风暴怎么开服 叛乱沙漠风暴开服操作指南详解 安装准备-游侠网...

叛乱沙漠风暴怎么开服?游戏一款多人联机操作游戏,在开服前期要做好相应的准备工作,也就是设置一些选项,这里给大家带来了“xudong162”分享的叛乱沙漠风暴开服操作指南详解,详情一起看下文中介绍吧。 推荐阅读: 开服操…

叛乱联机服务器未响应,叛乱沙漠风暴开服注意事项及操作指南经验一览

叛乱沙漠风暴开服注意事项及操作指南经验一览,该游戏其实是一款多人联机的操作游戏,玩家在开服前期要做好相应的准备工作,其实也不是什么困难的事,就是设置一些选项方便操作,这里给大家带来了叛乱沙漠风暴开服注意事项…

叛乱2 linux服务器,叛乱沙漠风暴服务器配置教程 叛乱沙漠风暴怎么开服

第 2 页 服务器配置 服务器配置 大多数服务器配置是通过INI文件和启动参数执行的。 可以使用任何纯文本编辑器编辑INI文件,例如Notepad,Notepad ,Sublime Text和VSCode。 配置文件的位置位于以下目录中(相对于安装目录): Windows:…

叛乱找不到社区服务器,叛乱沙漠风暴常见问题及解决方法_叛乱沙漠风暴常见问题QA_游戏堡...

《 1.Q:游戏卡在读取页面怎么办 A:看看你按回车键没 一直读取进不去游戏说明网络不好 直接卡死说明电脑玩不了这游戏了,建议升级配置 2.Q:游戏什么配置可以玩 A:可游玩最低配置:GTX950M,i74700&…

叛乱沙漠风暴不显示服务器,叛乱沙漠风暴进服务器闪退怎么回事_叛乱沙漠风暴闪退解决方法...

相信大家在玩叛乱沙漠风暴的时候,偶尔也会遇到一进入服务器就闪退的情况吧,这非常的影响我们的游戏体验,那么出现这种状况的原因是什么呢?又该如何解决呢?就让我们一起来看一看吧! 叛乱沙漠风暴进服务器闪退…

在Vue中动态引入图片为什么要用require

静态资源和动态资源 静态资源 动态的添加src 动态资源 我们通过网络请求从后端获取的资源 动态的添加src会被当成静态资源 动态的添加src最终会被打包成: 动态的添加图片最会会被编译成一个静态的字符串,然后再浏览器运行中会去项目中查找这个资源…

SpringSecurity 详解(通俗易懂)

SpringSecurity 详解 1、SpringSecurity讲解1.1、SpringSecurity完整流程1.2、认证流程 2、登录,退出,注册_分析说明2.1、登录2.2、校验2.3、退出2.4、注册2.5、SecurityContextHolder说明 3、代码实现3.1、引入依赖3.2、登录 退出 注册3.2.1、SpringSec…