IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【Deep Residual Learning for Image Recognition】 -> 正文阅读

[人工智能]【Deep Residual Learning for Image Recognition】

常规废话环节

? ? ? ? 这篇是接触深度学习后读的第一篇论文,就像上篇博客结尾说的,这是个很厉害的东西。文中介绍的是2015 ImageNet中分类任务的冠军——MSRA何凯明团队的Residual Networks,这篇论文也是2016年CVPR最佳论文。当然,关于这方面的东西不过多提,还是很推荐阅读原作,虽然对于一个英语渣来说很困难。

?1、Motivations

? ? ? ? 介绍一下正文,作者首先抛出了一个问题:深度神经网络越深越好吗?

? ? ? ? 按照定义来看,网络随着深度的增加,不断地去学习,只要不出现梯度消失/梯度爆炸,而且不出现过拟合,那么网络越深,最后的输出应该越接近我们的预期值。

? ? ? ? 但是随着网络的加深,却出现了退化(degradation)现象。即网络加深了,精度却下降了,而且不是由过拟合引起的。如下图:

? ? ? ? ?图中很明显的可以看到,随着精度的加深,56层网络error反而比20层网络还要高,这是不合理的。理论上,可以训练一个 shallower 网络,然后在这个训练好的 shallower 网络上堆几层?identity mapping(恒等映射) 的层,即输出等于输入的层,构建出一个 deeper 网络。这两个网络(shallower 和 deeper)得到的结果应该是一模一样的,因为堆上去的层都是 identity mapping。这样可以得出一个结论:理论上,在训练集上,Deeper 不应该比 shallower 差,即越深的网络不会比浅层的网络效果差

? ? ? ? 文中也提出了原因:随着网络越来越深,训练变得原来越难,网络的优化变得越来越难。理论上,越深的网络,效果应该更好;但实际上,由于训练难度,过深的网络会产生退化问题,效果反而不如相对较浅的网络。

? ? ? ? 本文提出的残差网络(Residual Networks)则解决了这个问题。

2、Residual Networks

? ? ? ? 文中引入残差网络结构,即在输入与输出之间(称为堆积层)引入一个前向反馈的shortcut connection,这有点类似与电路中的“短路”,也是上面提到identity mapping(恒等映射,即输入=输出)。原来的网络是学习输入到输出的映射H(x),而残差网络学习的是F(x)=H(x)?x。残差学习的结构如下图所示:

? ? ? ? 残差网络通过加入 shortcut connections,变得更加容易被优化。包含一个 shortcut connection 的几层网络被称为一个残差块,即上图所示结构。如图所示,x表示输入,F(x) = w_2\sigma (w_1x)\sigma代表relu激活函数,则最后输出为\sigma(F(x) + x)

? ? ? ? 那么这个结构为什么优化相对更容易呢?当没有 shortcut connection 时,残差块就是一个普通的 2 层网络。残差块中的网络可以是全连接层,也可以是卷积层。若第二层网络在激活函数之前的输出为?H(x)。假设极端情况:在该 2 层网络中,最优的输出就是输入的x,那么对于没有 shortcut connection 的网络,就需要将其优化成?H(x)=x;对于残差块来说,如果最优输出是?x,则只需要将?F(x)=H(x)?x优化为 0 即可。那么将残差优化到0比通过一个堆叠的非线性层去拟合一个恒等映射要容易得多。

3、网络结构

? ? ? ? ?上图最右侧就是一个残差网络的结构,残差网络和中间部分的 plain network 唯一的区别就是 shortcut connections。针对虚线部分的 shortcut connections,尺寸变化处理,有三种选择:

  1. zero-padding shortcuts。快捷连接仍然使用恒等映射,对不足的特征维数直接进行补零。
  2. projection shortcuts。利用1x1卷积核进行升降维匹配尺寸。其他的shortcut都是恒等映射(identity mapping)类型。
  3. 所有的shortcuts都使用projection shortcuts

4、深度瓶颈架构

????????减少训练时间,改为一种瓶颈设计。对于每个残差函数F,将2层结构改为3层,先用1x1压缩通道数目以减少计算量,3x3进行卷积,再用1x1进行升维,带来更高的效率。而图左因为该快捷连接连到了两个高维端,耗费太多时间。

5、实现

? ? ? ? ?这里直接粘上论文的原文,另外从大佬博客里偷到的翻译:

? ? ? ? 本来这篇博客昨天应该就写完发出来的,但是这两天感冒了昨天顶不住先回去睡觉了,今天早上吃了药昏昏沉沉了一整天,百度一查果然吃的药有嗜睡的副作用,淦。从早上晨会开始到晚上,盯着电脑脑袋就发昏,看不进去东西,明天早上不可能再吃了,摸了一天鱼,真香。(逃。

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:39:17  更:2021-12-09 11:43:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 1:27:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码