cv基础算法06-Resnet

ResNet是一种创新的深度学习网络结构,解决了深度网络训练难题。它通过残差学习框架,允许网络学习残差函数而非完整函数,有效防止网络退化,实现了网络深度的大幅度提升。ResNet简化了网络设计,提升了模型的训练效率和准确性,尤其在图像识别任务中表现出色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

东阳的学习记录,坚持就是胜利!

研究背景及意义

研究背景

Highway Network

首个成功训练成百上千层(100层及900层)的卷积神经网络

思路:借鉴LSTM, 引入门控单元,将传统前向传播增加一条计算路径, 变成公式( 3) 形式
在这里插入图片描述
增加了额外训练参数W_T(这是一个缺点,并且再resnet中避免了)

研究意义

  1. 简洁高效(没有花里胡哨的训练技巧和网络结构)的ResNet受到工业界宠爱, 自提出以来已经成为工业界最受欢迎的卷积神经网络结构
  2. 近代卷积神经网络发展史的又一里程碑, 突破千层网络, 跳层连接成为标配

摘要

  1. 提出问题: 深度卷积网络难训练
  2. 本文方法: 残差学习框架可以让深层网络更容易训练
  3. 本文优点: ResNet易优化, 并随着层数增加精度也能提升(虽然精度不如低层,但也能得到比较好的结果)
  4. 本文成果: ResNet比VGG深8倍, 但是计算复杂度更低, 在ILSVRC-2015获得3.57%的top-error
  5. 本文其它工作: CIFAR-10上训练1000层的ResNet
  6. 本文其它成果: 在coco目标检测任务中提升28%的精度, 并基于ResNet夺得ILSVRC的检测、 定位, COCO
    的检测和分割四大任务的冠军

网络退化

越深的网络拟合能力越强,因此越深的网络训练误差
应该越低, 但实际相反。因为新加的网络就算什么都不做(恒等映射),也不至于变坏。

原因:并非过拟合,而是网络优化困难,见下图:
在这里插入图片描述

残差结构

Residual learning: 让网络层拟合H(x)-x, 而非H(x)
注: 整个building block仍旧拟合H(x) , 注意区分building block与网络层的差异, 两者不一定等价 如下图所示:
在这里插入图片描述
每层网络输出的结果是两项相加的结果。

加了跳层连接(shortcut),增加了恒等映射的可能行!
在这里插入图片描述
当F(x)为0,则H(x) = x,网络实现恒等映射

Shortcut mapping

Identity与F(X)结合形式探讨:

  1. A-全0填充:维度增加的部分采用0来填充
  2. B-网络层映射:当维度发生变化时,通过网络层映射(例如:1*1卷积)特征图至相同维度
  3. C-所有Shortcut均通过网络层映射(例如:1*1卷积)

在论文中使用的时B方案。

Shortcut mapping 有助于梯度的传播
在这里插入图片描述
恒等映射使得梯度畅通无阻的从后向前传播,这使得Resnet结构可拓展到上千层(1202层)

网络结构

划分为6个stage(和6模型融合有关吗)

  1. 头部迅速降低分辨率
  2. 4阶残差结构堆叠(4个layers层)
  3. 池化 + FC层输出
    在这里插入图片描述

残差结构堆叠的两种方式

Basic:两个33卷积堆叠
Bottleeneck:利用1
1卷积减少计算量

Bottleneck:
第一个11下降1/4通道数
第二个1
1提升4倍通道数
在这里插入图片描述

预热训练

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

实验结果及分析

实验1

如下图:可以看到residual learning可解决网络退化问题, 可训练更深网络,并得到更好的结果。
在这里插入图片描述
在这里插入图片描述

实验2

横纵对比,shortcut策略(ABC)及层数
在这里插入图片描述
在这里插入图片描述
从上图中可以看到:网络层映射可以提升模型表现,深度的增加也可以提升精度。

模型融合

用作模型融合的几个模型的只是在深度上有区别。

思考与展望

  1. 大部分的梯度消失与梯度爆炸问题,可以通过良好的初始化或者中间层的标准化来解决。
  2. shortcut connection有很多种方法,本文主要采用的时恒等映射,即什么也不操作的往后传播。
  3. highway network引入了门阀,增加了需要额外训练的参数,但resnet没有增加新参数
  4. 恒等映射形式的shortcut connection是从网络退化问题中思考而来(就算什么也不做,也不至于变坏、那就增加什么也不做的可能性
  5. 借鉴VGG:本文设计原则
    1. 处理相同大小的特征图,卷积核数量一样;
    2. 特征图分辨率降低的时候,通道数翻倍;
  6. 当特征图的分辨率变化时,shortcut 采用的是stride=2进行处理
  7. 当特征图分辨率变化时,short connection同样采用stride=2进行处理
  8. bottlenect中使用1*1卷积用于增加/减少通道数
  9. 模型采用6中不同深度的resnet结构做模型融合
  10. 采用小学习率预训练,之后再用大学习率训练,以此加速模型的收敛。
  11. cifar-10数据集上, ResNet-1202比110要差, 原因可能是过拟合, 而不是网络退化
  12. 比较重要的一点:在googlenet-v3中的非对称卷积分解建议在分辨率在12-20之间,在resnet中是在14*14时修改building block的数量,为什么都选择在这个分辨率进行修改呢,是否可以得出某种经验结论。
  13. VGG因为全连接层,导致参数数量很大,所以经常被“鞭尸”。
  14. 人类完成的是逻辑上的改变,给模型更多的可能性,美其名曰,一切交给模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东阳z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值