超分辨率重构四---DRCN
DRCN(Deeply-Recursive Convolutional Network for Image Super-Resolution)阅读笔记1、论文地址:https://arxiv.org/abs/1511.044912、github上的pytorch代码:https://github.com/fungtion/DRCN3、论文介绍3.1、提出的问题在超分任务中,为了提高感受野的范围,一
DRCN(Deeply-Recursive Convolutional Network for Image Super-Resolution)阅读笔记
1、论文地址:https://arxiv.org/abs/1511.04491
2、github上的tensorflow代码:https://github.com/nullhty/DRCN_Tensorflow
3、论文介绍
3.1、提出的问题
在超分任务中,为了提高感受野的范围,一般通过增加卷积层的数量来达到,作者提出也会带来两个问题。
- 过拟合很有可能发生,所以就需要有更多的数据;
- 模型变大导致在保持和恢复模型的时候比较费时间和空间
3.2、提出解决的方法
为了解决上述两个问题,作者提出了一个新的方法------深度循环卷积神经网络(DRCN),该网络可以按照你所需要的重复的利用相同的卷积层。但是当你在增加卷积层的数量的时候参数的数量并不会增加。
由于梯度消失和梯度爆炸的问题,导致模型不是那么容易收敛,作者针对这个问题提出了两个解决办法。
- 监督所有的循坏层------对于每一个循环层都进行重构,最后按照权重将所有的重构结果相加得到最后的重构结果。
- 跳跃连接------将输入信息添加到重构层。
3.3、DRCN
其中a表示该论文模型图,c为a的扩展图。b为别的论文中使用深度循环的模型图。
该模型是由三部分组成:编码层、推测层、重构层。
-
编码层
将输入的图片(灰度或者RGB)表示成一系列的特征映射,传递个推测层。 -
推测层
该部分为主要解决该超分任务的部分,每一个循环层(包括的卷积个数不同)都对输入的图像进行处理,每次卷积后都使用激活函数,最后得到超分结果。 -
重构层
将处理后的特征使用转置卷积进行处理转化成原始大小。
3.4、循环监督
为了解决梯度和优化循环层的问题,提出了该方法。监督所有的循环层为了减缓梯度消失和梯度爆炸的可能,在该方法中,假如由D个循环层(每个循环层都是一次卷积,该卷积使用的参数都是相同的),那么由于加入循环监督,所以会有D个重构结果(在每个循环层后边都加入重构),最后按照权重将所有的结果相加得到最后的重构结果(所有的权重在训练的时候进行自动更新)。在进行测试的时候权重取的是均值。
3.5、跳跃连接
在超分任务中输入图像和输出图像是十分相似的。所以在输入和重构层直接加入一个跳跃连接。
3.6、损失函数
对于该模型优化的部分分为 D+1个,其中D个循环层的输出以及一个最后的输出。
针对D个循环层的输出使用如下函数:
针对最后的优化使用如下函数:
最后的更新函数:
3.7、代码介绍
未完待续。。。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)