超分辨率CARN:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network

本文提出一种轻量级级联残差网络,速度快,性能也还不错。

提出问题

尽管深度学习方法提高了SR图像的质量,但速度慢,并不适用于真实场景。从这个角度来看,设计适合实际应用的轻量级深度学习模型非常重要。
一种方法是减少参数的数量,实现这一目标的方法有很多,但最简单和有效的方法是使用递归网络。例如,DRCN使用递归网络来减少冗余参数,而DRRN通过向DRCN添加残差体系结构来改进DRCN。与标准CNN相比,这些模型有效地减少了模型参数的数量,表现出良好的性能。
然而,这些模型有两个缺点:
(1)在将输入图像输入CNN模型之前,先对其进行上采样;
(2)增加网络的深度或宽度,以补偿由于使用递归网络而造成的损失。这些点使模型能够在重构时维持图像的细节,但增加了操作次数和时间。

解决方法

提出了一种级联剩余网络(CARN)及其变体移动网络(CARN-M)。
模型的中间部分是基于ResNet设计,除此之外,还在局部和全局级别使用级联机制来集成来自多个层的特性,这可以反映不同级别的输入表示,以便接收更多信息。除了CARN模型,我们还提供了CARN- m模型,性能稍有下降,但是速度更快。
关于轻量级网络文献:
(1)Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding.
(2)Squeezenet: Alexnet-level accuracy with 50x fewer parameters and 0.5 mb model size.论文构建一个基于alexnet的体系结构,使用50×更少的参数就可以达到类似的性能水平。
(3)Mobilenets: Efficient convolutional neural networks for mobile vision applications
应用深度可分卷积建立高效的网络(出自Rigid-motion scattering for image classification这篇文章)

网络架构

可以看到,CARN就是把Resnet的残差块变成了级联残差网络。
超分辨率CARN:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network
在resnet基础上增加局部和全局的级联模块,中间层的输出被级联到更高的层,卷积采用same卷积,方便特征层之间的级联,最后收敛到单个1 x1卷积层。
它具有以下三个特征:

  • 全局和局部级联连接
  • 中间特征是级联的,且被组合在1×1大小的卷积块中
  • 使多级表示和快捷连接,让信息传递更高效

然而,多级表示的优势被限制在了每个本地级联模块内部,比如在快捷连接上的1×1卷积这样的乘法操作可能会阻碍信息的传递,所以认为性能会下降也在情理之中。

高效的CARN

为了提升CARN的效率,作者提出了一种残差-E模块。
超分辨率CARN:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network这种方法和MobileNet类似,但是深度卷积被替换为了分组卷积。因为分组卷积中间必然有trade-off,因此在用户可以选择合适的分组大小。
为了进一步降低参数,论文中用到了一种与递归神经网络相似的技巧,就是将级联模块的参数共享,让模块高效递归。
超分辨率CARN:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network

疑问

如何理解shared和递归?

上一篇:用汇编编写子程序,可以显示字符串到屏幕指定位置


下一篇:[ML] Gradient Boost