DenseNet模型解读

简介: 传统的卷积网络在一个前向过程中每层只有一个连接,ResNet增加了残差连接从而增加了信息从一层到下一层的流动。FractalNets重复组合几个有不同卷积块数量的并行层序列,增加名义上的深度,却保持着网络前向传播短的路径。相类似的操作还有Stochastic depth和Highway Networks等。 这些模型都显示一个共有的特征,缩短前面层与后面层的路径,其主要的目的都是为了增加不同层之间的信息流动。DenseNet基于此提出了一种新的连接模式--Dense connections。

传统L层的网络仅有L个连接,在DenseNet中使用了L(L+1)/2个连接。这样做有几个明显的优点:避免了梯度消失问题,加强了特征传播,实现特征复用(feature reuse),以及实质上减少了参数量。


DenseNet在CIFAR-10, CIFAR-100, SVHN, 和ImageNet上超过了大部分的SOTA模型,使用更少的计算实现了更好的效果。


b70cdbbc41f64905f15e08a70b8d6731.png

DenseNet网络结构


58aeb4c73d265889e7c08b766d33b036.png

   DenseNet使用Dense connections构成三个Dense Block,再通过几层卷积和池化。其中Dense Block中的Dense connections是通过concat实现的。


   在ResNet中,残差连接的识别函数为Xi = Hi (Xi-1) +Xi-1,这里i指层数。而DenseNet中的识别函数为 Xi = Hi( [X0, X1, X2... Xi-1] )。(注:一个输入经过卷积,BN,激活函数,得到输出,这个过程可认为是一个识别函数Hi)


   考虑到是使用Concat连接,若每个Block层数和通道数太多,将导致Block巨大,这里Block中每层的通道数都比较小(在本文中通道数用K表示,k取12,24,40)。这里K也表示growth rate。如每个识别函数产生k个通道,则第i层将有k0 + k x( i-1)个输入通道。


   在DenseNet中,Block的结构是BN + ReLU +3x3Conv。而在DenseNet-B中使用了Bottleneck, Block的结构是BN+ReLU+1x1 Conv+BN+ReLU+3x3 Conv,在1x1处降维以减少参数。在DenseNet-C中为了使得模型更小,使用了一个超参数θ,对于通道数为k的block,其通道数在DenseNet-C中变为θk, θ取0.5。(注:DenseNet中是没有使用Bottleneck和超参数θ的,对于同时使用Bottleneck和θ的模型成为DenseNet-BC)。


8b75d26cc6197f7b916ee76afa62fa98.png


DenseNet在ImageNet上的结构如上所示,这里的Block都是BN+ReLU+3x3Conv结构。


实现细节


   除了用于ImageNet数据集的模型有四个Dense Block,其他都只有三个,在第一个dense block前有16通道输出、3x3卷积核大小的卷积层用于处理输入图片,(DenseNet-BC是32通道),每层卷积都使用了1个像素的padding以保持输出大小不变,在两个Dense blocks之间使用1x1卷积和2x2平均池化作为Transition Layer,在最后一个Dense blocks后使用全局平均池化,以及softmax分类器。


   三个Dense blocks的feature map大小分别是32x32, 16x16, 8x8。对于一般的DenseNet,有三种结构配置:{L=40, k=12},{L=100, k=12},{L=100, k=24}。而对于DenseNet-BC结构,使用如下三种网络配置:{L=100, k=12},{L=250, k=24},{L=190, k=40}。这里L指的是模型的总层数,不是dense block的层数。(注:BN,pooling,ReLU都是不计入层数中的)。


   图像输入大小为:224x224。


DenseNet理论依据


   Dense connections使得前几层的信息在后面层中可以直接获得,信息得到很好的保留,增加了不同层之间的信息流动以及梯度传播,这使得模型更加容易训练。这种在每一层都使用前面所有层的信息的方式,称之为特征复用(feature reuse),其他论文里出现这个feature reuse。


   每一层都可以直接获得来源于Loss function的梯度和输入信号(这里指的直接来源于Loss function的梯度其实指的是dense block,而不是DenseNet),从而实现了隐式的深监督(Implicit Deep Supervision),这也有利于训练更深的网络。


   此外,它还有正则化效果,这使得它可以使用更小的模型尺寸,而不会出现过拟合。


结论


e2720080bbfd4a8c03accd9b2bc98d7c.png

相关文章
|
人工智能 语音技术 云计算
基于客户真实使用场景的云剪辑Timeline问题解答与代码实操
本文为阿里云智能媒体服务IMS「云端智能剪辑」实践指南第6期,从客户真实实践场景出发,分享一些Timeline小技巧(AI_TTS、主轨道、素材对齐),助力客户降低开发时间与成本。
135842 86
基于客户真实使用场景的云剪辑Timeline问题解答与代码实操
|
缓存 JavaScript 前端开发
看完这篇文章,不再害怕Vue3的源码(二)
看完这篇文章,不再害怕Vue3的源码
|
12月前
|
存储 人工智能 Java
Neo4j从入门到精通:打造高效知识图谱数据库 | AI应用开发
在大数据和人工智能时代,知识图谱作为一种高效的数据表示和查询方式,逐渐受到广泛关注。本文从入门到精通,详细介绍知识图谱及其存储工具Neo4j,涵盖知识图谱的介绍、Neo4j的特点、安装步骤、使用方法(创建、查询)及Cypher查询语言的详细讲解。通过本文,读者将全面了解如何利用Neo4j处理复杂关系数据。【10月更文挑战第14天】
1345 6
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv8改进 - 特征融合NECK】 GIRAFFEDET之GFPN :广义特征金字塔网络,高效地融合多尺度特征
YOLOv8专栏探讨了目标检测的创新改进,提出了GiraffeDet,一种轻量级主干和深度颈部模块结合的高效检测网络。GiraffeDet使用S2D-chain和GFPN,优化多尺度信息交换,提升检测性能。代码和论文可在相关链接找到。GFPN通过跳跃和跨尺度连接增强信息融合。文章还展示了核心组件如SPPV4、Focus和CSPStage的代码实现。
|
Java 应用服务中间件
Tomcat出现the jre_home environment variable is not defined correctly this environment variable is need
今天运行Tomcat点击startup.bat cmd直接一闪而过,直接闪退了,很难受,原因是前几天手贱不小心把环境全删了,好难受,只能重新安装了,现在官网下载jdk,我的是jdk-17.0.2,路径是`D:\javase\jdk-17.0.2` 记住这个路径(很重要),然后在环境变量里设置,在用户变量里添加JAVA_HOME与JRE_HOME把我们刚刚的路径复制进去。在系统变量里面的PATH新建的添加%JAVA_HOME%\bin 与%JRE_HOME%\bin 点击确定。环境配置好了。
889 0
Tomcat出现the jre_home environment variable is not defined correctly this environment variable is need
|
机器学习/深度学习 自然语言处理 搜索推荐
常用的相似度度量总结:余弦相似度,点积,L1,L2
相似性度量在机器学习中起着至关重要的作用。这些度量以数学方式量化对象、数据点或向量之间的相似性。理解向量空间中的相似性概念并采用适当的度量是解决广泛的现实世界问题的基础。本文将介绍几种常用的用来计算两个向量在嵌入空间中的接近程度的相似性度量。
1171 1
|
Web App开发 编解码 移动开发
React 框架下如何集成 H.265 流媒体视频播放器 EasyPlayer.js?
H5 无插件流媒体播放器 EasyPlayer 属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持 H.264 与 H.265 编码格式,性能稳定、播放流畅,能支持 WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC 等格式的视频流。在功能上,EasyPlayer 支持直播、点播、录像、快照截图、MP4 播放、多屏播放、倍数播放、全屏播放等特性,并且已实现网页端实时录像、在 iOS 上实现低延时直播等功能,具备较高的可用性和稳定性
433 0
|
Linux
一文搞懂 USB 设备端驱动框架
hello 大家好,今天带领大家学习一下USB 设备端驱动 内核版本:4.4.94
1638 0
|
机器学习/深度学习 计算机视觉 网络架构
【前沿经典模型】ResNet最强改进之ResNeSt(附源码)(一)
【前沿经典模型】ResNet最强改进之ResNeSt(附源码)(一)
3210 0
|
存储 机器学习/深度学习 缓存
阿里云服务器8核32G配置可选实例规格详解及优惠价格表(2023年更新)
阿里云服务器8核32G配置多少钱?可选实例规格有哪些?根据阿里云公布的2023年新版收费标准及活动价格来看,阿里云服务器8核32G配置活动价格最是共享型s6实例204.66元3个月,年付3274.56元/1年,现在购买还可享受立减20元-50元的优惠,购买后再送4.5折升级权益1次。阿里云服务器8核32G配置的云服务器可选的规格有33个,不同实例的价格有所不同,下面是8核32G配置可选实例规格详解及优惠价格表。
阿里云服务器8核32G配置可选实例规格详解及优惠价格表(2023年更新)