Abstract

  • 利用残差学习架构释放深度

  • 152层深度是VGG的8倍,且复杂度更低

  • ImageNet上的错误率3.57%

  • 在ILSVRC和2015COCO竞赛,在多项任务拿到第一

3.1 Introduction

Figure 1:

普通深度神经网络的训练错误率和测试错误率,结果表明,层数越高,错误率越大

  • 回答网络过深导致的梯度下降和梯度爆炸问题:通过归一初始化层和中间归一层来解决

  • 普通网络随着层数加深导致准确率退化

  • 底层映射为H(X),则我们堆叠的非线性层去拟合另一个映射F(X)=H(X)-X,则原始映射就变成F(X)+X

核心思想

3.2 Related Work

3.2.1残差表示

看不懂

3.2.2快速连接

  • 文献[39,38,31,47]提出了对于中心层响应、梯度,传播误差,可以通过快速连接实现

  • “高速公路网络”提供了带有门控功能的快速连接

3.3.Deep Residual Learning

3.3.1 Residual Learning

  • 普通网络深度加深所带来的错误率退化问题激发了重塑结构的想法,这个问题也表明,求解器在近似映射多个非线性层上存在困难

3.3.2 Identity Mapping by Shortcuts

看不懂

3.3.3 Network Architectures

构造了两种模型,34层普通网络以及34层残差网络

Plain Network

  • 参考了VGG网络

  • 卷积层大多数有3x3的卷积核,还有两个设计规则: (i) 对于同一个输出的特征图大小,该层有相同的滤波器数 (ii) 如果特征图大小减半,滤波器的数量加倍

  • 最后是1000路的全连接层和softmax输出

  • 模型比VGG有更少的滤波器和更低的复杂度

Residual Network

  • 输入输出维度相同,则直接使用 identity shortcut

  • 如果维度增加则(A)快速通道仍然执行identity mapping,用零填充来增加维度 (B)Eqn.(2)中的投影快捷方式用于匹配维度(通过1×1卷积完成)。对于这两种选项,当快速通道跨越两种大小的特征映射时,它们的步幅为2

Implementation

一些实现的细节

  • 图片被重新调整大小短边随机采样在[256,480]范围

  • 每个像素减均值

  • 标准的增强,亮度、饱和度的东西调一调

  • 批量大小256,学习率0.1,当错误率比较平的时候就除10(目前不用这种方法)

  • 测试时给一张图片,在里面随机采样十个图片,然后预测十个子图,最后取平均

3.4. Experiments

3.4.1 ImageNet Classification

  • 通过对18,34层的普通网络和残差网络进行实验对比,普通网络的34层比18层在ImageNet上的错误率高,而残差网络的实验结果则相反

  • 当网 "不是太深"(这里是18层)时,目前的SGD求解器仍然能够找到普通网络的良好解决方案。在这种情况下,ResNet通过在早期阶段提供更快的收敛而缓解了优化

Identity vs. Projection Shortcuts

标识捷径 vs 投影捷径

比较三种不同的捷径结构

A:零填充捷径来增加维度 B:输出通道数改变才用投影 C:所有都用投影

注:输入和输出通道数不同的时候要投影,投影就是乘上一个1x1矩阵,不改变输入大小,只改变通道

结果表明都比普通网络要好

但是A/B/C之间的微小差异表明,投影捷径对于解决退化问题并不重要。所以我们在本文的其余部分不使用选项C,以减少内存/时间复杂性和模型大小。

Deeper Bottleneck Architectures

作者给出若设计大于50层更深的resnet的思路,就是引入Bottleneck(瓶颈)

设计思路:

当网络更深,可以学到更多的模式,通道数就会变大,计算复杂度会提高,64*4 = 256,解决该问题可以先用1x1的卷积将256维映射为64维,然后再映射回256维,

34层的resnet和50层的作对比,因为引入了Bottleneck结构,使得层数变深,通道数翻倍的情况下,FLOPs提升得也不是很多

更深的层设计:

101-layer and 152-layer ResNets:

与目前的sota模型比较:

3.4.2 CIFAR-10数据集上的训练分析

提出在训练集上训练,在测试集上评估的实验

采用简单的网络架构

Resnet在梯度消失上的作用:

红色部分为未加Resnet的梯度推导,层数越深则,按链式乘法法则会导致梯度越来越小

蓝色部分为Resnet的梯度推导,加上了g(X)则避免了上述问题

【DL论文精读笔记】ResNet的更多相关文章

  1. GoogLeNetv4 论文研读笔记

    Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning 原文链接 摘要 向传统体系结构中引入 ...

  2. 【深度学习 论文篇 02-1 】YOLOv1论文精读

    原论文链接:https://gitee.com/shaoxuxu/DeepLearning_PaperNotes/blob/master/YOLOv1.pdf 笔记版论文链接:https://gite ...

  3. tensorflow学习笔记——ResNet

    自2012年AlexNet提出以来,图像分类.目标检测等一系列领域都被卷积神经网络CNN统治着.接下来的时间里,人们不断设计新的深度学习网络模型来获得更好的训练效果.一般而言,许多网络结构的改进(例如 ...

  4. 论文学习笔记 - 高光谱 和 LiDAR 融合分类合集

    A³CLNN: Spatial, Spectral and Multiscale Attention ConvLSTM Neural Network for Multisource Remote Se ...

  5. Visualizing and Understanding Convolutional Networks论文复现笔记

    目录 Visualizing and Understanding Convolutional Networks 论文复现笔记 Abstract Introduction Approach Visual ...

  6. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  7. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  8. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

  9. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  10. GoogLeNetv3 论文研读笔记

    Rethinking the Inception Architecture for Computer Vision 原文链接 摘要 卷积网络是目前最新的计算机视觉解决方案的核心,对于大多数任务而言,虽 ...

随机推荐

  1. .NET 7 RC1 正式发布

    从年初2 月份发布第一个预览版,经历7个预览版后,Microsoft 西雅图时间9月14日发布了 .NET 7 RC 1:https://devblogs.microsoft.com/dotnet/a ...

  2. [Python]-tqdm模块-给for循环加上进度条

    import tqdm 使用tqdm模块,可以在漫长的for循环加上一个进度条,显示当前进度百分比. 将tqdm写在迭代器之外即可:tqdm(iterator) for i in tqdm(range ...

  3. 无线配置多一个路由器作为家庭wifi的无线热点?

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/ 手头上有个 MERCURY 的破旧路由器,怎么配置它,让它作为 ...

  4. 前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件

    最近我们公司接到一个客户的需求,要求为正在开发的项目加个功能.项目的前端使用的是React,客户想添加具备Excel 导入/导出功能的电子表格模块. 经过几个小时的原型构建后,技术团队确认所有客户需求 ...

  5. Stream流式计算

    Stream流式计算 集合/数据库用来进行数据的存储 而计算则交给流 /** * 现有5个用户,用一行代码 ,一分钟按以下条件筛选出指定用户 *1.ID必须是偶数 *2.年龄必须大于22 *3.用户名 ...

  6. 在 Traefik 中使用 Kubernetes Gateway API

    文章转载自:https://mp.weixin.qq.com/s/QYy8ETBB-xqU0IMI7YuTWw Gateway API(之前叫 Service API)是由 SIG-NETWORK 社 ...

  7. 第六章:Django 综合篇 - 5:自定义django-admin命令

    我们可以通过manage.py编写和注册自定义的命令. 自定义的管理命令对于独立脚本非常有用,特别是那些使用Linux的crontab服务,或者Windows的调度任务执行的脚本.比如,你有个需求,需 ...

  8. Kibana:如何让用户匿名访问 Kibana 中的 Dashboard

    文章转载自:https://elasticstack.blog.csdn.net/article/details/118152293 有一个很好的 Dashboard,我们想分析这个 Dashboar ...

  9. 修改 Docker容器 自动启动/不自动启动,挂载路径,存储位置

    有时候创建容器时忘了添加参数 --restart=always,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker conta ...

  10. 实战---在Portainer中编排docker-compose.yml文件

    选择要部署容器的主机上,不用事先安装配置docker-compose 官方示例文档地址,2.0版本的:https://docs.docker.com/compose/compose-file/comp ...