【DL论文精读笔记】ResNet
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的更多相关文章
- GoogLeNetv4 论文研读笔记
Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning 原文链接 摘要 向传统体系结构中引入 ...
- 【深度学习 论文篇 02-1 】YOLOv1论文精读
原论文链接:https://gitee.com/shaoxuxu/DeepLearning_PaperNotes/blob/master/YOLOv1.pdf 笔记版论文链接:https://gite ...
- tensorflow学习笔记——ResNet
自2012年AlexNet提出以来,图像分类.目标检测等一系列领域都被卷积神经网络CNN统治着.接下来的时间里,人们不断设计新的深度学习网络模型来获得更好的训练效果.一般而言,许多网络结构的改进(例如 ...
- 论文学习笔记 - 高光谱 和 LiDAR 融合分类合集
A³CLNN: Spatial, Spectral and Multiscale Attention ConvLSTM Neural Network for Multisource Remote Se ...
- Visualizing and Understanding Convolutional Networks论文复现笔记
目录 Visualizing and Understanding Convolutional Networks 论文复现笔记 Abstract Introduction Approach Visual ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- GoogLeNetv3 论文研读笔记
Rethinking the Inception Architecture for Computer Vision 原文链接 摘要 卷积网络是目前最新的计算机视觉解决方案的核心,对于大多数任务而言,虽 ...
随机推荐
- 在 Kubernetes 中部署 Redis 集群
在 Kubernetes 中部署 Redis 集群 在Kubernetes中部署Redis集群面临挑战,因为每个 Redis 实例都依赖于一个配置文件,该文件可以跟踪其他集群实例及其角色.为此,我们需 ...
- Macos下用pycharm运行django项目死活安装不上mysqlclient怎么办!!??
花了我三天时间,佛了 我刚从win过渡到mac,想着把代码迁移一下. 然后看到依赖里面有一个mysqlclient,然后pip3 install死活装不上 解决方案: 在这里写上这个 然后就好,死了
- 3.云原生之Docker容器三大核心概念介绍
转载自:https://www.bilibili.com/read/cv15181760/?from=readlist docker search --no-trunc=false [镜像名称] #搜 ...
- Kubernetes 安全
RBAC 权限控制 对资源对象的操作都是通过 APIServer 进行的,那么集群是怎样知道我们的请求就是合法的请求呢?这个就需要了解 Kubernetes 中另外一个非常重要的知识点了:RBAC(基 ...
- Java容器化参数配置最佳实践
Java是以VM为基础的,而云原生讲究的就是Native,天然的矛盾,虽然Quarkus是为GraalVM和HotSpot量身定制的K8s Native Java框架,生态原因切换成本太高,这种矛盾体 ...
- Elasticsearch之集群角色类型
角色划分 在Elasticsearch中,有很多角色,常用的角色有如下: Master Node:主节点 Master eligible nodes:合格节点 Data Node:数据节点 Coord ...
- 数据结构与算法【Java】08---树结构的实际应用
前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码. 要学习好数据结构就要多多考虑如何将生 ...
- day04-MySQL常用函数01
5.MySQL常用函数 5.1合计/统计函数 5.1.1合计函数-count count 返回行的总数 Select count(*)|count (列名) from table_name [WHER ...
- PHP全栈开发(二):MYSQL学习
昨天进行了CentOS 7 下面的 LAMP搭建 今天学习一下MySQL的一些入门级操作 主要参考PHP中文网的"MySQL最新手册教程" http://www.php.cn/my ...
- vue2.x核心源码深入浅出,我还是去看源码了
平常的工作就是以vue2.x进行开发,因为我是个实用主义者,以前我就一直觉得,你既然选择了这个框架开发你首先就要先弄懂这玩意怎么用,也就是先熟悉vue语法和各种api,而不是去纠结实现它的原理是什么. ...