学习前言:
图像分类任务有:细分类,一般分类,医学图像分类等等。
图像分类模型分为CNN模型与Transformer模型。
对于CNN模型来讲, 主要受到实验环境的限制,所以我根据使用场景的不同把所有分类模型划分为重量级模型和轻量级模型,旨在快速适应不同实验环境下的图像分类任务。
对于Transformer模型来讲,效果一般普遍高于CNN模型,但是训练参数也是大的吓人。一般不推荐个人跑。(手握多张30系列显卡的大佬当我没讲)
本文旨在对不同类别的模型中各自筛选出当下最优的模型。
CNN模型结果先行{ 轻量级模型:MobilenetV2, 重量级模型:EfiicientnetV2, } Transformer模型结果先行{ SwinTransformer. }
之后我将搭建一个图像分类平台:将三种模型整合在一起提供大家使用!
模型介绍:
CNN轻量级模型:
MobileNet系列
MobileNet v1 最大的成就在于提出了depthwise卷积(DW)+pointwise卷积(PW),将普通卷积的计算量近乎降低了一个数量级,成为第一个在轻量级领域取得成功的网络。如下图所示,对于一个常规的3*3卷积,使用dw+PW,计算量降低为原来的 1/(3*3)=1/9, 接近于降低了一个数量级。
MobileNetV1
提出时间:2012
Top-1 准确率:75.2%
参数量:6.9M
MobileNet v2借鉴了resnet的残差结构,引入了inverted resdual模块(倒置残差模块),进一步提升了MobileNet的性能。因为inverted resdual一方面有利于网络的学习,因为毕竟学的是残差(这也是resnet的精髓),另一方面,也降低了原来的PW卷积的计算量。在MobileNet v1的dw+pw卷积中,计算量主要集中在PW卷积上。使用了inverted resdual模块之后,原来的一个PW卷积,变成了一个升维PW+一个降维PW,其计算量有所下降。
MobileNetV2
提出时间:2018
Top-1 准确率:74.7%
参数量:6.9M
ShuffleNet系列
DW卷积或者分组卷积虽然能够有效的降低计算量,但是缺少通道间的信息交互与整合,势必会影响网络的特征提取能力,MobileNet中使用PW卷积来解决这个问题,但是PW卷积的计算量比较大(相对dw卷积),大约是dw卷积的 C_out / K*k 倍。假设C_out=128, k=3, 那么pw卷积的计算量是dw卷积的14倍!所以MobileNet的计算量主要集中在point wise卷积上面。ShuffleNet v1使用了一种更加经济的方式,channel shuffe,使得不需要卷积操作,也能实现不同通道间的信息融合。
GhostNet网络
GhostNet通过对传统卷积得到的特征图进行观察,发现有很多相似的特征图。那么是否可以通过改造让卷积这种重量级的OP只生成一些具有高度差异性的特征图,然后基于这些特征图,再用一些廉价的OP(相对于卷积)进行变换,得到传统卷积中的那些相似特征图。如下图所示。Ghostnet就是基于下图中的这种ghots module进行构建的轻量级网络。
官方数据对比:
下面对两个最重要的指标进行可视化分析,推理延时与精度。这两个指标应该是所有指标中起到决定性作用的。如下图所示:
轻量级模型王者:
从图中可以看出来 ,mobilenetv2的综合指标是最高的,面对简约的环境时,强烈推荐使用。
CNN重量级模型:
AlexNet
提出时间:2012/9
Top-1 准确率:62.5%
参数量:60M
VGG-19
提出时间:2014/9
Top-1 准确率:74%
参数量:144M
Inception V3
提出时间:2015/12
Top-1 准确率:78.8%
参数量:23.8M
EfficientNetV1
提出时间:2019/5
Top-1 准确率:84.4%
参数量:66M
EfficientNetV2
提出时间:2021
Top-1 准确率:87.3%
参数量:比EfficientNetV1小
重量级模型王者:
从以上数据分析可得EfficientNetV1恐怕是参数量较少且准确率非常高的王者模型了,然而EfficientNetV2 不仅准确率超过EfficientNetV1 3%,且速度快了5~10倍,所以重量级模型王者非EfficientNetV2莫属。
Transformer模型:
Transformer模型主要有Vision Transformer(2019)与Swin Transformer(2021)
ImageNet-1K数据集准确率对比:
ImageNet-22K数据集准确率对比:
结论:
我们可以明显看出Swin Transformer准确率远远高于Vision Transformer。