在实际的试验中发现,随着卷积层和池化层的叠加,不但没有出现学习效果越来越好的情况,反而两种问题:

  1. 梯度消失和梯度爆炸
    梯度消失:若每一层的误差梯度小于1,反向传播时,网络越深,梯度越趋近于0
    梯度爆炸:若每一层的误差梯度大于1,反向传播时,网络越深,梯度越来越大

  2. 退化问题
    随着层数的增加,预测效果反而越来越差。

为了解决梯度消失或梯度爆炸问题,ResNet论文提出通过数据的预处理以及在网络中使用 BN层来解决。 为了解决深层网络中的退化问题,可以人为地让神经网络某些层跳过下一层神经元的连接,隔层相连,弱化每层之间的强联系。这种神经网络被称为 残差网络

我们考虑这样一个事实:现在你有一个浅层网络,你想通过向上堆积新层来建立深层网络, 一个极端情况是这些增加的层什么也不学习,仅仅复制浅层网络的特征,即这样新层是恒等映射(Identity mapping)。 在这种情况下,深层网络应该至少和浅层网络性能一样,也不应该出现退化现象。
对于深度神经网络,如果我们能将新添加的层训练成恒等映射f(x)=x,新模型和原模型将同样有效。 同时,由于新模型可能得出更优的解来拟合训练数据集,因此添加层似乎更容易降低训练误差。

残差网络的核心思想是:每个附加层都应该更容易地包含原始函数作为其元素之一。
于是,残差块(residual blocks)便诞生了

在残差块中,输入可通过跨层数据线路更快地向前传播

如下图所示,此代码生成两种类型的网络: 一种是当use_1x1conv=False时,应用ReLU非线性函数之前,将输入添加到输出。 另一种是当use_1x1conv=True时,添加通过1×1卷积调整通道和分辨率。

ResNet的前两层跟之前介绍的GoogLeNet中的一样: 在输出通道数为64、步幅为2的7×7卷积层后,接步幅为2的3×3的最大汇聚层。 不同之处在于ResNet每个卷积层后增加了批量规范化层。
GoogLeNet在后面接了4个由Inception块组成的模块。 ResNet则使用4个由残差块组成的模块,每个模块使用若干个同样输出通道数的残差块。 第一个模块的通道数同输入通道数一致。 由于之前已经使用了步幅为2的最大汇聚层,所以无须减小高和宽。 之后的每个模块在第一个残差块里将上一个模块的通道数翻倍,并将高和宽减半。

小结

  • 学习嵌套函数(nested function)是训练神经网络的理想情况。在深层神经网络中,学习另一层作为恒等映射(identity function)较容易(尽管这是一个极端情况)。
  • 残差映射可以更容易地学习同一函数,例如将权重层中的参数近似为零。
  • 利用残差块可以训练出一个有效的深层神经网络:输入可以通过层间的残余连接更快地向前传播。

卷积神经网络——残差网络(ResNet)相关推荐

  1. (pytorch-深度学习)实现残差网络(ResNet)

    实现残差网络(ResNet) 我们一般认为,增加神经网络模型的层数,充分训练后的模型理论上能更有效地降低训练误差. 理论上,原模型解的空间只是新模型解的空间的子空间.也就是说,如果我们能将新添加的层训 ...

  2. dlibdotnet 人脸相似度源代码_使用dlib中的深度残差网络(ResNet)实现实时人脸识别 - supersayajin - 博客园...

    opencv中提供的基于haar特征级联进行人脸检测的方法效果非常不好,本文使用dlib中提供的人脸检测方法(使用HOG特征或卷积神经网方法),并使用提供的深度残差网络(ResNet)实现实时人脸识别 ...

  3. 深度残差网络RESNET

    一.残差神经网络--ResNet的综述 深度学习网络的深度对最后的分类和识别的效果有着很大的影响,所以正常想法就是能把网络设计的越深越好, 但是事实上却不是这样,常规的网络的堆叠(plain netw ...

  4. 深度学习目标检测 RCNN F-RCNN SPP yolo-v1 v2 v3 残差网络ResNet MobileNet SqueezeNet ShuffleNet

    深度学习目标检测--结构变化顺序是RCNN->SPP->Fast RCNN->Faster RCNN->YOLO->SSD->YOLO2->Mask RCNN ...

  5. 吴教授的CNN课堂:进阶 | 从LeNet到残差网络(ResNet)和Inception Net

    转载自:https://www.jianshu.com/p/841ac51c7961 第二周是关于卷积网络(CNN)进阶部分,学到挺多新东西.因为之前了解过CNN基础后,就大多在用RNN进行自然语言处 ...

  6. 何恺明编年史之深度残差网络ResNet

    文章目录 前言 一.提出ResNet原因 二.深度残差模块 1.数学理论基础 2.深度网络结构 三.Pytorch代码实现 四.总结 前言 图像分类是计算机视觉任务的基石,在目标监测.图像分割等任务中 ...

  7. 【深度学习】深度残差网络ResNet

    文章目录 1 残差网络ResNet 1.1要解决的问题 1.2 残差网络结构 1.3 捷径连接 1.4 总结 1 残差网络ResNet 1.1要解决的问题   在传统CNN架构中,如果我们简单堆叠CN ...

  8. TF2.0深度学习实战(七):手撕深度残差网络ResNet

    写在前面:大家好!我是[AI 菌],一枚爱弹吉他的程序员.我热爱AI.热爱分享.热爱开源! 这博客是我对学习的一点总结与记录.如果您也对 深度学习.机器视觉.算法.Python.C++ 感兴趣,可以关 ...

  9. 残差网络ResNet网络原理及实现

    全文共1483字,5张图,预计阅读时间10分钟. 作者介绍: 石晓文,中国人民大学信息学院在读研究生,美团外卖算法实习生 简书ID:石晓文的学习日记(https://www.jianshu.com/u ...

最新文章

  1. ffempge 循环_FFmpeg常用使用命令
  2. 菜鸟学习计划浅谈之Linux系统
  3. yii框架的下拉框多选,设置默认值等(dropDownList)
  4. 7.13. parallel - build and execute shell command lines from standard input in parallel
  5. jmeter+Fiddler:通过Fiddler抓包生成jmeter脚本
  6. 【java基础知识】判断字符串不为空
  7. ListView的getFirstVisiblePosition等方法返回的是哪个对象
  8. 来瓶82年拉菲压压惊
  9. 【Chrome小技巧】Chrome浏览器如何实现下载速度加快?
  10. php disable-ipv6,強迫 PHP Curl 使用 IPv4 , 忽略 IPv6
  11. 《精通Javascript+jQuery》视频教程
  12. 安全基础:0-day漏洞
  13. 爬虫实战之selenium淘宝抢购订单
  14. 【第109期】那碗“我拒绝”的毒鸡汤,坑了多少游戏策划?
  15. Vant删除图片Vue版本
  16. (转)OLAP和多维数据模型
  17. 《软件工程里面的大学十年》(转载下半部分)
  18. 2015阿里巴巴数据分析师实习生招聘面试经验
  19. 自动化测试框架源代码,即可下载
  20. 知到网课个人理财(西安欧亚学院)考试试题(含答案)

热门文章

  1. Android基础——从存储介质打开文档
  2. Mobileye+采埃孚“中标”丰田全系新车,L2/L2+市场红利爆发
  3. go - iris - 文件下载
  4. win10自带的Edge浏览器打不开PDF文件和网页的解决方法
  5. Android 11.0 SystemUI导航栏固定在底部显示的修改
  6. C陷阱与缺陷 要点总结
  7. 关于su和sudo以及vi sudo 的权限讨论
  8. 写给20岁左右的读者朋友
  9. 苹果手机安装sim卡显示无服务器,iPhone出现无SIM卡或者未安装SIM的情况怎么办
  10. Python学习笔记--exe文件打包与UI界面设计