Paper : Deep Networks with Stochastic Depth
Code : unofficial

摘要

随机深度神经网络是一种训练神经网络的方法,它是基于ResNet具有相当程度的冗余性的而提出的。在训练ResNet的过程中发现去掉中间几层对最终的结果也没什么影响,说明ResNet每一层学习的特征信息都非常少,冗余性很高。随机深度训练过程主要是用于解决梯度消失问题,提高训练速度,为之后的DenseNet 的提出奠定了基础。

网络结构

随机深度的训练过程核心是对于训练过程中的每个batch,我们随机选取网络层的子集,将其他层的变换使用恒等变换代替。也就是说,训练中,如果一个特定的残差块被启用了,那么它的输入就会同时流经identity shortcut和权重层;否则输入就只会流经identity shortcut。在训练的过程中,每一个层都有一个“生存概率”,并且都会被任意丢弃。在测试过程中,所有的block都将保持被激活状态,而且block都将根据其在训练中的生存概率进行调整。

在上图中,权重层flf_lfl​使用的是经典的ResNet Block,也就是Conv-BN-ReLU-Conv-BN-ReLU

形式化的表示如下,令blb_lbl​为服从Bernoulli 分布的随机变量,则bl∈{0,1}b_l \in \{0,1\}bl​∈{0,1},pl=P(bl=1)p_l = \text P(b_l = 1)pl​=P(bl​=1)为网络中第lll层保留的概率,则有

Hl=ReLU(blfl(Hl−1)+id(Hl−1))H_l = \text{ReLU}(b_l f_l(H_{l-1})+\text{id}(H_{l-1})) Hl​=ReLU(bl​fl​(Hl−1​)+id(Hl−1​))

当bl=0b_l=0bl​=0该层相当于恒等映射,当bl=1b_l=1bl​=1该层相当于ResNet Block。

plp_lpl​的取值可以采用如下的式子

pl=1−lL(1−pL)p_l = 1-\frac{l}{L}(1-p_L) pl​=1−Ll​(1−pL​)

其中超参数只有pLp_LpL​,1~L层存活的概率线性下降。作者认为浅层的网络主要用于提取底层特征,而顶层特征完全依赖于底层特征,因此越浅的网络层越不应该被丢弃。

随机深度网络可以看作是参数共享的多个浅层网络的ensemble learning,而ensemble learning的特点是综合所有的模型的预测结果,因此我们可以类似地定义随机深度测试,将每层的保留概率结合到测试过程中。正向传播的过程如下

Hltest=ReLU(plfl(Hl−1test;Wl)+Hl−1test)H_l^{test} = \text{ReLU} (p_lf_l(H_{l-1}^{test};W_l)+H_{l-1}^{test}) Hltest​=ReLU(pl​fl​(Hl−1test​;Wl​)+Hl−1test​)

核心观点

  1. 提出了随机深度训练方法,加速了神经网络的训练过程,改善了网络的表现。
  2. 有效地减缓了梯度消失的现象,使得残差神经网络的可训练深度更高。
  3. 强调了模块与模块之间的顺序连接并没有那么重要,为之后全连接的Dense Net奠定了基础。

Stochastic Depth ResNet相关推荐

  1. 【Stochastic Depth】《Deep Networks with Stochastic Depth》

    ECCV-2016 文章目录 1 Background and Motivation 2 Related Work 3 Advantages / Contributions 4 Deep Networ ...

  2. Deep Network with Stochastic Depth(阅读笔记)一种随机深度的正则化方法

    题记: 最近Swin Transformer在计算机视觉上大放异彩,成为许多视觉榜单上的霸主,然而传统的Conv卷积如Resnet就真的不行了吗? 一些学者就传统的卷积网络进行了深入的研究,并通过细致 ...

  3. 机器学习笔记:随机深度网络 stochastic depth

    [1603.09382v1] Deep Networks with Stochastic Depth (arxiv.org) 1 模型介绍 有点类似于以层为基本单元的dropout 在ResNet中, ...

  4. 深度学习笔记----计算机视觉的任务及对应的网络模型

    计算机视觉 计算机视觉是一门研究如何使机器"看"的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别.跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人 ...

  5. surface和华为平板_微软的Surface Duo是手机和平板电脑的完美融合

    surface和华为平板 调试器 (DEBUGGER) It's been a long time since I've been excited about a smartphone, but Mi ...

  6. 分形网络结构——FractalNet: Ultra-Deep Neural Networks without Residuals论文笔记

    转自:http://blog.csdn.net/wspba/article/details/73251731 前言 自从ResNet提出以来,倍受人们的追捧,在ResNet基础上延伸出来的模型结构越来 ...

  7. Densely Connected Convolutional Networks(论文解读三)

    目录 DenseNet:论文解读 1. Abstract 2. Related work 2.1 通过级联来加深网络 2.2 通过 shortcut 连接来加深网络 2.3 通过加宽网络来使网络更深 ...

  8. 魔改ResNet反超Transformer再掀架构之争!作者说“没一处是创新”,这些优化trick值得学...

    梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 过去一年,Transformer频频跨界视觉领域,大有抢CNN饭碗之势. 先是图像分类上被谷歌ViT突破,后来目标检测和图像分割又被微软Swin ...

  9. 系统学习深度学习(二十)--ResNet,DenseNet,以及残差家族

    转自:http://blog.csdn.net/cv_family_z/article/details/50328175 CVPR2016 https://github.com/KaimingHe/d ...

最新文章

  1. ReactiveCocoa入门-part2
  2. Python模块-创建和执行程序(或者脚本)
  3. Java 解惑:Comparable 和 Comparator 的区别
  4. 给js加版本号解决浏览器缓存问题
  5. VS中的 MD/MT设置
  6. SAP EPD - Enterprise Product Development
  7. 我在CSDN上的博客地址!
  8. psasp 问题记录
  9. 「 数学模型 」“灰色模型的研究步骤及五步建模思想”讲解
  10. 如何提炼游戏IP的价值,《梦幻西游三维版》给我们上了一课
  11. 【Java】Spring init-method和@PostConstruct 原理
  12. lightdm 循环登录问题
  13. 微信扫码登录自定义二维码显示信息
  14. 地下城堡游戏小脚本儿——自动炼金
  15. 广东省计算机一级网络题教学,2017年广东计算机一级考试试题
  16. Aspect Ratio Fitter 重温总结(多图)
  17. matlab模糊解耦,模糊神经网络解耦MATLAB源程序
  18. 揭秘:传统pos机手续费为什么比无卡支付手续费还贵!
  19. Mysql主从延时-Multi-threaded slave statistics for channel
  20. Python是信奥的基础吗,学习信奥要不要先学python

热门文章

  1. 将数字0-9转为中文大写数字
  2. 已知序列1,2,3,5,8,...,求第20项的值( C 语言)
  3. 计算机碎片整理,如何对计算机进行碎片整理
  4. 基于STM32的智慧矿山之矿井安全监控终端的设计与实现
  5. opencv-python中 boundingRect(cnt)以及cv2.rectangle用法
  6. html设置自动切图指定位置,HTML5自助切图
  7. Teams下载安装教程
  8. 【知识兔】自学Excel之1:了解Excel 中的基本功能
  9. 废旧android手机变短信服务器
  10. android+照相软件,韩国很火的照相app