首页 > 其他分享 >论文日记三:ResNet

论文日记三:ResNet

时间:2023-07-11 11:11:12浏览次数:46  
标签:卷积 论文 残差 ResNet 恒等 网络 日记 连接

导读

ResNet在ILSVRC 2015竞赛中大放异彩,其核心模块residual block使得卷积网络模型深度提高一个数量级,到达上百、上千层。在今天cv领域我们也经常用到它或它的变种,paper《Deep Residual Learning for Image Recognition

论文中第一张图点出了论文要解决的问题:
image

左边是训练误差,右边是测试误差,可见将20层网络简单地加深到56层后,并没有带来精度的提升,反而会导致模型的退化。(这里不是过拟合,因为其训练误差也增大了)

那么为什么加深网络会带来退化问题呢?理论上来说,即使新增的网络层什么都没学到,保持恒等输出(所有的weight都设为1),那网络的精度也应该等于原有未加深时的水平,如果新增的网络层学习到了有用特征,那么加深过后的模型精度必然会大于未加深的原网络。

实际上,让新增的网络层在训练过程中每一层都通过了线性修正单元relu处理,而这样的处理方式必然带来特征的信息损失,让其保持什么都不学习的恒等状态,恰恰很困难,因此,简单的堆叠layer必然会带来退化问题。

ResNet解决思想:既然让新增的层保持恒等映射很困难,那就额外增添一条路(identity)来保持恒等,如下图所示,

example input output gif

解释一下这个图,这里假设原有网络结构的映射为H(X),输出为X,,这里又添加了两个layer,在网络中的映射称为F(x)。既然新增layer保持不了恒等性,那我们可以通过跳跃连接来直接跳过它们来保持恒等;这里的融合操作只是单纯的相加,新结构的输出为F(x) + x ,原来结构的输出为x,这一目了然,即使最坏的情况,新加的层不会使网络更优,也不会出现退化的情况,相反新加的层如果提取到了更有用的特征,则模型效果会变好,真正实现了网络的精度加深后 >= 加深前,我们只需要优化F(x),使其趋于0即可,而使得F(x)接近0是相对比较容易的(无论是从权重初始化的角度还是通过激活函数) 虽然新增的F(x)不容易保持恒等,但让其尽量靠近0,还是相对容易做到的,这种训练方式称为残差学习,这种结构块也称为Residual Block残差块。正是残差结构的出现,使得残差网络能很好的加深网络层数,同时解决退化问题。

网络结构

论文列出了VGG、未加残差连接与加残差连接的网络结构示意图(我这里截一部分网络结构图)
image

在上图中实线代表普通的残差连接,虚线表示需要变换张量形状的残差连接,对于通道数不一致的情况,作者给出两种方法:一是往多出来的通道数里填0;二是使用1x1的卷积,对于大小的减半,都使用步幅为2的操作来实现减半。

这是不同层数的ResNet架构,可以看到是由一些残差块堆叠而成,与AlexNet、VGG这些不同,使用了Average pool代替了全连接层,同时也没有使用droput操作,之后再连接一层1000个神经元的全连接层,最后再接上一个Softmax。。
image

下图中左侧图是18-layer、34-layer残差块的连接结构,右侧则是50、101、152的残差结构,为了减少运算复杂度,输入进来先降维,再升维,这样由于其输入输出维度不同,需要1x1卷积进行维度转换:
image

实验分析

实现细节

与AlexNet一致的数据处理有:像素归一化(减去每像素平均)、标准颜色增强、裁剪成 224x224;其他操作:随机缩放图像短边至 [256, 480] 中的均匀随机值、随机翻转
在测试中,采用标准的10-crop测试(对图像裁剪10次,把输入分别输入网络,取结果的平均值)为了得到最好的结果,采用VGG中的全卷积模式,在多个尺度平均分数。(图像尺寸最短边被重整为{224,256,384,480,640})。感觉是为了打比赛弄的操作,现在一般不用
激活函数前加入BN操作,参数初始化使用 He Initialization,使用SGD优化算法,mini-batch为256。学习率初始为0.1,当错误率下降遇到瓶颈时(曲线不再下降时)便降低10倍,我们使用权重衰减0.0001以及momentum设为0.9。不使用dropout(没有使用全连接)。
作者做了一些消融实验和对比实验,
不同深度的ResNet对比:
image

可以看见,随着网络层数的增加,精度提升,表明残差块结构对深层神经网络的退化现象有效。

我们看一个消融实验:
image

这个实验作者想比较当输入输出维度不一样时,哪种结构的残差连接效果更好,A: 使用0填充来增添维度 B:当有维度变换时,使用1x1的卷积,没有则用恒等连接 C: 全部使用1x1的卷积;作者认为,B相对A更好,是因为通道数变化时0填充的部分没有残差学习,C相对B更好,是因为参数更多了,但精度没有很多改变,因此使用的B。

论文总结

  1. 解决了随着网络结构的加深,模型出现退化的情况,利用残差结构让网络能够更深、收敛速度更快、优化更容易,同时参数相对之前的模型更少、复杂度更低;
  2. 网络结构在卷积层后没有连接几个全连接层,没有使用dropout,而是一个全局池化
  3. 激活层前使用BN

代码实现

手动搭建了ResNet18、ResNet34、ResNet50、ResNet101、ResNet152,并在和之前AlexNet、VGG同样的数据集上训练与测试,代码在github

标签:卷积,论文,残差,ResNet,恒等,网络,日记,连接
From: https://www.cnblogs.com/Hjxin02AIsharing-Wust/p/17541936.html

相关文章

  • 《ReAct: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS》论文学习
    一、论文主要思想本文首先认为,到目前为止,LLM在语言理解方面令人印象深刻,它们已被用来生成CoT(思想链)来解决一些问题,它们也被用于执行和计划生成。尽管这两者是分开研究的,但本文旨在以交错的方式将推理和行动结合起来,以提高LLM的表现。这个想法背后的原因是,如果你考虑一下作为......
  • 在matlab中用蒙特卡洛算法对电动汽车充电负荷进行模拟,可自己修改电动汽车数量,论文复现
    在matlab中用蒙特卡洛算法对电动汽车充电负荷进行模拟,可自己修改电动汽车数量,论文复现。参考论文:基于V2G的电动汽车充放电优化调度策略有注释简单易懂,可随意调整参数。YID:3710647182121327......
  • 高效刷论文的方法?论文应该怎么读
    ​ 我们不缺少论文,我们缺少的是鉴别哪些应该读。无论是泛读还是精度,海量论文总是让我们迷失双眼,Github搜索awesome有成百上千个repo,但是缺少比较和注解。我们应该去哪里找值得读的论文,我们打开pdf论文的姿势正确吗?论文应该怎么读海量论文看不够,自己萌发了分门别类写阅读笔记的......
  • LLaMA模型指令微调 字节跳动多模态视频大模型 Valley 论文详解
    Valley:VideoAssistantwithLargeLanguagemodelEnhancedabilitY大家好,我是卷了又没卷,薛定谔的卷的AI算法工程师「陈城南」~担任某大厂的算法工程师,带来最新的前沿AI知识和工具,包括AI相关技术、ChatGPT、AI绘图等,欢迎大家交流~。近期基于LLaMA微调的模型有很多,Alpaca,Vi......
  • 【论文解析】EJOR 2011 A clustering procedure for reducing the number of represen
    论文名称:AclusteringprocedureforreducingthenumberofrepresentativesolutionsintheParetoFrontofmultiobjectiveoptimizationproblems动机假设一个三目标优化问题\[\begin{aligned}&\text{Availability:}\max_\thetaJ_1(\theta)=\max_{\theta_p,......
  • 《Generative Agents: Interactive Simulacra of Human Behavior》论文学习
    一、论文基本思想Figure1:Generativeagentscreatebelievablesimulacraofhumanbehaviorforinteractiveapplications.Inthiswork,wedemonstrategenerativeagentsbypopulatingasandboxenvironment,reminiscentofTheSims,withtwenty-fiveagents.Use......
  • 做题日记:1881. 插入后的最大值(leetcode)
    题目:给你一个非常大的整数n和一个整数数字x,大整数n 用一个字符串表示。n中每一位数字和数字x都处于闭区间[1,9]中,且n可能表示一个负数。你打算通过在n的十进制表示的任意位置插入x来最大化n的数值​​​​​​。但不能在负号的左边插入x。例如,如......
  • 23-7-7工作日记 EC626开发
    支持R14协议 256+2MB 空间 2MBNORflashSIPwithchip  内部32.768K时钟,外部26M时钟 弱网环境下,nb-iot设备经常掉线,,模组固件配置要打开空闲态时静态场景部署模式 提问式学习效率最高 ......
  • 论文方法对比
    TITLEDecentralizedFederatedLearning:BalancingCommunicationandComputingCosts这篇论文感觉没什么创新点(只是在本地节点完成多次本地更新后,再共识更新),写得不怎么好DecentralisedfederatedlearningwithadaptivepartialgradientaggregationCAAI聚合:传的是......
  • 国家集训队论文
    2021陈雨昕《太阳神的宴会》命题报告代晨昕后缀树的构建邓明扬一类调整算法在信息学竞赛中的应用可能有交丁晓漫再探线性规划对偶在信息学竞赛中的应用...郭城志浅谈信息学竞赛中的弦图问题......