FractalNet: Ultra-Deep Neural Networks without Residuals
ICLR 2017
Gustav Larsson, Michael Maire, Gregory Shakhnarovich

文章提出了什么(What)

  1. ResNet提升了深度网络的表现,本文提出的分形网络也取得了优秀的表现,通过实验表示,残差结构对于深度网络来说不是必须的。
  2. ResNet缺乏正则方法,本文提出了drop-path,对子路径进行随机丢弃

为什么有效(Why)

  1. 分形网络不像resNet那样连一条捷径,而是通过不同长度的子路径组合,网络选择合适的子路径集合提升模型表现
  2. drop-path是dropout(防止co-adaption)的天然扩展,是一种正则方法,可以防止过拟合,提升模型表现
  3. drop-path提供了很好的正则效果,在不用数据增强时也取得了优秀的结果
  4. 通过实验说明了带drop-path训练后的总网络提取的单独列(网络)也能取得优秀的表现。
  5. 分形网络体现的一种特性为:浅层子网提供更迅速的回答,深层子网提供更准确的回答。

分形网络是怎么做的(How)

  1. 图中以粉红色的卷积层Convolution为基础层,实际上可以为其它类型的层或者子网络;绿色的Join层一般可以用相加或concat,这里采取了相加然后取平均,因此所有基础层可以使用一样的channel数量
  2. $ f_{C}(z) $ 中C表示列数,z表示输入,C=1表示一个基础层
  3. $ f_{C+1}(z) $ 则如图所示,在右边叠加两个$ f_{C}(z) $ ,左边接一个基础层
  4. 以此类推,当C等于4的时候,可以得到图中的$ f_{4}(z) $
  5. $ f_{4}(z) $作为一个block中,如图中最右边的网络所示,完整的网络接了5个block,block之间用Pool层连接,最后是预测层
  6. 令block个数为B,每个block中的列数为C,网络的总深度为$ B\cdot 2^{C-1} $

两种drop-path

实验训练的时候,mini-batch之间交叉使用Local和Global

  1. Local:对join层的输入dropout,但是至少保证要有一个输入
  2. Global: 对于整个网络来说,只选择一条路径,且限制为某个单独列,所以这条路径是独立的强预测路径

模型对比的实验

  1. +表示使用了水平镜像翻转和平移,++表示使用了更多的数据增强,实验主要和ResNet对比
  2. 用drop-path训练,可以从网络提取最深的单独列,在表格数据中可以看出也取得了不错的表现
  3. 不使用数据增强时,分形网络的表现超过了ResNet,可以看出分形网络更不容易过拟合
  4. 使用数据增强时,分形网络取得了和ResNet变种差不多的表现
  5. 不使用数据增强的时候,drop-path提升了表现
  6. 使用数据增强的时候,drop-path提升或者没有下降太大的表现

20层分形网络的模型细节

  1. 每个卷积层后面加了BN(先卷积,再BN,再relu激活)
  2. B=5,C=3
  3. 训练集都是32*32*3的图像,使用2*2的Max-pooling,经过5次下采样后32*32会变成1*1,最后的预测层使用softmax
  4. 为了实现方便,对于每一个block,调换了最后面的pool和join的顺序
  5. 五个block的卷积核数量默认为64,128,256,512,512
  6. 每个block最后的dropout概率设为0,0.1,0.2,0.3,0.4
  7. 整个网络的local drop-path设为0.15
  8. caffe实现,学习率为0.02,momentum为0.9,batchsize为100,使用Xavier初始化参数
  9. CIFAR-10/CIFAR-100迭代了400轮,SVHN迭代了20轮
  10. 每当“剩余epoch数减半”时,学习率除以10(比如剩余epoch为200时,剩余epoch为100时,剩余epoch为50时候)

其它实验

  1. 分形网络到了160层开始出现退化
  2. 平常的网络到了40层就出现了退化,到了160层不能收敛
  3. 使用了drop-path的分形网络提取的单独列(网络)比平常的网络取得了更优的表现,而且克服了退化问题(平常网络40层就退化)
  4. 这里的实验减小了每个block的channels,为16,32,64,128,128,batchsize设置为50

学习曲线

  1. 40层分形网络的学习曲线中,可以看到Col#4 开始学习时很慢,当其它子网学习趋近稳定时,Col#4学习速度提升
  2. 左图平常网络的学习曲线中没有这种性质(蓝色虚线)
  3. 假设分形网络会触发和深度监督,横向的“学生-教师”信息流类似的效果,那么可以这样分析,当分形网络依赖于单独使用Col#3来输出,当drop-path丢弃Col#3的时候,网络则会促进Col#4的学习,使得Col#4学的东西能代替Col#3,这是一个迷你的学生-教师问题

总结

  1. 论文的实验说明了路径长度才是训练深度网络的需要的基本组件,而不单单是残差块
  2. 分形网络和残差网络都有很大的网络深度,但是在训练的时候都具有更短的有效的梯度传播路径
  3. 分形网络简化了对这种需求(更短的有效的梯度传播路径)的满足,可以防止网络过深
  4. 多余的深度可能会减慢训练速度,但不会损害准确性

论文笔记:分形网络(FractalNet: Ultra-Deep Neural Networks without Residuals)的更多相关文章

  1. 论文笔记——Data-free Parameter Pruning for Deep Neural Networks

    论文地址:https://arxiv.org/abs/1507.06149 1. 主要思想 权值矩阵对应的两列i,j,如果差异很小或者说没有差异的话,就把j列与i列上(合并,也就是去掉j列),然后在下 ...

  2. 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior

    [论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...

  3. 论文翻译:2018_Source localization using deep neural networks in a shallow water environment

    论文地址:https://asa.scitation.org/doi/abs/10.1121/1.5036725 深度神经网络在浅水环境中的源定位 摘要: 深度神经网络(DNNs)在表征复杂的非线性关 ...

  4. 论文笔记之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

    Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR 2016 本文提出了一种新的CNN 框架来处理 ...

  5. 【论文笔记】Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition

    地址:https://arxiv.org/pdf/2006.11538.pdf github:https://github.com/iduta/pyconv 目前的卷积神经网络普遍使用3×3的卷积神经 ...

  6. Deep Learning 16:用自编码器对数据进行降维_读论文“Reducing the Dimensionality of Data with Neural Networks”的笔记

    前言 论文“Reducing the Dimensionality of Data with Neural Networks”是深度学习鼻祖hinton于2006年发表于<SCIENCE > ...

  7. 论文笔记:Mastering the game of Go with deep neural networks and tree search

    Mastering the game of Go with deep neural networks and tree search Nature 2015  这是本人论文笔记系列第二篇 Nature ...

  8. 论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks

    论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks 2018年07月11日 14 ...

  9. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

随机推荐

  1. Hadoop学习之路(十二)分布式集群中HDFS系统的各种角色

    NameNode 学习目标 理解 namenode 的工作机制尤其是元数据管理机制,以增强对 HDFS 工作原理的 理解,及培养 hadoop 集群运营中“性能调优”.“namenode”故障问题的分 ...

  2. 文件上传 python

    def upload(): r = requests.post( url='http://upload.renren.com/upload.fcgi?pagetype=addpublishersing ...

  3. 面向对象之final关键字

    1.1     final的概念 final是个修饰符,它可以用来修饰类,类的成员,以及局部变量.不能修饰构造方法. 问题: 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之 ...

  4. go lang中局部变量的内存分配

    晚上在阅读go lang的资料时突然想到一个问题,go是如何分配变量的内存结构的呢?好在网上的一篇文章做了透彻的分析见[go语言局部变量分配在栈还是堆]. 其结论是go语言局部变量的分配是由编译器决定 ...

  5. 4.Operators-操作符(Dart中文文档)

    Dart有如下操作符: Description Operator unary postfix expr++ expr-- () [] . ?. unary prefix -expr !expr ~ex ...

  6. 20155308 加分题-mybash的实现(第五周)

    20155308 加分题-mybash的实现(第五周) 实验要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管 ...

  7. @ModelAttribute三个作用:

    @ModelAttribute具有如下三个作用: ①绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时 ...

  8. 关于使用Tomcat搭建的Web项目,出现 URL 中文乱码的问题解析

    URL编码问题 问题描述 使用 Tomcat 开发一个 Java Web 项目的时候,相信大多数人都遇到过url出现中文乱码的情况,绝大多数人为了避免出现这种问题,所以设计 url 一般都会尽量设计成 ...

  9. 北京Uber优步司机奖励政策(4月22日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. 成都Uber优步司机奖励政策(4月21日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...