美文网首页
DenseNet--图像分类

DenseNet--图像分类

作者: 有事没事扯扯淡 | 来源:发表于2019-01-09 15:02 被阅读0次

与 ResNet 和 Pre-Activation ResNet 相比,DenseNet 具有较少的参数和较高的精度。

在Standard ConvNet中,输入图像经过多次卷积,得到高层次特征。

ResNet Concept

在ResNet中,提出了恒等映射(identity mapping)来促进梯度传播,同时使用使用 element 级的加法。它可以看作是将状态从一个ResNet 模块传递到另一个ResNet 模块的算法。

One Dense Block in DenseNet

在 DenseNet 中,每个层从前面的所有层获得额外的输入,并将自己的特征映射传递到后续的所有层,使用级联方式,每一层都在接受来自前几层的“集体知识(collective knowledge)”。


1. 基础 DenseNet 组成层

对于每个组成层使用 Pre-Activation Batch Norm (BN) 和 ReLU,然后用k通道的输出特征映射进行 3×3 卷积,例如,将x0、x1、x2、x3转换为x4。这是 Pre-Activation ResNet 的想法。

2.DenseNet-B (Bottleneck 层)

DenseNet-B

由于后面层的输入会非常大,DenseBlock内部可以采用bottleneck层来减少计算量,主要是原有的结构中增加1x1 Conv,即BN+ReLU+1x1 Conv+BN+ReLU+3x3 Conv,称为DenseNet-B结构。其中1x1 Conv得到4k个特征图它起到的作用是降低特征数量,从而提升计算效率。

3. 具有转换层(transition layer)的多Dense块

Multiple Dense Blocks

采用1×1 Conv和2×2平均池化作为相邻 dense block 之间的转换层。
特征映射大小在 dense block 中是相同的,因此它们可以很容易地连接在一起。
在最后一个 dense block 的末尾,执行一个全局平均池化,然后附加一个Softmax分类器。

4. DenseNet-BC (进一步压缩)

如果 Dense Block 包含m个特征映射,则转换层(transition layer)生成 θm 输出特征映射,其中 0<θ≤1称为压缩因子。

θ=1时,跨转换层的特征映射数保持不变。在实验中,θ<1的 DenseNet 称为 DenseNet-C,默认θ=0.5

当同时使用 bottleneck 和θ<1 时的转换层时,该模型称为 DenseNet-BC 模型。

最后,训练 with/without B/C 和不同L层和k生长速率的 DenseNet。



DenseNet的优势

1. 强梯度流

误差信号可以更直接地传播到早期的层中。这是一种隐含的深度监督,因为早期的层可以从最终的分类层直接获得监督。

2. 参数和计算效率

RestNet 和 DenseNet 的参数数量

对于每个层,RetNet 中的参数与c×c成正比,而 DenseNet 中的参数与1×k×k成正比。由于k<<C, 所以 DenseNet 比 ResNet 的size更小。

3. 更加多样化的特征

DenseNet中更加多样化的特征

由于 DenseNet 中的每一层都接收前面的所有层作为输入,因此特征更加多样化,并且倾向于有更丰富的模式。

4. 保持低复杂度特征

标准ConvNet

在标准ConvNet中,分类器使用最复杂的特征。

DenseNet

在 DenseNet 中,分类器使用所有复杂级别的特征。它倾向于给出更平滑的决策边界。它还解释了为什么 DenseNet 在训练数据不足时表现良好。



特征复用的进一步分析

Heat map on the average absolute weights of how Target layer (l) reuses the source layer (s)
  • 从非常早期的层中提取的特征被同一 Dense Block 中的较深层直接使用。
  • 转换层的权重也分布在前面的所有层中。
  • 第二和第三dense block内的各层一贯地将最小权重分配给转换层的输出。(第一行)
  • 在最终分类层,权重似乎集中在最终feature map上。一些更高级的特性在网络中产生得很晚。

论文链接https://arxiv.org/pdf/1608.06993.pdf
参考链接https://towardsdatascience.com/review-densenet-image-classification-b6631a8ef803
Github链接https://github.com/liuzhuang13/DenseNet

相关文章

  • DenseNet--图像分类

    与 ResNet 和 Pre-Activation ResNet 相比,DenseNet 具有较少的参数和较高的精...

  • 图像分类

    图像分类入门 -图像分类的概念 背景与意义 所谓图像分类问题,就是已有固定的分类标签集合,然后对于输入的图像,从分...

  • python计算机视觉深度学习3图像分类基础

    什么是图像分类? 图像分类的核心任务是从预定义的一类图像中为图像分配标签。分析输入图像并返回标签对图像进行分类。标...

  • python计算机视觉深度学习工具3图像分类基础

    什么是图像分类? 图像分类的核心任务是从预定义的一类图像中为图像分配标签。分析输入图像并返回标签对图像进行分类。标...

  • 标注组件-react版

    组件支持标注类型:1、图像 — 浏览、标注集合展示2、图像分类 — 支持对图像进行分类标注3、图像检测 — 支持对...

  • 2018-10-17

    数据驱动方法 图像分类 图像分类时,分类系统接受一些输入图像,比如猫咪,并且系统已经清楚了一些确定分类或者标签的集...

  • [CS231n]Lecture 2 Image Classifi

    本节内容:图像分类概述、KNN、线性分类器 图像分类是计算机视觉的核心问题。 问题 :语义分割的鸿沟。图像仅仅是一...

  • 机器学习5(轻量TensorFlow)教程

    2. 图像分类器 底层技术依靠TensorFlow实现,此图像分类器利用了Mobilenet分类模型 2.1. 用...

  • 图像分类

    Above All 机器学习的大作业是写图像分类。这里我整理一些有用的参考资料,以便后来提交报告的时候逻辑比较清晰...

  • 图像分类

    Lecture 2: Image Classification pipeline Image Classifica...

网友评论

      本文标题:DenseNet--图像分类

      本文链接:https://www.haomeiwen.com/subject/lkewrqtx.html