在慢性萎缩性胃炎的识别中使用了DenseNet121,这里简要介绍一下。
整个模型结构如上图。
DenseNet 包含多个Dense block ,每个Densebolck通过transition layer进行连接,每个Densebolck内部的特征图的size是一致的,每一层都是相当于直接和输入以及loss进行连接,即减轻了梯度消失也方便优化求导。bottleneck和transition layer相互交替,transition layer,放在两个Dense
Block中间,是因为每个Dense Block结束后的输出channel个数很多,需要用1*1的卷积核来降维。
Dense block共有四个。对于这4个denso block 设置每个block 中的卷积层的数目分别为(6,12,24,16)这些卷积层又叫bottleneck layer结构均由3*3的的卷积并在其前加1*1 的卷积实现。这样减少输入的feature map数量,既能降维减少计算量,又能融合各个通道的特征。
传统卷积神经网络与DenseNet网络结构对比
DenseNet的基本结构是Dense block ,如上图所示,在传统的卷积神经网络中,如果存在L个层,那么就会有L个连接。但是在DenseNet中,存在L个层就会有(L*(L+1))/2个连接,也就是说每一层的输入来自前面所有层的输出,这样神经网络的某一层不仅仅依赖于最紧邻的上一层的特征,也可以依赖于更前面的学习特征。通过让网络中的每一层都与前面层相连,实现了特征的重复利用。同时将网络的每一层都设计的特别窄,每一层只学习非常少的特征图,dense block中每个卷积层的输出feature map的数量都很小(小于100),而不是像其他网络一样动不动就几百上千的宽度。同时这种连接方式使得特征和梯度的传递更加有效,网络也就更加容易训练,来降低冗余性。其中密集连接是网络结构可以设计的比较窄的前提,只有这样才能保证学习到足够的特征,否则在训练过程中会出现欠拟合的情况。通过skip connection 可以实现最大化的信息流动,从而实现信息流的整合,避免了信息在层间传递的丢失和梯度消失的问题。
网友评论