残差网络

深度残差收缩网络:(1)背景知识

↘锁芯ラ 提交于 2019-12-26 21:04:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 深度残差收缩网络(Deep Residual Shrinkage Network)是深度残差网络(Deep Residual Network, ResNet)的一种改进,发表在IEEE Transactions on Industrial Informatics上,面向的是数据包含噪声的情况。 简单地讲,深度残差收缩网络就是,将软阈值化作为可训练的模块,嵌入到ResNet之中。接下来结合自己的理解,解读一下相关的背景知识。 (1)噪声的含义 如上所述,深度残差收缩网络面向的是数据包含噪声的情况。事实上,这里的“噪声”,可以有更宽泛的解释。“噪声”不仅可以指数据获取过程中所掺杂的噪声,而且可以指“与当前任务无关的信息”。 比如说,我们在训练一个猫狗分类器的时候,如果图像中存在老鼠,那么老鼠就可以理解为一种噪声。 或者说,在故障诊断领域,对于一个复杂的机械系统,可能存在很多个激振源。许多个轴、轴承、齿轮和联轴器等的旋转或啮合都可能会激发振动。这些振动成分都混杂在所采集的振动信号中。如果我们的目的是检测某一零件(比如某一个齿轮)是否发生故障,则其他零件所激发的振动,在一定程度上,都可以理解为噪声。 从这个角度来讲的话,深度残差收缩网络可能有着更宽广的应用场景。 (2)软阈值化(soft thresholding)

研究生第一篇英文论文之ON THE EFFECTS OF SKIP CONNECTIONS IN DEEP GENERATIVE ADVERSARIAL MODELS

被刻印的时光 ゝ 提交于 2019-12-16 18:44:07
前言: 前两天投了人生中的一篇英文的论文(ICME),其实论文的创新的并没有很多而且数据集单一,就是单论实验结果还不错,这篇文章就花了不到两个周的时间写作,时间确实有点赶所以完成度不是很高。其实研究生毕业之后也不一定继续搞科研写稿子,所以投论文对于我而言中不中其实没啥关系,主要是练习一下英文写作,以及能清楚地表达出自己的观点给出相关的证明即可。ok接下来就介绍一下自己的几个实验部分。 实验一: 我们论文中的第一个实验是提出两种提高GAN训练稳定的技巧,(1):循环学习率,原文见 此链接 (2):在条件GAN中类别损失递减。 循环学习率: 深度学习中学习率是一个非常重要的超参,对于这个超参的设置方法有以下三种方式,第一设置一个固定的学习率,第二: 学习率递减,初始学习率设置一个较大的数,然后随着一定的步数之后减少到一个固定之后然后保持不变,第三:也是我们论文里面说的循环学习率,简而言之是周期性的改变学习率的值,各种比赛中大家都说好,其中的原理可以看一下循环学习率的原文。 条件GAN中类别损失递减: 我们一般使用AC-GAN做条件图像生成而言,AC-GAN中包含两个损失函数类别损失和对抗损失,一般情况下论文中对于类别损失设置一个较大的系数,对于对抗损失设置一个较小的系数,这样做的一个原因是条件生成图像的时候,训练前期的时候图像的无法保证生成的图像是否为真,所以更无法判断类别是否正确

GCANet——用于图像去雾及去雨的门控上下文聚合网络

南楼画角 提交于 2019-12-15 22:29:58
这段时间一直有各种杂事,现在暂时告一段落,重心要转到毕设上来了,所以写了这么个专栏,关于对论文的一些理解,算是做个阅读笔记吧。由于之前的论文看的七零八落,没有系统的整理过,为了养成良好的习惯,从今天开始不定期更新本专栏,对自己读过的论文力求用最简单的语言表述出来,由于毕设的需求,本系列论文大部分是图像去雾及其相关领域的,小白一枚,还请各位大佬多多指教。 第一篇文章,让我们看一下发表于WACV 2019上的 Gated Context Aggregation Network for Image Dehazing and Deraining,原论文见: https://arxiv.org/abs/1811.08747 ,关于该会议如果大家感兴趣也可以看一下: http://wacv19.wacv.net/ 。 从论文题目可以看出,文章的适用领域是 图像去雾和去雨 ,搭建的网络为“ 门控上下文聚合网络 ”,该网络是基于端到端的,即直接建立模糊图像和清晰图像之间的联系,而不去套用那些先验知识,如经典的 暗通道先验 (DCP)、 颜色衰减先验 (CAP)等; 先看下网络的整体结构图吧,声明一下,以下大部分图片均来自原论文: 如上图所示,该网络由四部分组成,从左到右依次为 编码器 (最左边连续的三个卷积模块)、 平滑扩张残差模块 (中间带有虚线箭头的卷积模块)、 门控融合子网 (图中已标出

超分辨率技术如何发展?这 6 篇 ECCV 18 论文带你一次尽览

浪子不回头ぞ 提交于 2019-12-12 15:14:51
<div class="markdown-body topic-content-big-font" id="emojify"> <blockquote> 作者:Tetianka Martyniuk 来源:量子位@微信公众号 还有什么能比国际顶会更能反映图像技术的最前沿进展?在这篇文章中,亲历了ECCV 2018的机器学习研究员Tetianka Martyniuk挑选了6篇ECCV 2018接收论文,概述了超分辨率(Super-Resolution, SR)技术的未来发展趋势。 一:学习图像超分辨率,先学习图像退化 论文: To learn image super-resolution, use a GAN to learn how to do image degradation first 为什么超分辨率经常被认为是个相当简单的问题?我曾经说过,因为它能够轻松得到训练数据(只需要降低获取图像的清晰度即可),所以和图像修复任务相比,超分辨率可能显得有些无聊。 但人工生成的低分辨率图像,和真实自然存在的图像一样吗?答案是否定的。和通过双三次插值生成的图像不同,真实世界的低分辨率图像明显属于不同类别。 因此,有人认为用这些人工生成的图像训练GAN并不能生成真实的图像。 为了处理这个问题,这篇论文的作者建议了两步走的方法:首先,用未配对的图像训练一个降低分辨率的GAN

pytorch实现ResNet

此生再无相见时 提交于 2019-12-05 07:25:59
参考博客: http://www.cnblogs.com/wuliytTaotao/archive/2018/09/15/9560205.html https://blog.csdn.net/wu_x_j_/article/details/84823002 https://blog.csdn.net/wsp_1138886114/article/details/82080881 残差网络(residual network): DNN为什么不是越深越好: 论文认为,可以训练一个 shallower 网络,然后在这个训练好的 shallower 网络上堆几层 identity mapping(恒等映射) 的层,即输出等于输入的层,构建出一个 deeper 网络。这两个网络(shallower 和 deeper)得到的结果应该是一模一样的,因为堆上去的层都是 identity mapping。这样可以得出一个结论:理论上,在训练集上,Deeper 不应该比 shallower 差,即越深的网络不会比浅层的网络效果差。 在不断加深神经网络的深度时,会出现退化(Degradation)问题,即准确率会先上升然后达到饱和,再持续增加深度会导致准确率下降。这并不是过拟合问题,因为不光在测试集上误差增大,训练集本身误差也会增大。原因是随着网络越来越深,训练变得原来越难,网络的优化变得越来越难

常见用的深度学习框架-----Resnet 残差网络

依然范特西╮ 提交于 2019-12-05 07:21:57
目录 Resnet 残差网络 为什么提出该网络? 什么是残差? 网络结构 resnet-18 pytorch 代码: 参考: Resnet 残差网络 深度残差网络(Deep residual network, ResNet)论文地址: https://arxiv.org/abs/1512.03385 为什么提出该网络? ResNet在2015年被提出,在ImageNet比赛classification任务上获得第一名。随着网络的加深,出现了 训练集 准确率下降的现象,我们可以确定 这不是由于Overfit过拟合造成的 (过拟合的情况训练集应该准确率很高);所以作者针对这个问题提出了一种全新的网络,叫深度残差网络。 对于“随着网络加深,准确率下降”的问题,Resnet提供了两种选择方式,也就是identity mapping和residual mapping,如果网络已经到达最优,继续加深网络,residual mapping将被push为0,只剩下identity mapping,这样理论上网络一直处于最优状态了,网络的性能也就不会随着深度增加而降低了。 什么是残差? 对于一个堆积层结构(几层堆积而成)当输入为 时其学习到的特征记为 ,现在我们希望其可以学习到 残差 ,这样其实原始的学习特征是 。之所以这样是因为残差学习相比原始特征直接学习更容易。当残差为0时

pytorch实现Resnet

喜你入骨 提交于 2019-12-05 07:21:45
pytorch实现Resnet 标签: pytorch resnet 网络结果及其基本单元 对于Resnet来说基本,只要把其基本结构抽离出来即可,其他的其实和以前我们的普通卷积神经网络很像。而Resnet中最基本的结构就是一个残差块如下: 可以看出一个残差块分为左右两部分,左边其实就是普通卷积操作,而右边什么都没有(不过在实际中会有一个卷积),然后输出就是两个的和。 所以一个对于一个输入x [batch,c,h,w] 来说经过左边可能变为了[batch,c1,h1,w1],同样右边也使用其他的卷积变为[batch,c1,h1,w1],然后加起来即可。 之所以要做一个短连接的作用是避免网络层数过深导致的梯度爆炸或者消失,对于一个残差块,我们能保证最坏的结果就是左边的卷积不起作用了,这样无论网络再深,其实只相当于还是x,所以就能保证不造成梯度问题。具体细节可以参考论文。 pytorch实现 定义残差块 class ResidualBlock ( nn . Module ) : """实现一个残差块""" def __init__ ( self , inchannel , outchannel , stride = 1 , shortcut = None ) : super ( ) . __init__ ( ) self . left = nn . Sequential ( nn .

深度学习基础

倖福魔咒の 提交于 2019-12-04 11:49:50
摘要:本文主要介绍了深度学习中的一些基础知识和CNN的相关内容。 1、关于目标函数的选取 目标函数用于衡量训练出来的模型的输出值和给定样本数据实际输出值的误差。目标函数会直接参与到误差的反向传播的计算当中,一个较好的目标函数会对各层的权重的调整起到更好的效果,所以选择好的目标函数尤为重要。下面列举出两种目标函数: 在上面两种比较常见的目标函数的对比中,我们可以清楚的看到, 交叉熵目标函数的图像更加陡峭,因此移动相同的步数,那么目标函数的变化也就更加明显,那么也就更有利于寻找最小值(最优值),最终确定相应的模型权重 。 2、关于全连接层Softmax Softmax是神经网络的最后一层,用于处理经过各个层计算后得到的最后结果。如下图: 在上面的图中,z代表经过各层计算得到的输出值,将z值带入上面的逻辑计算中,最后得到了的输出值有这样的特点: 将原来的输出结果映射到了0-1范围内,并且这些值相加为1 。 那么为什么要进行这样做呢? 经过Softmax处理得到的输出值可以用在以交叉熵作为目标函数的情况中。 利用概率的形式进行处理,更加明确了各个输出值对精度的影响状况,进而更有利于对各层权重进行调整。 3、采用RELU激活函数,而不采用Sigmoid函数的原因 在梯度下降过程中,会对激活函数求导,Sigmoid函数求导之后的峰值为0.25,而且在调整权重的过程中w的绝对值一般都是小于1的

MobileNetV2: Inverted Residuals and Linear Bottlenecks论文解读

梦想与她 提交于 2019-12-04 01:00:03
目录 摘要 主要贡献 相关工作 先导内容,预备工作(preliminaries,intuition) 模型结构 实验结果 摘要 作者提出了一种基于倒置残差块(姑且这么翻译吧,inverted residual block),把mobileNetV1改了改,提高了移动端网络的state of the art 表现。作者探讨了这种倒置残差块的作用,使用了expansion ratio;还发现RELU对残差块的不利影响。最后和mobileNetV1一样,在图像分类,分割,检测领域都和一些网络进行了对比。 主要贡献 提出了一种新颖的层结构: inverted residual block with linear bottleneck,这里lineal指的是送入经过的第一个卷积层是没有激活函数的;inverted指的是和传统的残差块相比,输入经过的第一个卷积层得到tensor的channel是输入channels的t倍,t就是expansion ratio。 相关工作 在mobileNetV2之前,有shuffleNet;还有一些引入了强化学习和遗传算法,仅仅降低了参数量,却没降低计算量。还有一个基于connectivity learning 和network pruning的方法来减少模型大小的。然而这些都没有MobileNetV2直接。 先导内容,预备工作(preliminaries

论文:Deep Residual Learning for Image Recognition

匿名 (未验证) 提交于 2019-12-03 00:20:01
Abstract: 更深层的网络训练十分困难,我们提出了残差网络来实现深层网络。我们重新定制了层间的学习是参考 layer input 的残差函数,而不是一个没有参考的函数。 Introduction: 是否学习更好的网络就是简单的堆积更多的层?一个障碍便是梯度消失或者爆炸,从训练的一开始便会损害收敛,虽然这个问题可以被 normalization initialization 和 intermediate normalization layers解决,可以使网络达到十多层 当深层网络可以收敛后,又出现了退化问题,当网络层数加深,准确率开始变得饱和,然后会快速衰退,这种衰退并不是因为过拟合引起的,加更多的层会引起训练误差变大,如下图 这种训练准确率的退化表明并不是所用的 system 都可以很好的优化。如何从 shallower architecture 到 deeper architecture. 现有的方法是,added layers 是恒等映射(identity mapping),而其它层是 copy from learned shallower model.这种方法本应获得不低于 shallower counterpart 的准确率,但是并没有。 本文通过提出一个 deep residual learning framework 来解决 degradation