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 ...
随机推荐
- [POI2007]ATR-Tourist Attractions [TPLY]
[POI2007]ATR-Tourist Attractions 题目链接(https://www.luogu.org/problemnew/show/P3451) 这种稠密图还是建议你不要跑spfa ...
- [BZOJ4291] [PA2015] Kieszonkowe
Description 给定n个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和. Input 第一行包含一个正整数n(1<=n<=1000000). 第二行包含n个正整数a_1 ...
- 第三方工具 - 关于echarts下钻功能的一些总结.js
废话:好久没有写博客了,每每看着自己的'战绩'都有点愧疚,但是这段时间确实学习了不少东西,待我慢慢地一 一梳理,将之消化并分享. ---------------------------$O_O$--- ...
- Filter的过滤链理解
一.Filter过滤链 web.xml配置了filter过滤器,在容器启动的时候执行了init()方法进行了初始化,然后在容器关闭的时候执行了destroy()方法销毁过滤器,在每次服务器接受请求的时 ...
- ambari下 hive metastore 启动失败
由字符集引起的hive 元数据进程启动失败 解决方法新增 这2句话 reload(sys)sys.setdefaultencoding('utf8')
- react-todoMVC脚手架
webpack.config.js var path = require('path'); // node中的 路径解析的模块 const HtmlWebpackPlugin =require('ht ...
- SpringMVC入门就这么简单
什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts2框架 为什么要使用 ...
- 设置ImageView显示的图片铺满全屏
转自:http://m.blog.csdn.net/blog/wjwj1203/32334459 为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,如果定高的话,两边可能会出现空白 ...
- Log4Net五部曲
本文主要讲述如何构建封装一个日志工具类,以及在该过程中遇到的问题, 关于Log4Net的介绍,就不详细赘述了,更多详细的技术可参考http://www.cnblogs.com/kissazi2/p/3 ...
- 使用python UIAutomation从QQ2017(v8.9)群界面获取所有群成员详细资料,
首先安装pip install uiautomation, 运行本文代码.或者下载https://github.com/yinkaisheng/Python-UIAutomation-for-Wind ...