论文笔记系列:主干网络(一)-- ResNet

简介: 摘要: 深度网络训练难;残差网络可训练1000层网络;成就。1. Introduction: 提出深层网络存在模型退化问题;分析问题并提出残差学习策略、2. Related Work: 列举残差学习应用例子;单独用一段对比Highway Network。3. Deep Residual Learning: Residual learning; identity learning;Network Architecture。4. Experiments: 对ResNet进行实验

论文结构


摘要: 深度网络训练难;残差网络可训练1000层网络;成就。

1. Introduction: 提出深层网络存在模型退化问题;分析问题并提出残差学习策略、

2. Related Work: 列举残差学习应用例子;单独用一段对比Highway Network。

3. Deep Residual Learning: Residual learning; identity learning;Network Architecture。

4. Experiments: 对ResNet进行实验


一、摘要核心

① 提出问题:深度卷积网络难训练。


② 本文方法:残差学习框架可以让深层网络更容易训练


③ 本文优点:ResNet易优化,并随着层数增加精度也能提升


④ 本文的工作和成果


二、训练技巧

① 残差结构

image.png

(1) 网络退化(论文中的1)


网络退化问题:越深精度越低,即当模型的层次加深时,错误率却提高了。


分析:

问题1:梯度消失和爆炸,因为当模型变复杂时,SGD的优化变得更加困难,导致了模型达不到好的学习效果。消失问题很好的用初始化和normalize layer解决(eg.BN)


问题2:网络退化问题,越深精度越低 ,原因并不是过拟合而是网络退化的问题


深层网络可以看成是浅层网络基础上拓展一些额外层,若增加的那些层是恒等映射,则深层网络等价于浅层网络


提出解决深层网络的退化问题的方法:deep residual learning framework


拟合f(x)比拟合H(x)要容易


假设要拟合的是恒等映射,残差结构比普通结构更容易拟合,残差结构的网络层输出0就可以实现恒等映射


(2)residual learning(论文中的3.1)


第一段:1. 让网络层拟合H(x)-x,而不是H(x)


第二段:

1.去拟合H(x)-x这个思想是从网络退化得到启发的

2.网络层拟合x比较难

3.让网络层拟合0比较容易,因此网络层拟合0,再加上x就很容易得到恒等映射


第三段:

1.网络层不可能理想化拟合0

2.图7实验表明网络层虽然不能拟合0,但是其输出比较小


让额外的网络层更容易的学习到恒等映射

skip connection== shortcut connection == residual learning


(3)shortcut mapping (论文中的3.2)

image.png


shortcut有利于梯度转播。恒等映射使得梯度畅通无阻的从后向前传播,这使得ResNet结构可拓展到上千层。


当维度不匹配时可对x进行线性变换,W_s仅用于维度匹配


identity与F(x)结合形式,三种shortcut策略

A:仅分辨率变化处用零补齐

B:仅分辨率变化处用线性变换,通过网络层映射(比如添加1×1卷积),使特征图达到相同维度

C:所有shortcut用线性变换(比如1×1卷积)


若F(x)=0,则H(x)=x,网络实现恒等映射。深层网络接近浅层网络的性能


② ResNet

(1)ResNet结构

image.png

划为6个stage


头部迅速降低分辨率

4阶段残差结构堆叠

池化+FC输出。少了很多FC层。节省了大量参数。

(2)残差结构堆叠两种方式

image.png


Basic:两个3×3卷积堆叠

Bottleneck: 利用1×1卷积减少计算量

Bottleneck:

第一个1×1下降1/4通道数

第二个1×1提升4倍通道数


③ 预热训练

image.png

避免一开始较大的学习率导致模型的不稳定,因而一开始训练时用较小的学习率训练一个epochs,然后恢复正常学习率。


三、实验结果及分析

① 实验1:验证residual learning 可解决网络退化问题,可训练更深的网络。

image.png

② 实验2:横纵对比,shortcut策略(ABC)及层数

image.png

③ 实验3:成功训练1202层神经网络

image.png

④ 实验4: 残差学习输出神经元尺度

统计每个卷积+BN层输出神经元尺度,以标准差来衡量尺度。

image.png

结论:ResNet输出比plain小,表明带残差学习的结构比不带残差学习时,输出更偏向0,从而更近似于恒等映射。



四、论文总结

① 关键点、创新点

引入shortcut connection,让网络信息有效传播,梯度反向传播顺畅,使得数千层卷积神经网络都可以收敛。

skip connection== shortcut connection == residual learning

② 备用参考文献知识点

bottleneck中两个1×1卷积,分别用于减少通道数和增加/保存通道数

The three layers are 1×1, 3×3, and 1×1 convolutions, where the 1×1 layers

are responsible for reducing and then increasing (restoring) (论文4.1)


cifar-10数据集上的ResNet-110,第一个epochs采用较小学习率,来加速模型收敛。

We further explore n = 18 that leads to a 110-layer ResNet. In this case, we find that the initial learning rate of 0.1 is slightly too large to start converging5. So we use 0.01 to warm up the training until the training error is below 80% (about 400 iterations), and then go back to 0.1 and continue training. (论文4.2的第六段)

目录
相关文章
|
2月前
|
Linux 开发工具 Android开发
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
ijkplayer是由Bilibili基于FFmpeg3.4研发并开源的播放器,适用于Android和iOS,支持本地视频及网络流媒体播放。本文详细介绍如何在新版Android Studio中导入并使用ijkplayer库,包括Gradle版本及配置更新、导入编译好的so文件以及添加直播链接播放代码等步骤,帮助开发者顺利进行App调试与开发。更多FFmpeg开发知识可参考《FFmpeg开发实战:从零基础到短视频上线》。
137 2
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
|
2月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
65 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
2月前
|
机器学习/深度学习 人工智能
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
65 3
|
2月前
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
67 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
62 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
编解码 人工智能 文件存储
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
YOLOv7是一种新的实时目标检测器,通过引入可训练的免费技术包和优化的网络架构,显著提高了检测精度,同时减少了参数和计算量。该研究还提出了新的模型重参数化和标签分配策略,有效提升了模型性能。实验结果显示,YOLOv7在速度和准确性上超越了其他目标检测器。
53 0
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
|
2月前
|
机器学习/深度学习 API 算法框架/工具
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
58 0
|
5天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
6天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
23 10
|
7天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
33 10