第3周学习:ResNet+ResNeXt

  • ResNet
    • Batch Normalization
  • ResNeXt
  • 猫狗大赛
    • LeNet结果
      • ResNet结果
  • 本周思考问题

ResNet

ResNet网络的亮点:

  • 超深的网络结构(突破1000)层
  • 提出 residual 模块
  • 使用Batch Normalization加速训练(丢弃dropout)

    主要思想是通过构建恒等映射去解决网络退化问题。简单地说,原先的网络输入x,希望输出H(x)。现在我们改一改,我们令H(x)=F(x)+x,那么我们的网络就只需要学习输出一个残差F(x)=H(x)-x。作者提出,学习残差F(x)=H(x)-x会比直接学习原始特征H(x)简单的多。

    在不同的深度模型中,残差模块的结构是不同的,如下图。

Batch Normalization

Batch Normalization是google团队在2015年论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》提出的。通过该方法能够加速网络的收敛并提升准确率。在网上虽然已经有很多相关文章,但基本都是摆上论文中的公式泛泛而谈,bn真正是如何运作的很少有提及。
在图像预处理过程中通常会对图像进行标准化处理,这样能够加速网络的收敛,如下图所示,对于Conv1来说输入的就是满足某一分布的特征矩阵,但对于Conv2而言输入的feature map就不一定满足某一分布规律了(注意这里所说满足某一分布规律并不是指某一个feature map的数据要满足分布规律,理论上是指整个训练样本集所对应feature map的数据要满足分布规律)。而我们Batch Normalization的目的就是使每一个batch的feature map满足均值为0,方差为1的分布规律。

“对于一个拥有d维的输入x,我们将对它的每一个维度进行标准化处理。” 假设我们输入的x是RGB三通道的彩色图像,那么这里的d就是输入图像的channels即d=3,x=(x(1), x(2), x(3)),其中x(1)就代表我们的R通道所对应的特征矩阵,依此类推。标准化处理也就是分别对我们的R通道,G通道,B通道进行处理。

详细介绍Batch Normalization相关知识

ResNeXt



通过上边图1和图2可以看出来,ResNeXt结合了inception与resnet的优点,既有残差结构又对特征层进行了concat。通过图3最后的数据对比,ResNeXt能够保证FLops和参数在同一个量级的前提下,通过更宽或者更深的网络,来提高精度。每一个Block中每一条path在文章中被称为一个cardinality。实验表明,增加cardinality是获得精度的一种更有效的方法。

Aggregated Residual Transformations for Deep Neural Networks 留坑

猫狗大赛

LeNet结果

ResNet结果

本周思考问题

1、Residual learning

参考1
参考2

2、Batch Normailization 的原理

Batch Normalization通过一定的规范化手段,把每层神经网络输入值的分布强行拉回到均值为0方差为1的标准正态分布。
深度学习中 Batch Normalization为什么效果好?(留坑,还没有消化掉)

3、为什么分组卷积可以提升准确率?即然分组卷积可以提升准确率,同时还能降低计算量,分数数量尽量多不行吗?

不确定分组卷积是否可以提高准确率,也没在知乎大佬那么搜索比较明确的出处,留坑。
数量拉满,就变成了深度可分离卷积,所以在炼丹过程中要根据实际情况不断的调整。

第3周学习:ResNet+ResNeXt相关推荐

  1. 《Java程序设计》第十一周学习总结

    20175334 <Java程序设计>第十一周学习总结 教材学习内容总结 第十三章 URL类 一个URL对象通常包含最基本的三部分信息:协议.地址.资源. URL对象调用 InputStr ...

  2. 20175320 2018-2019-2 《Java程序设计》第2周学习总结

    20175320 2018-2019-2 <Java程序设计>第2周学习总结 教材学习内容总结 本周学习了教材的第二章及第三章的内容.在这两章中介绍了Java编程中的基本数据类型与数组以及 ...

  3. 2018-2019-1 20165214 《信息安全系统设计基础》第六周学习总结

    20165214 2018-2019-1 <信息安全系统设计基础>第六周学习总结 教材学习内容总结 1.输入操作是从I/O设备复制数据到主存,而输出操作是从主存复制数据到I/O设备 2.U ...

  4. 2017-2018-1 20155204 《信息安全系统设计基础》第十一周学习总结

    2017-2018-1 20155204 <信息安全系统设计基础>第十一周学习总结 教材学习内容总结 9.1物理和虚拟地址 物理地址:计算机系统的主存被组织成一个人由M个连续的字节到校的单 ...

  5. 2017-2018-1 20155202 《信息安全系统设计基础》第9周学习总结

    2017-2018-1 20155202 <信息安全系统设计基础>第9周学习总结 第6章 存储器层次结构 教材学习内容总结 随机访问存储器(Random-AccessMem)分为两类:静态 ...

  6. 20162303 2016-2017-2 《程序设计与数据结构》第六周学习总结

    20162303 2016-2017-2 <程序设计与数据结构>第六周学习总结 教材学习内容总结 通过继承来创建类,比从零开始编写代码来的更快.更容易也更经济. 继承在父类与子类之间建立了 ...

  7. 20145101《Java程序设计》第4周学习总结

    20145101<Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 继承:避免多个类间重复定义共同行为. 把相同代码提升为父类 运用extends关键字的子类会继承扩 ...

  8. 20155307 2016-2017-2 《Java程序设计》第10周学习总结

    20155307 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程:就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据 ...

  9. 20155204 2016-2017-2 《Java程序设计》第3周学习总结

    20155204 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 一个原始码中可以有多个类定义,但只能有一个公开类. 留心Scanner对于每一种类型的nex ...

最新文章

  1. 基于 Kubernetes 的微服务项目设计与实现
  2. Guice:最好用的依赖注入框架
  3. 修行的心态,积极的态度
  4. 实验一 链式存储结构的基本操作
  5. ionic2 问题整理汇总
  6. python problem
  7. python解析接口_010 python接口 bs4解析html
  8. mysql begin_MySQL 存储过程的 BEGIN 和 END
  9. NCH MixPad Masters for Mac - 录音和混音软件
  10. 工业机器人(10)-Matlab Robot Toolbox机械臂工作空间
  11. UVC协议CT_ZOOM_RELATIVE_CONTROL选择子放大缩小停止的问题
  12. 制图综合:河流水系提取简化
  13. Ubuntu下载Linux源码 编译Linux源码
  14. RFID入门学习(三次更改)
  15. C语言search函数的作用,C语言中库函数自带的查找函数bsearch
  16. es7,es8,es9新特性
  17. 蓝桥杯Python快速入门(4)
  18. 不用再期待别人的认可
  19. 存储系统中的算法:LSM 树设计原理
  20. OpenAI 人工智能绘图工具 DALLE 好用吗?

热门文章

  1. 关于Niche站运营,我有几句话要说
  2. ##如何通过写博客赚钱
  3. Glide加载图片模糊问题
  4. 轨迹绕圈算法_基于三次B样条曲线拟合的智能车轨迹跟踪算法
  5. android记账本登录界面,Android记账本开发(一):整体UI界面布局
  6. python xls 转化 xlsx
  7. 信创云元年,易捷行云EasyStack发布新一代全栈信创云
  8. OpenGL-曲面细分
  9. 【时间转换】将秒转换成“时分秒”格式
  10. 2021年危险化学品经营单位主要负责人报名考试及危险化学品经营单位主要负责人新版试题