初学者该如何选择最适合自己的图像分类模型

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 初学者该如何选择最适合自己的图像分类模型

学习前言:      


图像分类任务有:细分类,一般分类,医学图像分类等等。


图像分类模型分为CNN模型与Transformer模型。


       对于CNN模型来讲, 主要受到实验环境的限制,所以我根据使用场景的不同把所有分类模型划分为重量级模型和轻量级模型,旨在快速适应不同实验环境下的图像分类任务。


       对于Transformer模型来讲,效果一般普遍高于CNN模型,但是训练参数也是大的吓人。一般不推荐个人跑。(手握多张30系列显卡的大佬当我没讲)


本文旨在对不同类别的模型中各自筛选出当下最优的模型。    


 

CNN模型结果先行{
                轻量级模型:MobilenetV2,
                重量级模型:EfiicientnetV2,
}
        Transformer模型结果先行{
               SwinTransformer.
}

        之后我将搭建一个图像分类平台:将三种模型整合在一起提供大家使用!


模型介绍:


       CNN轻量级模型:


               MobileNet系列


1dc618a0ed9580ce8bfa6facb208c08f.png


             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系列


5d4c6812c8535adbb050f4ddf2e1bce8.png

                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网络


46a9d80a6e05e4e3b19d57a0ee70bcdf.png


GhostNet通过对传统卷积得到的特征图进行观察,发现有很多相似的特征图。那么是否可以通过改造让卷积这种重量级的OP只生成一些具有高度差异性的特征图,然后基于这些特征图,再用一些廉价的OP(相对于卷积)进行变换,得到传统卷积中的那些相似特征图。如下图所示。Ghostnet就是基于下图中的这种ghots module进行构建的轻量级网络。


               官方数据对比:


66ba272a0bfc97be54a5fa679e3d5482.png

下面对两个最重要的指标进行可视化分析,推理延时与精度。这两个指标应该是所有指标中起到决定性作用的。如下图所示:


88b9988b40447cb37c7e3c492d49867f.png


               轻量级模型王者:


       从图中可以看出来 ,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数据集准确率对比:

      80308c27701d3aead18db6c7b167f308.png                        


               ImageNet-22K数据集准确率对比:

            1014213c4196c8798c8417b952a8a253.png      


               结论:


        我们可以明显看出Swin Transformer准确率远远高于Vision Transformer。


相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
从零构建:深度学习模型的新手指南###
【10月更文挑战第21天】 本文将深入浅出地解析深度学习的核心概念,为初学者提供一条清晰的学习路径,涵盖从理论基础到实践应用的全过程。通过比喻和实例,让复杂概念变得易于理解,旨在帮助读者搭建起深度学习的知识框架,为进一步探索人工智能领域奠定坚实基础。 ###
57 3
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
LLM 大模型学习必知必会系列(一):大模型基础知识篇
LLM 大模型学习必知必会系列(一):大模型基础知识篇
LLM 大模型学习必知必会系列(一):大模型基础知识篇
|
7月前
|
机器学习/深度学习 算法 数据可视化
如何选择正确的机器学习模型?
【5月更文挑战第4天】如何选择正确的机器学习模型?
130 4
|
机器学习/深度学习 人工智能 TensorFlow
新手该如何快速学习和应用LLM
新手该如何快速学习和应用LLM
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习实践篇 第三章:模型与模型的搭建
主要介绍了pytorch中nn.Module()类和模型搭建
256 0
|
机器学习/深度学习 数据可视化 异构计算
图像分类(迁移学习/五分钟手把手教你搭建分类模型)上
图像分类(迁移学习/五分钟手把手教你搭建分类模型)
图像分类(迁移学习/五分钟手把手教你搭建分类模型)上
|
自然语言处理
初体验图像分类模型
自建1300类常见物体标签体系,覆盖常见的日用品,动物,植物,家具,设备,食物等物体,标签从海量中文互联网社区语料进行提取,保留了出现频率较高的常见物体名称。模型结构采用最新的ViT-Base结构。
初体验图像分类模型
|
机器学习/深度学习 PyTorch 算法框架/工具
图像分类(迁移学习/五分钟手把手教你搭建分类模型)下
图像分类(迁移学习/五分钟手把手教你搭建分类模型)
|
机器学习/深度学习 计算机视觉 Python
【深度学习实践(二)】上手手写数字识别
【深度学习实践(二)】上手手写数字识别
【深度学习实践(二)】上手手写数字识别
|
PyTorch 算法框架/工具
Pytorch教程[10]完整模型训练套路
Pytorch教程[10]完整模型训练套路
Pytorch教程[10]完整模型训练套路

热门文章

最新文章