图像复原的神经网络稀疏表示

Neural Sparse Representation for Image Restoration

paper: https://arxiv.org/abs/2006.04357

code: https://github.com/ychfan/nsr

摘要

受稀疏编码图像恢复模型中稀疏表示的鲁棒性和有效性的启发,研究了深层网络中神经元的稀疏性。方法在结构上加强了对隐藏神经元的稀疏性约束。稀疏性约束有利于基于梯度的学习算法,并且可以附加到各种网络中的卷积层。神经元的稀疏性使得只对非零分量进行运算而不影响精度,从而节省了计算量。同时,该方法可以在不增加计算量的情况下,放大表示维数和模型容量。实验表明,稀疏表示在深度神经网络中对于图像超分辨率、图像去噪、图像压缩伪影去除等多个图像恢复任务都是至关重要的。

一. 基本原理和主要贡献

  1. 基本原理

稀疏表示在图像恢复问题中起着至关重要的作用,如图像超分辨率[1,2,3]、去噪[4]、压缩伪影去除[5]和许多其他[6,7]。这些任务本质上是不适定的,其中输入信号通常具有不充分的信息,而输出具有许多相同输入的解决方案。因此,人普遍认为稀疏表示对解决方案的多样性更为稳健。稀疏编码中的稀疏表示通常是高维的,但具有有限的非零分量。输入信号表示为字典中标记的稀疏线性组合。高维意味着较大的字典大小,通常会导致更好的恢复精度,因为更大的字典能够更彻底地采样底层信号空间,从而更精确地表示任何查询信号。此外,非零元素的稀疏极限数作为图像的一个重要先验,已被广泛研究和开发,以使恢复具有鲁棒性。

稀疏性通过忽略零部分也带来了计算效率。用于图像恢复的深卷积神经网络扩展了基于稀疏编码的重复级联结构方法。为了提高[8]中的性能,引入了基于深度网络的方法,并在概念上与以前的基于稀疏编码的方法相联系。一个简单的网络,其两个卷积层由一个非线性激活层桥接,可以解释为:激活表示稀疏表示;非线性增强稀疏性,卷积核由字典组成。SRResNet[9]扩展了跳跃连接的基本结构,形成了一个剩余块,并级联了大量的块来构造非常深的剩余网络。由于深层神经网络在推理过程中是前馈的,因此深层神经网络中隐藏表示的稀疏性不能作为稀疏编码通过迭代优化来解决。神经元稀疏性通常是通过在每个神经元中独立地将负性阈值设为零来实现的。尽管如此,在随机向量上的50%稀疏性与非零分量总数上的稀疏性定义相去甚远。相反,稀疏约束在模型参数中被更积极地使用,以实现网络剪枝[11]。然而,在剪枝网络中,隐藏的表示维数会降低,而且准确性可能会受到影响。

  1. 主要贡献

在本文中,提出了一种方法,可以在结构上对深度网络中的隐藏神经元实施稀疏性约束。在给定高维神经元的情况下,沿着通道将分成若干组,每次只允许一组神经元为非零。非稀疏群的自适应选择由基于上下文特征的小边网络来建模。当仅对非零组执行时,计算也被保存。然而,选择操作是不可微的,因此很难嵌入侧网络进行联合训练。将稀疏约束松弛为软约束,并近似简化为多卷积核的稀疏线性组合而不是硬选择。进一步引入额外的基维数,将稀疏性预测分解为子问题,方法是将每个稀疏组分割,并在参数的基独立组合之后进行连接。为了证明神经稀疏表示的重要性,对图像恢复任务进行了广泛的实验,包括图像超分辨率、去噪和压缩伪影去除。

实验结论是:

(1) 专用约束对于实现神经稀疏表示和受益于深层网络至关重要;

(2) 在相同的模型足迹尺寸下,该方法能显著降低计算成本,提高计算精度;

(3) 该方法可以在不增加计算量的情况下,大大提高模型容量和精度。

二.相关研究

在一个简单的矩阵乘法例子中说明了具有稀疏隐节点的两层神经网络的计算减少。左:具有稀疏约束的网络,该网络只允许一个c隐藏节点的组在kc节点上不为零。右图:由于其他激活节点为零,因此只使用Wi 1和Wj 2来减少计算。(灰度反映矩阵值的大小。矩阵乘法是从右到左的顺序。)

三.研究方案

提出了新的稀疏约束来实现深度神经网络中的稀疏表示。稀疏的软限制对基于梯度的训练更为友好。附加的基数维数重新定义了约束条件,提高了稀疏表示的多样性。

阈值法与选通法的比较

该方法将非零实体的数量限制在隐藏层表示中所有节点的1/k以下,阈值和选通方法更接近于等式1中的稀疏性定义。该方法只考虑自适应选择的组,大大降低了k倍的计算量,而阈值法和选通法都不可能做到这一点。

与节点修剪的比较

节点剪枝的目的是通过对所有相关的可训练参数归零来减少激活节点。不管输入信号如何变化,修剪后的节点都会保持为零,这大大降低了表示维数。在方法中,稀疏性自适应地依赖于输入。尽管输入在表示上保持了高维性,但方法以窄模型的形式节省了计算和存储成本。

松软稀疏

类似于稀疏编码中的L0范数,等式6中的自适应稀疏群选择是不可微的,可以与神经网络联合学习。尽管Gumbel技巧[21]被提出重新参数化argmax的条件概率分布,但在实验设置中并没有取得令人信服的结果。通过用softmax作为max的光滑逼近来替换选择,从而稀疏了稀疏性约束。

条件卷积的比较

CondConv[22]的卷积核自适应加权和运算与松弛软稀疏方法相似。然而,在方法中,CondConv使用sigmoid函数来规范化核的权重,而不是softmax函数。因此,在CondConv中没有显式地应用稀疏性约束,并且实验表明,稀疏性对模型精度非常重要。
稀疏群上的基数

用一个简单的MLP来模拟组之间的稀疏性是一个挑战,特别是当每个组的维数c增加时。此外,预先定义的组内的连接通道限制了稀疏模式的多样性。受ResNeXt[23]中组卷积的启发,将每个稀疏组的c个节点划分为d个基数组,每个具有c/d节点的基数组沿着k个稀疏组独立地受到约束,如图3所示。

四.实验测试

基数

基数维数降低了稀疏群信道间的实际维数和相关性,提高了卷积核上线性组合权值的多样性。图4中具有不同基数的模型的结果表明,不断增加基数有助于提高精度。在相同的触发器下,还比较了本方法的一个特例——压缩激励(SE)模型。模型明显优于SE模型。
效率

该方法在k个稀疏群的情况下,可近似节省k次计算量,但模型大小或参数个数不变。表2中的结果在列中具有相同的模型大小,并且表明方法可以节省至少一半的计算量,而不会对不同模型大小的精度造成一致的损害。

容量

方法也可以在k个稀疏群的情况下将模型容量或参数个数扩展k倍,但只需很少的额外计算量。表3中的结果在列中具有相同的计算成本,并且表明方法可以通过将模型容量扩展到16倍来不断提高精度。

内核选择的可视化

直接可视化高维隐藏表示的稀疏性是困难的,以核的选择作为替代。如图5所示,在第一个块中,权重几乎在任何地方都是二进制的,并且只取决于颜色和低级线索。在以后的块中,权重更加平滑,更加关注纹理更加复杂的高频位置。最后一层与语义更为相关,例如,第一幅图像中的树枝和第二幅图像中的狮子。



超分辨率

在EDSR[12]的基础上对方法进行了比较,EDSR[12]是目前最先进的单图像超分辨率方法,也与VDSR[32]的双三次上采样进行了比较。如表4所示,小EDSR每层有16个残差块和64个神经元,稀疏模型将其扩展到4个基数为16的稀疏群,在4倍模型容量的所有基准上都表现出色,但可以忽略额外的计算成本。大的EDSR(L)有32个残差块,每层256个神经元,稀疏模型有32个残差块,每层128个神经元,4个基数为16的稀疏群。然后他有一个相似的模型足迹和标准的精度,但4倍的计算成本差异。

去噪

将方法与最新的图像去噪方法进行了比较:BM3D[33]、WNNM[34]和DnCNN[28]。如表5所示,基线模型是16个块的剩余网络,每层32个神经元,2x宽度乘数[31],其足迹与DnCNN相似,但由于剩余连接,性能更好。稀疏模型具有2个稀疏组和1倍宽度乘法器,以保持模型的大小为基线,但计算量减少了2倍,性能更好。稀疏模型在基线模型的基础上增加了2个稀疏组,使模型容量增加了一倍,并且在计算开销可以忽略的情况下提高了性能。

压缩伪影消除

将方法与最新的图像压缩伪影去除方法进行了比较:JPEG、SA-DCT[35]、ARCNN[36]和dncnn[28]。如表6所示,基线模型和稀疏模型与去噪模型具有相同的结构。方法在所有基准数据集和不同的JPEG压缩质量上始终如一地节省了计算量并提高了性能。

图像复原的神经网络稀疏表示相关推荐

  1. Google AI与Deepmind强强联合,加速神经网络稀疏化进程

    来源:Google AI Blog 编辑:keyu [导读]优化神经网络的一个方法是稀疏化,然而,受到支持不足和工具缺乏的限制,该技术在生产中的使用仍然受限.为了解决这一问题,近日,Google联合D ...

  2. ECCV2020论文-稀疏性表示-Neural Sparse Representation for Image Restoration翻译

    Neural Sparse Representation for Image Restoration 用于图像复原的神经稀疏表示 Abstract 在基于稀疏编码的图像恢复模型中,基于稀疏表示的鲁棒性 ...

  3. 不用GPU,稀疏化也能加速你的YOLOv3深度学习模型

    水木番 发自 凹非寺 来自|量子位 你还在为神经网络模型里的冗余信息烦恼吗? 或者手上只有CPU,对一些只能用昂贵的GPU建立的深度学习模型"望眼欲穿"吗? 最近,创业公司Neur ...

  4. 转变思维!采用稀疏化加速 YoloV3 模型!省了 GPU !

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 你还 ...

  5. 稀疏自动编码(Sparse Autoencoder)

    在之前的博文中,我总结了神经网络的大致结构,以及算法的求解过程,其中我们提高神经网络主要分为监督型和非监督型,在这篇博文我总结下一种比较实用的非监督神经网络--稀疏自编码(Sparse Autoenc ...

  6. 【谢源评体系结构顶会 MICRO 2016】神经网络加速器仍是热点,但图计算加速器夺最佳论文(下载)...

    MICRO(The 49th Annual IEEE/ACM International Symposium on Microarchitecture)是计算机体系结构领域的顶级会议,重点关注处理器体 ...

  7. 稀疏学习:从人脑得到灵感,让深度学习突破算力限制

    大数据文摘出品 来源:timdettmers 编译:张秋玥.Luciana.钱天培 深度学习的重要推动力是计算力的进步. 从2010年到2018年,GPU性能提高了97倍.但是,由于我们几乎已达到了半 ...

  8. 真正实现与人更类似的智能!Jeff Hawkins:创造机器智能的路线图

    智源导读:Jeff Hawkins 是美国著名计算机科学家与神经科学家,美国工程院院士,目前任职于美国加州Numenta 公司.2004年,他曾出版科普著作<On Intelligence> ...

  9. AI:IPPR的数学表示-CNN结构进化(Alex、ZF、Inception、Res、InceptionRes)

    前言: 深度学习:sigmod.tanh.ReLU函数的优缺点-文章图文并举:文章:CNN的结构分析--:  文章:历年ImageNet冠军模型网络结构解析---: 文章:GoogleLeNet系列解 ...

最新文章

  1. 随机森林及重要参数解析
  2. 备份全网服务器数据生产架构方案案例模型
  3. Qt Designer的编辑模式
  4. spring注解方式 idea报could not autowire
  5. android 中ScrollView的使用
  6. 2020年第十八届西电程序设计竞赛网络预选赛之Problem C 没人比我更懂 COVID-19
  7. [置顶] UDP协议---心德(1)
  8. 向oracle表空间添加一个数据文件命令
  9. 《千只鹤》:面对爱,我们永远还行走在成长的路上 ...
  10. Docker学习总结(65)—— 容器引擎 Docker 与 Podman 的详细对比分析
  11. BZOJ 2436 Noi嘉年华(优化DP)
  12. this.controls指所有控件吗?_Excel 控件【窗体控件】和【ActiveX控件】使用基础教程...
  13. 关于京东抢票的一个BUG
  14. poi生成pptx文件以及背景颜色或者背景图片的设置
  15. 【Cpp】C和C++混合编程
  16. 土壤水分特征参数估计(soil water characteristic)
  17. Could not autowire. No beans of 'StudentService' type found
  18. PHP导出Excel方法大全
  19. 网络及路由器故障诊断基础知识
  20. seq和ack的理解

热门文章

  1. golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用
  2. 科学处理java.lang.StackOverflowError: null异常
  3. jar包升级部署到服务器详细流程,将服务部署在linux中
  4. 2021-2027年中国室内定位市场研究及前瞻分析报告
  5. Mysql创建数据库用户
  6. PyTorch 学习笔记(四):权值初始化的十种方法
  7. LLVM一些编程语法语义特性
  8. OneFlow 概念清单
  9. MindSpore特性支持类
  10. 【网站汇总】论文相关