DenseNet
特点: dense shortcut connections
结构: DenseNet 是一种具有密集连接的卷积神经网络。在该网络中,任何两层之间都有直接的连接,也就是说,网络每一层的输入都是前面所有层输出的并集,而该层所学习的特征图也会被直接传给其后面所有层作为输入
源码: DenseNet

简介
DenseNet 引人注目的好处:
- 缓解了深层网络梯度消失的问题
- 加强了 feature propagation
- 支持 feature reuse
- 大量的减少了参数数量(DenseNet非常窄,即 channel 少)
- Dense Connections 具有正则化效果
研究表明: 输入或者梯度信息经过多层神经网络传递之后,在到达网络的尾部或者首部时,可能会消失(即变成零)。
与 ResNet 的比较:
Crucially, in contrast to ResNets, we never combine features through summation
before they are passed into a layer; instead, we combine features by concatenating
them.
Stochastic depth 通过在训练期间随机丢弃层来改善 ResNet 的训练过程,这表明并非所有层都可能是需要的,从而说明了 ResNet 中存在大量的冗余。
DenseNet 结构

down-sampling 是卷积网络中必要的操作,而它会改变 feature map 的尺寸,所以将网络划分为多个 Dense Block, 每个 Block 中的 feature map 大小相同。
1.合成函数:
\[
\begin{align}
x_l &= H_l([x_0, x_1, \cdots,x_{l-1}]) \\
H_l &= BN→ReLU→Conv(1\times1)→BN→ReLU→Conv(3\times3) \\
\end{align}
\]
2.池化层:
\[BN→ReLU→Conv(1\times1) → AvePooling\]
3.Growth rate
即 Dense Block 中每层输出的 feature maps 的 Channel 数, eg, k=12
4.压缩
设通常池化层的输出 Channel 个数为 \(m\),我们通过参数 \(θ\),调节池化层输出 Channel 的个数为 \(θm\)
5.执行细节:
Conv(3×3), s=1, zero-padding
Avg_Pool, 2×2

DenseNet的更多相关文章
- CNN网络架构演进:从LeNet到DenseNet
卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...
- densenet 中的shortcut connection
DenseNet 在FCN 网络中考虑加入skip connection,在resnet 中加入identity 映射,这些 shortcut connection等结构能够得到更好的检测效果,在d ...
- 《DenseNet Models for Tiny ImageNet Classification》课程设计论文
paper : <DenseNet Models for Tiny ImageNet Classification> https://arxiv.org/ftp/arxiv/pap ...
- Feature Extractor[DenseNet]
0.背景 随着CNN变得越来越深,人们发现会有梯度消失的现象.这个问题主要是单路径的信息和梯度的传播,其中的激活函数都是非线性的,从而特别是乘法就可以使得随着层数越深,假设将传统的神经网络的每一层看成 ...
- torchvision里densenet代码分析
#densenet原文地址 https://arxiv.org/abs/1608.06993 #densenet介绍 https://blog.csdn.net/zchang81/article/de ...
- DenseNet 论文阅读笔记
Densely Connected Convolutional Networks 原文链接 摘要 研究表明,如果卷积网络在接近输入和接近输出地层之间包含较短地连接,那么,该网络可以显著地加深,变得更精 ...
- 使用keras导入densenet模型
从keras的keras_applications的文件夹内可以找到内置模型的源代码 Kera的应用模块Application提供了带有预训练权重的Keras模型,这些模型可以用来进行预测.特征提取和 ...
- 论文笔记——DenseNet
<Densely Connected Convolutional Networks>阅读笔记 代码地址:https://github.com/liuzhuang13/DenseNet 首先 ...
- caffe跑densenet的错误:Message type "caffe.PoolingParameter" has no field named "ceil_mode".【转自CSDN】
最近看了densenet这篇论文,论文作者给了基于caffe的源码,自己在电脑上跑了下,但是出现了Message type “caffe.PoolingParameter” has no field ...
随机推荐
- 【BZOJ4012】开店(主席树)
[BZOJ4012]开店(主席树) 题面 Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱 ...
- JAVA面试题二
JAVA 综合面试题 2007-08-12 目录 Java面试题整理 9 Java面向对象 9 1. super()与this()的区别? 9 2. 作用域public,protected,priva ...
- 开发中使用Gson的实例(时间格式错误解决方法)
...... // 通过GSON解析,使用4个实体类来接受(TotalResponse.TradeRateResponse.TradeRatess.TbTradeRates) GsonBuilder ...
- ffplay常用命令
一.ffplay 常用参数 ffplay不仅仅是播放器,同时也是测试ffmpeg的codec引擎,format引擎,以及filter引擎的工具,并且也可以做可视化的媒体参数分析,可以通过ffplay ...
- 用JavaScript写一个区块链
几乎每个人都听说过像比特币和以太币这样的加密货币,但是只有极少数人懂得隐藏在它们背后的技术.在这篇博客中,我将会用JavaScript来创建一个简单的区块链来演示它们的内部究竟是如何工作的.我将会称之 ...
- php 命令行插件 - phpsh
phpsh 是php的一个命令行插件,个人觉得很不错,在此简单介绍下: 1.安装 readline sudo easy_install readline 2.到 https://github.com/ ...
- Asp.Net Boilerplate Project (ABP) 视频教程
转自youtube:https://www.youtube.com/playlist?list=PLlu_PkRHZce-EtuVO1zVQpNgrB7Hiu1vu 虽然全部都没有声音,但看操作还是可 ...
- 一场IPFS引领下的共享之风正在走向区块链
中国互联网的高速发展 已经接近10年,小编完整的经历这个过程.这一切我们从一个小网站 饭否 说起... 互联网 2006年3月16:Twitter上线 2007年5月12: 饭否上线 饭否是中国第一 ...
- [Oracle] UNIX与Windows 2000上Oracle的差异(II)
作者:Ian Adam & David Stien, SAIC Ltd 日期:19-Dec-2003 出处:http://www.dbanotes.net翻译:Fenng 数据库启动与关闭 在 ...
- 【日记】一次程序调优发现的同步IO写的问题,切记
众所周知,我们在写程序的时候,好习惯是在重要的代码打上日志.以便监控程序运行的性能和记录可能发生的错误. 但是,如果日志是基于同步IO文件操作,那么就必须考虑到访问总次数或并发数目. 如果总次数或并发 ...