WRN详解

宽残差网络——WRN 宽残差网络——Wide Residual Network 文章出自Sergey Zagoruyko的Wide Residual Network 残差网络——Residual Network近年来,残差网络(Residual Network)在各个测试集上都取得了不错的效果,其网络结构如下图所示, 其网络网络由残差模块组成 其中的跳跃式连接可以将残差很好的传递过去,从而避免梯度消失的现象。 阅读详情

WRN

《Wide Residual Network》

1 提出问题

​ 随着卷积神经网络模型的发展,网络的深度问题也一直被关注。到底是选择浅层网络好还是深层网络好?这个问题也一直没有被解答。

​ ResNet中提出的bottleneck块(如下图)进一步增加了网络的深度。bottleneck块中加入了1*1的conv,主要用于embedding和减少参数。但bottleneck进一步使得网络变得更深更窄(deeper,thiner)。ResNet最大深度已经达到了1001层。

在这里插入图片描述

​ ResNet深度的增加也带了一定的问题:首先,随着深度增加,模型中的参数数量也大量增加,给模型训练带来了一定困难,需要使用各种正则化方法解决过拟合问题;其次,深度过大,使得残差结构中F(x)的激活值很小,对模型最终结果的贡献也减少了,模型的特征重用减弱。

​ 实验表明,Residual Netwrok的优秀效果主要来自于残差结构,而不是网络的深度。针对这一结果,文中尝试增加网络宽度来改进模型。

2 解决方法

2.1 相关定义

​ 为了更好的理解文中提出的Wide Residual Network(WRN),有如下描述定义:

​ l:深度因素(deepening factor),表示单个残差块中卷积层的数量;

​ k:宽度因素(widening factor),表示卷积层中filter的数量倍数,此时filter数量为k*N,N=16/32/64;

​ d:Residual Network中残差块的数量;

​ B(M):残差块的结构,eg:B(3, 3)表示块中包含2个3*3卷积层;

​ WRN-n-k-B(M):模型结构,eg:WRN-40-2-B(3, 3),表示层数为40,宽度为2,残差块结构为B(3,3)的WRN。

2.2 主要方法

​ 正如上一节所提到的,ResNet中残差块的结构对与模型最终的性能其这决定性作用,那么如果可以提高残差快的特征提取能力的话,模型最终的效果也一定会有所提升。常用的方法有如下几种:

  1. 增加残差块中conv的数量,即提高深度因素l;
  2. 增加残差块中conv的宽度(增加filter数量),即提高宽度因素k;
  3. 增加残差块中conv的filter大小。

​ 对于3,很多文章都表明,3*3conv是非常有效的,所以文中不在考虑更改fitler大小。

​ 除了更改模型中残差快的结构以外,文中还对Dropout的使用进行了讨论。

3 实验结果

3.1 最优的B(M)

​ 文中对不同的B(M)进行了测试,B(M)主要包括B(1, 3, 1)、B(3, 1)、B(1, 3)、B(3, 1, 1)、B(3, 3)和B(3, 1, 3)。

​ 其中B(1, 3, 1)、B(3, 1)、B(1, 3)和B(3, 1, 1)中只包括一个3*3卷积层,参数数量相对较少,而B(3, 3)和B(3, 1, 3)中包括两个3*3卷积层,参数数量相对较多。为了保证实验中模型的总体参数数量大致相同,基于前四种B(M)构建WRN-40-2-B(M),对于B(3, 3)和B(3, 1, 3),分别构建WRN-22-2-B(3, 1, 3)和WRN-28-2-B(3, 3)。

在这里插入图片描述

​ 实验结果上图,基于B(3, 3)构建的WRN在CIFAR-10数据集上测试误差最小。

3.2 最优的l

​ 文中在WRN-40-2的基础上,测试了不同l下模型的测试误差。文中主要针对WRN-40-2-B(3)(l=1)、WRN-40-2-B(3, 3)(l=2)、WRN-40-2-B(3, 3, 3)(l=3)、WRN-40-2-B(3, 3, 3, 3)(l=4)进行了测试。

在这里插入图片描述

​ 实验结果如上图,可以发现l=2时模型的模型的效果最好,即WRN-40-2-B(3, 3)最好。

​ 分析原因,可能是因为当l>=2时,随着l的增大,恒等映射的数量减少,使得模型的效果变差。

3.3 最优的depth/k

​ 对于ResNet来说,depth和k(不等于d)决定了模型的规模。若depth或k增加,模型中的参数数量也将增加,在一定范围内,这将对模型的效果起积极作用。

​ 那么问题实际上就转化为了k和deepth的trade-off。

在这里插入图片描述

​ 文中对不同的depth和k的组合进行了测试,实验结果如上。

​ 根据上图可以发现,在一定范围内增加depth或k的话,模型的测试误差将会有所降低。

​ 下图是文中做的进一步实验,对比了WRN与其他模型在CIFAR-10和CIFAR-100数据集上的表现。可以发现的事,WRN比起original-ResNet有了明显的提升,这说明original-ResNet的depth/k并非最佳。

在这里插入图片描述

在这里插入图片描述

​ 文中通过上述几个实验发现:

  1. 增加宽度可以提高Residual Network的性能;
  2. 增加宽度和深度都会对提高Residual Network的性能有所帮助,前提是模型参数数量不会变的很大,否则将需要一个更强的正则化器;
  3. 相同参数数量下,WRN要比Residual Netwrok的性能好

3.4 Dropout

​ 文中在残差块中加入了Dropout,模型的性能有了一定提升,实验结果见下图。

在这里插入图片描述

​ 文中对模型的测试误差曲线和loss曲线进行观察发现,模型训练过程中学习率下降后,模型会出现高值震荡直到 学习率再次下降,加入Dropout后可以缓解这种情况。

在这里插入图片描述

4 总结

​ 文中给出的WRN总体结构如下。

在这里插入图片描述

​ 最后文中通过对比,表明了WRN的计算效率也比thin的Residual Network高。

在这里插入图片描述

WRN[论文笔记] 论文: Wide Residual Networks 论文地址 简介 随着模型深度的加深,梯度反向传播时,并不能保证能够流经每一个残差模块的权值,以至于它很难学到东西.训练十分深的残差网络仍会有特征重用消失的问题,训练速度会减慢. wide residual networks (WRNs)减少深度,但是增加了残差块的宽度.作者希望使用一种较浅的,但是宽度更宽的模型,来更加有效的提升模型的性能. 说... 阅读详情

相关推荐

半监督学习新突破:Mean Teacher算法实战解析与代码实现

本文深入解析了半监督学习领域的Mean Teacher算法,通过师生互动机制和一致性约束,显著提升模型性能。文章详细介绍了算法原理、PyTorch实现步骤及调优技巧,帮助开发者在数据标注成本高的场景下高效训练模型。

weixin_30955617的博客 424

WRN 论文笔记

WRN:Wide Residual Networks 摘要 深度残差网络能够将网络深度扩大到上千层,并且有很好的性能提升。但是,分类准确率每提高百分之一的代价几乎是层数的两倍。所以训练非常深的残差网络有一个问题:特征利用率逐渐下降,这使得残差网络的训练非常慢。为了解决这些问题,本文中,我们对残差块进行了详细的实验研究。基于该研究,我们提出了一个新架构,这个架构减少了深度并且增加了残差网络的...

黑暗星球 9733

半监督学习实战:用Pseudo-Label算法提升小样本分类效果(附PyTorch代码)

本文详细介绍了如何利用Pseudo-Label算法在半监督学习框架下提升小样本分类效果,并提供了完整的PyTorch实现代码。通过伪标签生成和熵最小化技术,该算法能有效利用未标注数据,显著提升模型性能。文章包含环境配置、数据准备、模型架构设计以及训练策略等实战内容,帮助开发者在数据标注成本高的场景下实现高效模型训练。

weixin_29223603的博客 227

⌈ 传知代码 ⌋ WRN: 宽度残差网络

本文复现论文提出的深度神经网络模型。为了解决深度神经网络梯度消失的问题,深度残差网络(Residual Network[2])被提出。然而,仅为了提高千分之一的准确率,也要将网络的层数翻倍,这使得网络的训练变得非常缓慢。为了解决这些问题,该论文对ResNet基本块的架构进行了改进并提出了一种新颖的架构——宽度残差网络(Wide Residual Network),其减少了深度并增加了残差网络的宽度。

Dream_Y.ocean的博客 1397

WRN: 宽度残差网络(论文复现)

WRN: 宽度残差网络(论文复现)

wei_shuo的博客 1147

wrn广泛残余网络的源代码

广泛残余网络的源码,深度学习的标配,可以用此进行转移学习!

[论文阅读]Parameter Efficient Training of Deep CNN by Dynamic Sparse Reparameterization

文章目录前言摘要一、Introduction二、Experiments三、Results三、Conclusion总结 前言 论文名:Cross-Channel Intragroup Sparsity Neural Network 论文作者:Zilin Yu et.al. 机构: Peiking University Hangzhou Dianzi University Cerebras Systems 期刊/会议名:Arxiv 2019 本文作者:XMU_MIAO 日期:2020/12/3 摘

ZY_miao的博客 1191

Win10系统安装Ubuntu虚拟机,这回真的是零基础!(结尾附NS3的配置)

Win10系统安装Ubuntu虚拟机(结尾附NS3的配置) 序幕 本人现在还在念大二,有一门很有趣而且老师讲得也不错的课程《计算机网络原理》。这周老师布置了一个实验《NS3网络模拟》,为了详细记录本次实验过程,顺便也便于自己复习,就写了这篇博客,希望能够对你有帮助! NS3是什么呢?实际上就是一门算法,和计算机网络有关的。不过在我们日常使用的Windows系统上去做这个实验是行不通的,这个实验一定要在Linux系统上进行模拟才能玩的下去,作为一名 Windows选手对此表示不爽但是没办法,为了实验也只

灼热之翼的博客 7382

【youcans动手学模型】Wide ResNet 实战:从零构建与CIFAR-10图像分类

本文详细介绍了Wide ResNet(WRN)在CIFAR-10图像分类任务中的实战应用,包括从零构建模型、使用PyTorch实现、数据准备与增强技巧、训练策略及模型评估。WRN通过增加网络宽度而非深度,显著提升性能并加速训练,适合图像分类任务。文章还提供了完整的代码示例和调参建议,帮助读者快速掌握这一技术。

weixin_33724046的博客 193

单像素成像技术原理与Matlab仿真实现

傅里叶变换是数字图像处理的核心数学工具,它将图像从空间域转换到频率域表示。基于傅里叶频谱分析的成像技术通过采集关键频率分量实现图像重建,这种原理催生了单像素成像这一创新技术。单像素成像利用空间光调制器和单个探测器直接测量傅里叶系数,结合压缩感知算法实现高效成像,在红外、太赫兹等特殊波段展现出独特优势。通过Matlab仿真可以验证傅里叶基测量矩阵的构建、压缩感知重建等关键技术环节,为实际系统开发提供理论基础。该技术在弱光环境成像、显微观测等领域具有重要应用价值,其低成本特性也大大降低了特殊波段成像的门槛。

weixin_29061425的博客 345

SEED-VII 实战指南:如何利用多模态脑电图数据提升情感识别精度

本文提供了SEED-VII多模态脑电图数据集的实战指南,详细介绍了如何利用该数据集提升情感识别精度。内容涵盖数据获取、预处理、特征提取,以及构建多模态融合神经网络模型的关键步骤,并强调了被试者独立评估的重要性,为情感计算研究者提供了从数据到模型的全流程解决方案。

weixin_29196891的博客 318

RepoPrompt CE的CodeMap揭秘:如何用tree-sitter为AI构建轻量级代码结构地图

RepoPrompt CE 是一款开源的 macOS 原生上下文工程(Context Engineering)应用,它的核心模块 **CodeMap** 利用 **tree-sitter** 为 AI 构建轻量级代码结构地图:不加载整个仓库,而是用几十字节的"文件骨架"让 AI 先看懂代码结构,再精准读取细节,从而大幅节省 token 成本。 ## 什么是 CodeMap:给 AI 的"文件目录

gitblog_00694的博客 492

XCKU060光纤卡学习资料保存:基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡

基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡 一、板卡概述 本板卡系我司自主研发,基于XilinxUltraScaleKintex系列FPGAXCKU060-FFVA1156-2-I架构,支持PCIEGen3x8模式的高速信号处理板卡,搭配两路40GQSFP+接口,两组64-bitDDR4,每组容量8Gbyte,可稳定运行在2400MT/s。板卡具有自控上电顺序,BP...

3074

WRN(Wide ResNet)

Paper : Wide Residual Networks Code : official 摘要 深度残差网络能够将网络深度扩大到上千层,并且有很好的性能提升。但是,分类准确率每提高百分之一的代价几乎是层数的两倍。深度越深的网络,出现梯度消失的可能性越高,训练起来越慢。因此,为了解决这些问题,作者提出使用深度适中,通道数更高的网络模型来替代深而细的网络模型。 网络结构 ResNet的引入大大加深了可训练的神经网络的深度,而为了减少参数规模而使用bottleneck更是使得网络变得细长。ResNet和著.

fnoi2014xtx的博客 2520

Moveit +Gazebo:搭建单臂机械臂仿真平台

Moveit +Gazebo:搭建单臂机械臂仿真平台

magic_invaid的博客 5290

ESP32-C3模组上跑通OTA升级(3)

ESP32-C3模组上跑通OTA升级(3)

phmatthaus的专栏 1351

WRN详述

本文介绍Wide Residual Networks,介绍其被广泛使用的原因。

周先森爱吃素的博客 3488

基于强化学习的多无人机路径规划

我们使用了Dueling Double Deep Q-Network(DDDQN)算法来训练智能体,这个算法在深度Q学习算法的基础上进行了升级,具有更快的收敛速度和更好的性能。本文提出了一种基于强化学习的算法,实现了多无人机路径规划,并提供相应的MATLAB代码。通过基于强化学习的多无人机路径规划算法,我们能够高效地解决复杂环境下的任务需求,并在实际应用中取得了良好的效果。首先,我们定义了状态空间和动作空间。实验结果表明,我们的方法能够有效地解决多无人机路径规划问题,提高了任务完成的效率和准确率。

DjjPython的博客 820

DRN和WRN

Wide—ResNet(WRN) 深度改变:把3*3卷积核变成两个1*1的卷积核 宽度改变:在两个3*3的卷积核之间加一个dropout,卷积核大小不变, 证明:残差网络深度不是那么重要,残差连接最重要   Dilated ResNet(DRN空洞卷积或扩张卷积) 不用pooling来降低特征图的尺寸来增大卷积的感受野 输入与输出同样特征图的尺寸   大小尺寸不变,深度有些变化,

qq_35707830的博客 1075

基于Simulink的永磁同步电机容错控制(缺相容错)

本文基于Simulink平台,详细介绍了永磁同步电机(PMSM)缺相容错控制的仿真实现方法。针对逆变器开路故障导致的缺相问题,提出"检测-重构-补偿"三阶段控制策略:采用电流阈值法快速检测故障(<5ms),重构αβ坐标系实现两相矢量控制,并通过谐波电流注入抑制转矩脉动(<8%)。仿真结果表明,该方法能有效维持故障后电机运行,转速波动<3%,满足电动汽车等关键应用的可靠性需求。文章包含完整的Simulink建模步骤、MATLAB函数代码及参数设置,为工程实践提供了可复现的

xiaoheshang_123的博客 146

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ModuleNotFoundError: No module named ‘wrn‘ 解决

pytorch报错 ModuleNotFoundError: No module named 'wrn' 解决

CHERRY_cong的博客 1038

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

wrn-echarts:在 RN 中使用 ECharts

本篇文章主要介绍 wrn-echarts 项目,接下来本文会从诞生背景、设计与实现、效果演示等环节向大家详细介绍这个项目。

a18017370100的博客 761

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

深度学习模式与实践指南(二)

使用设计模式来设计和编码卷积神经网络可以使模型更易于理解,节省时间,确保模型代表了最佳 SOTA 实践,并且易于他人复现。程序设计模式使用了软件工程中的重用原则,这是软件工程师广泛实践的原则。宏架构由主干、学习者和任务组件组成,这些组件定义了模型中的流程以及在哪里/进行何种类型的学习。微架构由定义模型如何执行学习的组和块设计模式组成。预处理组的目的在于扩展现有的(预训练)模型以用于上游数据预处理、图像增强以及对其他部署环境的适应。

龙哥盟 152

learn2learn模型架构完全解析:CNN4、ResNet12、WRN28等网络实现

learn2learn作为PyTorch的元学习研究库,提供了多种精心设计的神经网络架构,专门用于少样本学习任务。这些模型经过优化,能够在小样本数据上快速适应新任务,是元学习领域的重要工具。本文将深入解析learn2learn库中的核心网络模型,帮助你全面理解这些模型的架构设计和应用场景。😊 ## learn2learn模型架构概览 learn2learn的视觉模型模块位于 `learn2l

gitblog_00619的博客 863

WRN28_10 on CIFAR100 精度77.54%

时间20210502 作者:知道许多的橘子 实现:WRN28_04对CIFAR-100数据集的分类 测试集准确度:77.54% 实现框架pytorch 数据增强方法:Normalize+Fix等 训练次数:200 阶段学习率[0-200]:smooth_step(10,40,100,150,epoch_s) 优化器optimizer = torch.optim.SGD(model.parameters(),lr=smooth_step(10,40,100,150,epoch_s), momentum=0.9

Xingwen_future的博客 2890

stop-slop 实操手册:用 7 个 Markdown 文件快速清除文章的 AI 味

你刚让模型写完一篇产品介绍,回头读,"here's the thing"和"not A but B"接连出现。stop-slop 是剥离 AI 写作痕迹的技能文件,接给模型后,它按清单核对稿子并逐句改写。 ## stop-slop 解决什么问题,适合谁 stop-slop 是一份技能文件:它把一份完整的"AI 写作痕迹清单"交给模型,让模型对照清单自查并改写文稿。常用品类文案、公众号文章、产品

gitblog_00473的博客 356
上一篇: ResNet详解
下一篇: BP算法实现 Python
今生有幸.~
博客等级 码龄9年 26粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值