深度学习系列卷积神经网络模型(ResNetResNeXtDenseNetDenceUnet)
Posted Python编程和深度学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习系列卷积神经网络模型(ResNetResNeXtDenseNetDenceUnet)相关的知识,希望对你有一定的参考价值。
深度学习系列(三)卷积神经网络模型(ResNet、ResNeXt、DenseNet、Dence Unet)
内容目录
1、ResNet2、ResNeXt3、DenseNet4、Dence Unet
1、ResNet
《Deep Residual Learning for Image Recognition》https://arxiv.org/abs/1512.03385
在模型发展中,网络的深度逐渐变大,导致梯度消失问题,使得深层网络很难训练,梯度反向传播到前面的层,重复相乘可能使梯度无穷小,随着网络的层数更深,其性能趋于饱和,甚至开始迅速下降,下图所示,56层的性能比20层的性能差。
ResNet 的核心思想是引入一个所谓的Residual Block,即「恒等快捷连接」(identity shortcut connection),直接跳过一个或多个层,这种残差函数更容易优化,能使网络层数大大加深,残差函数F(x) = H(x) – x。如下图所示:
ResNet 架构如下,基于VGG19的架构,我们首先把网络增加到34层,增加过后的网络我们叫做plain network,再此基础上,增加残差模块,得到我们的Residual Network
2、ResNeXt
《Aggregated Residual Transformations for Deep Neural Networks》https://arxiv.org/abs/1611.05431v1
Xie et al. 提出 ResNet 的一种变体 ResNeXt,是ResNet和Inception的结合体,不同于Inception v4的是,ResNext不需要人工设计复杂的Inception结构细节,而是每一个分支都采用相同的拓扑结构。ResNeXt的本质是分组卷积(Group Convolution),通过变量基数(Cardinality)来控制组的数量,比Inception V4的超参数更少。它具备以下构建块:
作者在论文中引入了一个叫作基数(cardinality)的超参数,指独立路径的数量,这提供了一种调整模型容量的新思路。实验表明,通过扩大基数值(而不是深度或宽度),准确率得到了高效提升。作者表示,与 Inception 相比,这个全新的架构更容易适应新的数据集或任务,因为它只有一个简单的范式和一个需要调整的超参数,而 Inception 需要调整很多超参数(比如每个路径的卷积层内核大小)。
这个全新的结构有三种等价形式,fig3.a 就是前面所说的aggregated residual transformations。fig3.b 则采用两层卷积后 concatenate,再卷积,有点类似 Inception-ResNet,只不过这里的 paths 都是相同的拓扑结构。fig 3.c采用的是grouped convolutions,采用32个 group,每个 group 的输入输出 channels 都是4,最后把channels合并。作者在文中明确说明这三种结构是严格等价的,并且用这三个结构做出来的结果一模一样。
3、DenseNet
《Densely Connected Convolutional Networks》https://arxiv.org/abs/1608.06993v3
Huang 等人提出一种新架构 DenseNet,进一步利用快捷连接,形成Dense block将所有层直接连接在一起。在这种新型架构中,每层的输入由所有之前层的特征映射组成,其输出将传输给每个后续层,这些特征映射通过深度级联聚合。
公式是ResNet的,Xl表示l层的输出,Hl表示一个非线性变换,l层的输出是l-1层的输出加上对l-1层输出的非线性变换。
公式是DenseNet的,[x0,x1,…,xl-1]表示将0到l-1层的输出feature map做通道合并的concatenation,而resnet是做值的相加,通道数是不变的。Hl包括BN,ReLU和3 x 3的卷积。
其中一个Dense block如下所示。
一个小的DenceNet如下图所示。
Growth rate
式中,k0代表第1个block的输入,k代表Growth rate,l-1代表当前block的中的前l-1个层。所以每层添加k个feature map到总的stack里面。当然了,这里每次添加的时候总是要以block为单位进行的。
下表为growth rate=32和48的网络。
特点:
(1) 相比ResNet拥有更少的参数数量.
(2) 旁路加强了特征的重用.
(3) 网络更易于训练,并具有一定的正则效果.
(4) 缓解了gradient vanishing和model degradation的问题.
4、Dence Unet
我们在Herlev dataset(宫颈癌细胞公开数据集)上进行了测试,结果如下
代码已经开源:https://github.com/Minerva-jiezhao/D-MEM
以上是关于深度学习系列卷积神经网络模型(ResNetResNeXtDenseNetDenceUnet)的主要内容,如果未能解决你的问题,请参考以下文章
深度学习实战——卷积神经网络/CNN实践(LeNetResnet)