Person_CT:DenseNet,ResNet,SqueezeNet在同一数据集上的表现,分析
ResNet模型
ResNet核心是通过建立前面层与后面层之间的“短路连接”(shortcuts,skip connection),这有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络。
ResNet引入残差结构,是为了解决深度网络退化问题,它是在原始网络增加’冗余层‘,‘冗余层’保证输入输出相同。但是不学习恒等映射的参数。学习的是一个0值,用学习残差F(x)=0更新该冗余层的参数来代替学习h(x)=x更新冗余层的参数。解决网络退化。更新节点参数使用h(x)=F(x)+x,这样链式求导不管右边的求导参数有多小,右边始终存在。
Resnet 是前层短路连接给后层,对比Densenet.是全部的密集连接,Densenet重点处理的是每一个DenseBlock内部和模块连接特征问题。Resnet 处理的是深度的网络可传递问题。
DenseNet模型
它的基本思路与ResNet一致,但是它建立的是前面所有层与后面层的密集连接*(dense connection),它的名称也是由此而来。DenseNet的另一大特色是通过特征在channel上的连接来实现特征重用(feature reuse)。这些特点让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能DenseNets的密集连接,后层会包含前层的所有通道。这就涉及到通道问题。DenseNet的密集连接方式需要特征图大小保持一致,它通过DenseBlock+Transition的结构,DenseBlock是包含很多层的模块,每个层的特征图大小相同,层与层之间采用密集连接方式。而Transition模块是连接两个相邻的DenseBlock,并且通过Pooling使特征图大小降低。
SqueezeNet模型
大幅降低模型精度的前提下,最大程度的提高运算速度。
SqueezeNet虽然降低了参数,但是它将将采样层后移,这个可能是导致模型效果不太好的原因。
#待加入模型测试图片