残差网络

Resnet特点总结

匿名 (未验证) 提交于 2019-12-02 23:34:01
来自博客: https://www.jianshu.com/p/ca6bee9eb888 设计初衷:残差结构是为了解决网络退化的问题提出的,梯度消失/爆炸已经通过 normalized initialization 等方式得到解决。 1. 学习结果对 网络权重的波动 变化更加敏感。 设 input :x , output :y , 待学习的 layer 参数为 w, 在 w 的改变增量一致时, H(x) 和 F(x) 分别改变 9% 和 100 %, 在引入残差结构后,网络权重的轻微变化就引起了教大的输出变化,所以,如果想要得到好的输出结构,必须小心的调整权重。 2.残差结果对 数据的波动 更加敏感。 文章来源: https://blog.csdn.net/qxqsunshine/article/details/90319784

ResNet

三世轮回 提交于 2019-12-01 18:55:54
论文:Deep Residual Learning for Image Recognition 发表时间:2015 发表作者:(Microsoft Research)He-Kaiming, Ren-Shaoqing, Sun-Jian 论文链接: 论文链接 ResNet Resnet差不多是当前应用最为广泛的CNN特征提取网络。它的提出始于2015年,作者中间有大名鼎鼎的三位人物He-Kaiming, Ren-Shaoqing, Sun-Jian。 VGG网络试着探寻了一下深度学习网络的深度究竟可以深几许以能持续地提高分类准确率。我们的一般印象当中,深度学习愈是深(复杂,参数多)愈是有着更强的表达能力。凭着这一基本准则CNN分类网络自Alexnet的7层发展到了VGG的16乃至19层,后来更有了Googlenet的22层。可后来我们发现深度CNN网络达到一定深度后再一味地增加层数并不能带来进一步地分类性能提高,反而会招致网络收敛变得更慢,test dataset的分类准确率也变得更差。排除数据集过小带来的模型过拟合等问题后,我们发现过深的网络仍然还会使分类准确度下降(相对于较浅些的网络而言)。 VGG网络达到19层后再增加层数就开始导致分类性能的下降。而Resnet网络作者则想到了常规计算机视觉领域常用的residual representation的概念

深度残差收缩网络:(三)网络结构

久未见 提交于 2019-11-30 16:18:10
(1)回顾一下深度残差网络的结构   在下图中,(a)-(c)分别是三种残差模块,(d)是深度残差网络的整体示意图。BN指的是批标准化(Batch Normalization),ReLU指的是整流线性单元激活函数(Rectifier Linear Unit),Conv指的是卷积层(Convolutional layer),Identity shortcut指的是跨层的恒等映射,RBU指的是残差模块(Residual Building Unit),GAP是全局均值池化(Global Average Pooling),FC是全连接层(Fully Connected Layer)。   C表示特征图的通道数,W表示特征图的宽度,1表示特征图的高度始终为1(这是因为这篇文章以一维的振动信号作为输入)。   在Conv后的括号中,K表示卷积层中卷积核的个数。当K=C时,输出特征图的通道数为C。当K=2C时, 输出特征图的通道数为2C。/2表示的是卷积核每次移动的步长为2,从而使得输出特征图的宽度减半。   我们可以看到,在图(a)中,输入特征图的尺寸为C×W×1,输出特征图的尺寸也是 C×W×1,也就是说,特征图的尺寸保持不变。在图(b)中,输出特征图的尺寸减小为 C×(0.5W)×1,换言之,宽度减小为原先的一半。在图(c)中, 输出特征图的尺寸变为2 C×(0.5W)×1,即不仅

深度残差收缩网络:(二)整体思路

强颜欢笑 提交于 2019-11-30 15:50:23
  其实,这篇文章的摘要很好地总结了整体的思路。一共四句话,非常简明扼要。   我们首先来翻译一下论文的摘要:       第一句:This paper develops new deep learning methods, namely, deep residual shrinkage networks, to improve the feature learning ability from highly noised vibration signals and achieve a high fault diagnosing accuracy.    翻译: 本文提出了新的深度学习方法,即深度残差收缩网络,来提高深度学习算法从强噪声信号中学习特征的能力,并且取得较高的故障诊断准确率。    解释:不仅明确了所提出的方法(深度残差收缩网络),而且指出了面向的信号类型(强噪声信号)。       第二句: Soft thresholding is inserted as nonlinear transformation layers into the deep architectures to eliminate unimportant features.    翻译: 软阈值化作为非线性层,嵌入到深度神经网络之中,以消除不重要的特征。    解释

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

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

ECCV2018 | 论文阅读CornerNet: Detecting Objects as Paired Keypoints

社会主义新天地 提交于 2019-11-30 00:02:51
https://blog.csdn.net/weixin_40414267/article/details/82379793 https://blog.csdn.net/weixin_40414267/article/details/82379793 https://blog.csdn.net/weixin_40414267/article/details/82379793 CornerNet: Detecting Objects as Paired Keypoints 论文内容详细整理 !!! 理解CornerNet,看这一篇就够了~ 论文链接:https://arxiv.org/abs/1808.01244 代码链接:https://github.com/umich-vl/CornerNet 摘要 我们提出了一种新的目标检测方法,使用单个卷积神经网络将目标边界框检测为一对关键点(即边界框的左上角和右下角)。通过将目标检测为成对关键点,我们消除了现有的one stage检测器设计中对一组anchors的需要。除了上述新颖的构想,文章还引入了corner pooling,这是一种新型的池化层,可以帮助网络更好地定位边界框的角点。CornerNet在MS COCO上实现了42.1%的AP,优于所有现有的one stage检测器。 1 介绍 基于卷积神经网络的对象检测器

残差网络原理

☆樱花仙子☆ 提交于 2019-11-28 16:56:23
1.背景 (1)为什么残差学习的效果会如此的好?与其他论文相比,深度残差学习具有更深的网络结构 , 此外,残差学习也是网络变深的原因?为什么网络深度如此的重要? 解:一般认为神经网络的每一层分别对应于提取不同层次的特征信息,有低层,中层和高层,而网络越深的时候,提取到的不同层次的信息会越多,而不同层次间的层次信息的组合也会越多。 (2)为什么在残差之前网络的深度最深的也只是 GoogleNet 的 22 层 , 而残差却可以达到 152 层,甚至 1000 层? 解:深度学习对于网络深度遇到的主要问题是梯度消失和梯度爆炸,传统对应的解决方案则是数据的初始化(normlized initializatiton)和(batch normlization)正则化,但是这样虽然解决了梯度的问题,深度加深了,却带来了另外的问题,就是网络性能的退化问题,深度加深了,错误率却上升了,而残差用来设计解决退化问题,其同时也解决了梯度问题,更使得网络的性能也提升了。 传统的对应网络层数增加的解决方案如下所示: 图 1 传统解决多层网络训练梯度问题的方法 图 2 残差网络的基本架构 2.深度残差学习 深度残差学习,其中又分为了三个小部分包括残差元,为什么是恒等映射?如果快捷映射不是恒等的情况? 图 3 残差网络的构思 H(x) is any desired mapping, instead hope

CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等

回眸只為那壹抹淺笑 提交于 2019-11-27 03:52:56
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量。我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中探讨日后的CNN变革方向。 注:水平所限,下面的见解或许有偏差,望大牛指正。另外只介绍其中具有代表性的模型,一些著名的模型由于原理相同将不作介绍,若有遗漏也欢迎指出。 一、卷积只能在同一组进行吗?-- Group convolution Group convolution 分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合。 alexnet 分组卷积的思想影响比较深远,当前一些轻量级的SOTA(State Of The Art)网络,都用到了分组卷积的操作,以节省计算量。但题主有个疑问是,如果分组卷积是分在不同GPU上的话,每个GPU的计算量就降低到 1/groups,但如果依然在同一个GPU上计算,最终整体的计算量是否不变?找了pytorch上有关组卷积操作的介绍,望读者解答我的疑问。 pytroch github EDIT: 关于这个问题,知乎用户朋友 @蔡冠羽 提出了他的见解: 我感觉group

论文笔记-ReseNet

不打扰是莪最后的温柔 提交于 2019-11-26 16:47:30
简介: 第一段: 核心思想:网络的深度对模型性能至关重要。 深度卷积网络自动的整合底层/中层/高层特征,然后进行端到端的分类。这是目前非常流行的识别模式。层次化的特征可以得到充实通过堆砌网络层的数量(也就是增加网络的深度),有证据表明网络的深度至关重要,在ImageNet数据集的大赛上,所有取得领先成绩的模型均采用了非常深的网络。 第二段: 核心思想:梯度消失/梯度爆炸是阻止不断增加网络深度的障碍。 虽然网络的深度对模型性能很重要,但是也不能通过简单的堆砌网络层来得到学习性更好的模型。因为臭名昭著的梯度下降/梯度爆炸问题。然而,这个问题可以通过标准的初始化和中间层标准化得到很大的缓解。通过以上的处理可以使得数十层的模型使用SGD开始收敛。 第三段: 核心思想:非常深的网络可以收敛,但又出现了退化问题。 网络退化问题:当不断的增加模型的深度,不出意料的精度会不断的上升,到饱和,然后会快速的下降。并且出人意料的是,这个问题不是由于过拟合导致的,在一个合适深度的模型增加更多的网络层会得到更大的训练精度。这就是网络退化问题。在论文【11,42】和论文的实验中均得到了证实。 第四段: 核心思想:提出疑问:更深的网络应该得到比较浅网络更低的训练误差,为什么会出现网络退化的问题 假设有一个较浅的模型,和一个较深的模型:再较浅模型后增加几层。存在这样一种可能:后加的几层都是恒等映射

动手学PyTorch | (28) 残差网络(ResNet)

给你一囗甜甜゛ 提交于 2019-11-26 03:57:04
让我们先思考一个问题:对神经网络模型添加新的层,充分训练后的模型是否只可能更有效地降低训练误差?理论上,原模型解的空间只是新模型解的空间的子空间。也就是说,如果我们能将新添加的层训练成恒等映射f(x) =x,新模型和原模型将同样有效。由于新模型可能得出更优的解来拟合训练数据集,因此添加层似乎更容易降低训练误差。然⽽在实践中,添加过多的层后训练误差往往不降反升。即使利用批量归⼀化带来的数值稳定性使训练深层模型更加容易,该问题仍然存在。针对这一问题,何恺 明等⼈提出了残差网络(ResNet) 。它在2015年的ImageNet图像识别挑战赛夺魁,并深刻影响了后来的深度神经网络的设计。 目录 1. 残差块 2. ResNet模型 3. 获取数据和训练模型 4. 小结 1. 残差块 让我们聚焦于神经⽹络局部。如下图所示,设输入为x。假设我们希望学出的理想映射为f(x),从⽽作为下图上方激活函数的输入。左图虚线框中的部分需要直接拟合出该映射f(x),⽽右图虚线框中的部分则需要拟合出有关恒等映射的残差映射f(x)-x.残差映射在实际中往往更容易优化。以本节开头提到的恒等映射作为我们希望学出的理想映射f(x).我们只需将下图中右图虚线框内上方的加权运算(如仿射)的权􏰀重和偏差参数学成0,那么f(x)即为恒等映射。实际中,当理想映射f(x)极接近于恒等映射时,残差映射也易于捕捉恒等映射的细微波动