DL论文
题目:Accurate Image Super-Resolution Using Very Deep Convolutional Networks(2016CVPR)
摘要:文中提出了一种高精度处理单幅超分辨(HR)图像的方法。用了很深的卷积网络inspired by 用于处理ImageNet 分类的VGG-net。发现提高网络深度可大幅提高精度。但是,网络越深,收敛速度成了问题。文中给出了提高训练效率的方法:仅学习residuals使用非常高的学习速率(比SRCNN高10e4倍)。并且比现有方法变现更优异。
关键词:residual image、residual learning、gradient clipping、SRCNN、receptive field感受野(information used for reconstruction)
1.介绍
1)文中解决了给定一幅LR(低分辨)图像用来生成HR(高分辨)图像的问题,通常指的是single image super-resolution(SISR)。SISR在CV中使用广泛,都是些需要细节的图像处理。早期的方法包括interpolation(插值法):bicubic interpolation、Lanczos resampling,更多有力的方法利用statistical image priors或者internal patch recurrence。2)
2)目前,许多学习方法应用于建立从LR到HR的映射模型。
具体方法:Neighbor embedding:interpolate the patch subspace。
Sparse coding:use a learned compact dictionary based on sparse signal representation
Random forest and CNN:提高精度
之前论文有方法:SRCNN就是用来学习从LR到HR的mapping in a end-to-end manner。SRCNN特点是不需要任何engineered features。虽然SRCNN成功将深度学习技术引入到SR问题,但是局限有三:依赖于context of small image regions、训练收敛太慢、网络仅仅适于single scale。
3)我们提出一种加速收敛方法:residual-learning CNN,高学习速率。因为LR和HR图像share the same information to a large extent,那么model the residual image是有好处的,因为这个residual就是HR和LR的不同之处。我们提出的网络结构适于输入输出高度相关!并且我们的学习速率比SRCNN快10e4倍,这得益于residual-learning和gradient clipping。
2.相关工作
1)SRCNN代表了深度学习处理SR方法的当前水平。先分析对比这种方法。SRCNN文章:Image super-resolution using deep convolutional networks(TPAMI,2015)
2)在1)中的论文中,某些情况下深度模型表现更差,1)论文作者认为深度模型不给力。但是本文作者程加强深度可提高表现。并成功提高深度到20weight layers、receptive field 更大(41*41)。
3)Training比较:SRCNN直接在HR图像建模。一幅HR可分解为低频信息(对应于LR图像)和高频信息(residual image 或 image details)。输入输出图像享有相同的低频信息。这表明SRCNN有两个目的:将输入送至最后一层并重建residuals。carry the input to the end类似于auto-encoder(自动编码器)做的事情。大量的时间用于训练自动编码器,所以学习其他部分(image detail)的收敛速率大幅下降。相比而言,我们的网络直接在residual image建模,更快更精确!
4)Scale比较:和其它SR处理方法一样,SRCNN针对single scale factor训练,即特定的scale。因此再来一个新的scale就得训练一个新模型,这是繁琐低效的。我们提出来的网络有效处理各种scale的SR问题,表现还不错。此外,我们的输入输出size一样,这通过pad zeros every layer during traing。而SRCNN输出size比输入小。最后,我们的所有网络层训练速率一样,而SRCNN不同层速率不同为的是实现稳定的收敛。
3.提及的方法
1)采用d层网络,除去第一层(输入图像)和最后一层(图像重建),其它层类型都一样:64filter:3*3*64,filter操作3*3区域大小通过64通道。网络接收interpolated LR图像为输入来预测图像细节。对图像细节建模常用来处理SR问题。本文论证了对image detail(residuals)建模的好处。可问题是非常深的网络特征映射的size会在每次卷积操作后变小。例如:(n+1)*(n+1)的输入,感受野为(n*n)时,输出为1*1.许多SR方法都用邻居像素来推断中心像素,中心-邻居关系在邻居像素提供许多constraints时有效,对于许多处在图像边缘的像素,这种关系并不一定成立。此外,需要邻居区域很大时此法也无效。我们的解决方法:在卷积之前补零(pad zeros)使得feature maps(特征映射)尺寸一样。事实证明这还挺有效,边缘像素也被正确预测了。
2)Residual-Learning
在SRCNN中,网络必须保留所有输入细节,输出由所有学到的特征生成,因为有许多weight layers,形成了许多首尾相接的关系,并且需长期的存储记忆,这会导致vanishing/exploding gradients(梯度消失/爆炸)问题。所以提出解决方案:residual learning。以为输入输出图像很相似,我们定义residual image r=y-x.损失函数为1/2||r-f(x)||2。其中f(x)为网络预测。损失层由三个输入:residual estimate、network input(ILR image)、ground truth(HR image)。训练:利用基于反向传播的mini批梯度方法来优化回归目标函数。训练由权重衰减来正则化。
3)High Learning Rates for Very Deep Networks
训练深度网络可能在有限时间内无法收敛。SRCNN没有成功实现大于三层weight layers时的良好表现,原因很多,可能是它们在收敛之前停止了训练过程。很显然,增加学习速率可以加速训练,但是仅仅提高速率可能导致梯度消失/爆炸。所以我们提出可调节的梯度抑制来控制最大化学习速率。即下文4)。
4)Adjustable Gradient Clipping
Gradient Clippiing是一项常用在recurrent neural networks(周期神经网络?)的技术。但是,貌似它只能限于训练CNNs。
5)Multi-Scale
因为非常深度的网络可以提高性能,更多的参数需要用于定义一个网络,典型的,一个网络如果可以应用于任意scale,那么存储和恢复一个网络很方便。所以我们也训练一个multi-scale网络。
DL论文的更多相关文章
- 获取Avrix上Computer Vision and Pattern Recognition的论文,进一步进行统计分析。
此文主要记录我在18年寒假期间,收集Avrix论文的总结 寒假生活题外 在寒假期间,爸妈每天让我每天跟着他们6点起床,一起吃早点收拾,每天7点也就都收拾差不多. 早晨的时光是人最清醒的时刻,而 ...
- (zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用
126 篇殿堂级深度学习论文分类整理 从入门到应用 | 干货 雷锋网 作者: 三川 2017-03-02 18:40:00 查看源网址 阅读数:66 如果你有非常大的决心从事深度学习,又不想在这一行打 ...
- ML博客链接
http://blog.csdn.net/yingwei13mei/article/category/6602238 各种都有(系统教程):http://www.easemob.com/news/76 ...
- 计算机电子书 2017 BiliDrive 备份
下载方式 根据你的操作系统下载不同的 BiliDrive 二进制. 执行: bilidrive download <link> 链接 文档 链接 斯坦福 cs224d 深度学习与自然语言处 ...
- 微软亚洲实验室一篇超过人类识别率的论文:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification ImageNet Classification
在该文章的两大创新点:一个是PReLU,一个是权值初始化的方法.下面我们分别一一来看. PReLU(paramter ReLU) 所谓的PRelu,即在 ReLU激活函数的基础上加入了一个参数,看一个 ...
- cv 论文(CNN相关)
最近发现很多以前看的论文都忘了,所以想写点东西来整理下之前的paper,paper主要是cv(computer vision)方向的. 第一篇:Gradient-based learning appl ...
- 快速理解Parquet的DL和RL
关于Parquet的详细介绍,请参考: 新一代列式存储格式Parquet,此文中对Parquet做了详细的介绍,这里不做重复介绍,但其中关于Definition Level(DL)和Repeated ...
- 论文翻译:Ternary Weight Networks
目录 Abstract 1 Introduction 1.1 Binary weight networks and model compression 2 Ternary weight network ...
- 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations
目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...
随机推荐
- CSS清除浮动float方法总结
使用浮动造成的BUG: 使用浮动前:(子节点是将父节点撑开了) 代码如下 <div class="box"> <div class="d1"& ...
- gg
纪念那段为了梦想的青春岁月,CS. Esp (2006-2014) name "Esp"bind "TAB" "+showscores"bi ...
- asp.net配置web.config支持jQuery.Uploadify插件上传大文件
配置web.config有两处地方需要配置,分别是集成模式和经典模式. 集成模式: <!--文件上传大小设置--> <httpRuntime requestValidationMod ...
- Mac OSX:Powerline风格的zsh配置
需要的工具 iTerm,一个替代OSX自带终端的软件,基于iTerm才能实现上面的效果: oh-my-zsh,zsh是OSX上最强大的shell,没有之一,但是配置过程较为复杂,这个脚本能够帮你一键配 ...
- 懒加载(getter\setter理解)
为什么要用懒加载 1.首先看一下程序启动过程:(如图) 会有一个mian的设置,程序一启动会加载main.storyboard main.storyboard又会加载箭头所指的控制器 控制器一旦加载, ...
- Win7 命令行强制杀死进程
原理 1.查看当前正在运行的进程 tasklist 如下图所示 2.强制杀死映像名称为imagename的进程,映像名称可通过任务管理器或tasklist命令查看 taskkill /im image ...
- python网络编程
Socket是网络编程的一个抽象的概念. 通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 套 ...
- Node.js中exports与module.exports的区别
原文:http://www.hacksparrow.com/node-js-exports-vs-module-exports.html 你肯定对Node.js模块中用来创建函数的exports对象很 ...
- [HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别
1.共同点:[HttpPost]和[AcceptVerbs(HttpVerbs.Post)]都是只接受POST请求过来的数据. 2.不同点:在MVC中如果想一个action既可以回应POST请求也可以 ...
- temp
netstat -tlnap lsof -i :40735 ps -ef|grep 10259 iftop iptraf nethogs gidxylxhqp http://blog.csdn.net ...