图像分类必备经典模型,一文打尽知多少?(一)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 图像分类必备经典模型,一文打尽知多少?(一)

图像分类必备经典模型,一文打尽知多少?(一)

机器之心 2022-08-21 11:33 发表于北京

以下文章来源于机器之心SOTA模型,作者机器之心SOTA模型

机器之心专栏

本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。 本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。


本文将分 3 期进行连载,共介绍 15 图像分类任务上曾取得 SOTA 的经典模型。


  • 第1期:AlexNet、VGG、GoogleNet、ResNet、ResNetXt
  • 第2期:DenseNet、MobileNet、SENet、DPN、IGC V1
  • 第3期:Residual Attention Network、ShuffleNet、MnasNet、EfficientNet、NFNet

您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。


本期收录模型速览


模型  SOTA! 模型资源站收录情况 模型来源论文
AlexNet https://sota.jiqizhixin.com/models/models/d07f8019-2816-4ce4-af44-ff9c1310e6ee
收录总数:10
支持框架:PyTorch、CANN、MindSpore、caffe、TensorFlow、PaddlePaddle 等
Imagenet Classification with Deep Convolution Neural Network
VGG https://sota.jiqizhixin.com/models/models/9d4c5378-8f0d-43aa-b64f-976a3c87273b
收录总数:16
支持框架:CANN、PyTorch、TensorFlow、MindSpore、caffe、PaddlePaddle 等
Very Deep Convolutional Networks for Large-Scale Image Recognition
GoogleNet https://sota.jiqizhixin.com/models/models/5b5254d4-c27d-4014-85b0-c1cb48488995
收录总数:10
支持框架:CANN、TensorFlow、PyTorch、MindSpore、PaddlePaddle 等
Going Deeper with Convolutions
ResNet https://sota.jiqizhixin.com/models/models/51e81484-f784-4b1d-9b4a-723d9c18a76f
收录总数:47
支持框架:CANN、TensorFlow、MindSpore、PyTorch、PaddlePaddle、JAX 等
Deep Residual Learning for Image Recognition
ResNeXt https://sota.jiqizhixin.com/models/models/0e3dac75-f35b-4813-9355-c4c9f5cb0f78
收录总数:55
支持框架:PyTorch、TensorFlow、CANN、MindSpore、Torch、PaddlePaddle、MXNet、Caffe2 等
Aggregated Residual Transformations for Deep Neural Networks


图像分类是计算机视觉领域最经典的任务之一,目的是将输入的图像对应到预定义的语义类别中,即打上类别标签。传统的图像分类方法由底层特征学习、特征编码、空间约束、分类器设计、模型融合等步骤组成。


首先,从图像中提取特征,经典的特征提取方法包括HOG(Histogram of Oriented Gradient, 方向梯度直方图) 、LBP(Local Bianray Pattern, 局部二值模式)、SIFT(Scale-Invariant Feature Transform, 尺度不变特征转换)等,也可以将多种特征融合以保留更多有用信息。然后,对特征进行编码后去除冗余和噪声,生成特征编码,经典方法包括稀疏编码、局部线性约束编码、Fisher向量编码等。再然后,经过空间特征约束后实现特征汇聚,例如经典的金字塔特征匹配方法。最后,利用分类器进行分类,经典分类器包括SVM、随机森林等等。



Alex Krizhevsky 在 2012 年 ILSVRC 提出的 CNN 模型首次将深度学习应用于大规模图像分类任务,其效果远超传统的图像分类方法,一举获得 ILSVRC 2012 的冠军,开启了深度学习模型在图像分类中的应用历程。这个模型就是著名的 AlexNet。自此,图像分类改变了传统的致力于提取有效的特征、改进分类器的有效性的研究和应用路径,转为研究不同的深度学习模型架构。


深度卷积神经网络为图像分类带来了一系列突破。深度神经网络集成了低/中/高层次的特征,可以被端到端训练,特征的层次可以通过网络的深度来丰富。甚至有研究人员称,正是在图像分类任务中应用的巨大成功,带动了深度学习的方法。


AlexNet


AlexNet 首次发表在 NIPS 2012,获得了 ILSVRC 2012 的冠军,开启了深度学习模型在图像分类中的应用历程。AlexNet 实际上就是一个 CNN,如下图,包含 8 个学习层:5 个卷积层和 3 个全连接层。在现在看来,AlexNet 的架构并不复杂。

图 1 AlexNet 架构


AlexNet 首次在 CNN 中成功应用了 ReLU、Dropout 和 LRN 等。具体如下:

(1)AlexNet 中使用 Relu 作为 CNN 的激活函数,成功解决了 Sigmoid 在网络较深时的梯度弥散问题:



(2)AlexNet 在训练时使用 Dropout 随机忽略一部分神经元,以避免模型过拟合。在AlexNet 中主要是最后几个全连接层使用了 Dropout。


(3)AlexNet 中引入了局部响应归一化( Local Response Normalization,LRN)。对于第 i 个特征图 (x,y) 上的神经元活性 (a_x,y)^i ,应用 ReLU 非线性,响应归一化的活动是


通过向局部神经元的活动引入竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。


(4)AlexNet 使用重叠的最大池化。此前 CNN 中普遍使用平均池化,AlexNet 全部使用最大池化,避免平均池化的模糊化效果。并且 AlexNet 中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。


(5)使用 CUDA 加速深度卷积网络的训练,利用GPU强大的并行计算能力,处理神经网络训练时大量的矩阵运算。受限于当时的显卡显存条件,AlexNet 使用两卡并行训练,在最终的卷积层中,单 GPU 网络实际上可以具有与双 GPU 网络相同数量的内核。
(6)优化器是 SGD+Momentum。


当前 SOTA!平台收录 AlexNet 共 10 个模型实现资源,支持的主流框架包含 PyTorch、CANN、MindSpore、caffe、TensorFlow、PaddlePaddle 等。


模型 SOTA!模型资源站详情页
AlexNet 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/d07f8019-2816-4ce4-af44-ff9c1310e6ee


VGG


VGG 是指用于大规模图像识别的极深度卷积网络(VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION),重点研究的是深度对CNN 性能的影响,提出用堆叠的小卷积核来代替大卷积核,论文发表在 ICLR 2015。VGG 的核心思想是使用具有非常小的卷积核的架构,增加网络的深度,然后进行全面评估。实验表明将深度推至 16-19 层可以实现对现有技术的提升。具体的,VGG16、VGG19 中的数字都是指有参数层的数量。


表 1 ConvNet 的配置(以列显示)


如表 1 所示,ConvNet 的配置的深度从左(A)到右(E)增加,卷积层的参数表示为 "conv <receptive field size>-<number of channels>"。其中,忽视了 Relu 层。

在训练阶段,ConvNets 的输入是一个固定大小的 224×224 的 RGB 图像。我们所做的唯一预处理是减去每个像素的 RGB 平均值,该值是在训练集上计算出来的。将图像传递到卷积层的堆栈中,使用具有非常小的感受野(receptive field,RF)的过滤器:3×3。在其中一个配置中,还利用了 1x1 卷积核,这可以看作是输入通道的线性变换。卷积 stride 固定为 1 ,padding 是为了卷积前后分辨率不变。池化由 5 个 max-pooling 执行,大小为 2,stride 为 2。引入 1×1 卷积层(配置C,表1)是增加决策函数的非线性而不影响卷积层的感受野的一种方法。

卷积层的堆栈(在不同的架构中具有不同的深度)之后是三个全连接(FC)层:前两个层各有 4096 个通道,第三层进行 1000 维度的 ILSVRC 分类,因此包含 1000 个通道(每个对应一个类别)。最后一层是 softmax 层。在所有网络中,全连接层设置都是相同的。

VGG 使用 ReLu 作为激活函数,网络(除了一个)均不包含 LRN。文中实验证明这种归一化不能提高 ILSVRC 数据集的性能,还会导致内存消耗和计算时间增加。此外,VGG 使用了 Dropout 来优化网络结构。VGG 的优点是结构简单,易于推广应用。缺点则是参数量和计算量都很大。

当前 SOTA!平台收录 VGG 共 16 个模型实现资源,支持主流框架包括 CANN、PyTorch、TensorFlow、MindSpore、caffe、PaddlePaddle 等。


模型 SOTA!模型资源站详情页
VGG 前往 SOTA!模型资源站获取实现资源:https://sota.jiqizhixin.com/models/models/9d4c5378-8f0d-43aa-b64f-976a3c87273b



相关文章
|
机器学习/深度学习 数据挖掘 PyTorch
图像分类必备经典模型,一文打尽知多少?(二)
图像分类必备经典模型,一文打尽知多少?
127 0
|
12月前
|
编解码 计算机视觉
最强检测 | YOLO V4?都是弟弟! CenterNet2以56.4mAP超越当前所有检测模型(附源码与论文)(二)
最强检测 | YOLO V4?都是弟弟! CenterNet2以56.4mAP超越当前所有检测模型(附源码与论文)(二)
132 0
|
计算机视觉
【前沿经典模型】ResNet最强改进之ResNeSt(附源码)(二)
【前沿经典模型】ResNet最强改进之ResNeSt(附源码)(二)
406 0
|
机器学习/深度学习 计算机视觉 网络架构
【前沿经典模型】ResNet最强改进之ResNeSt(附源码)(一)
【前沿经典模型】ResNet最强改进之ResNeSt(附源码)(一)
1168 0
|
机器学习/深度学习 人工智能 资源调度
如何用YOLOv5玩转半监督(附源码实现)
如何用YOLOv5玩转半监督(附源码实现)
303 0
|
机器学习/深度学习 运维 安全
异常检测|深度学习(李宏毅)(二十一)
异常检测|深度学习(李宏毅)(二十一)
841 0
异常检测|深度学习(李宏毅)(二十一)
|
机器学习/深度学习 数据采集 计算机视觉
你是谁家的小猫咪--基于深度学习框架MegEngine 的猫咪识别
你是谁家的小猫咪--基于深度学习框架MegEngine 的猫咪识别
77 0
你是谁家的小猫咪--基于深度学习框架MegEngine 的猫咪识别
|
机器学习/深度学习 人工智能 自然语言处理
全都会!预测蛋白质标注!创建讲义!解释数学公式!最懂科学的智能NLP模型Galactica尝鲜 ⛵
本文浅试Meta开源的大型AI语言模型『Galactica』,带大家体验安装与多场景使用。Galactica被称为“最懂科学的智能NLP模型”,能够预测蛋白质标注!创建讲义!解释数学公式!全都会!
268 1
全都会!预测蛋白质标注!创建讲义!解释数学公式!最懂科学的智能NLP模型Galactica尝鲜 ⛵
|
机器学习/深度学习 数据可视化 算法
迁移学习实践 深度学习打造图像的别样风格
神经风格传递的原理是定义两个距离函数,一个描述两幅图像的内容如何不同,一个描述两幅图像之间的风格差异。然后,给定三个图像,一个期望的样式图像,一个期望的内容图像,和输入图像(用内容图像初始化),我们尝试转换输入图像,以最小化与内容图像的内容距离和它与样式图像的样式距离
191 0
迁移学习实践 深度学习打造图像的别样风格
|
机器学习/深度学习 计算机视觉 网络架构
【动手学计算机视觉】第十八讲:卷积神经网络之GoogLeNet
本文的主角GoogLeNet和上篇文章讲到的VGG出现在同一年ILSVRC比赛的舞台上,它在效果方面超过了VGG并取得了当年的冠军。虽然二者出自同一年,但是在模型方面却有着天壤之别,无论是在克服网络深度方面还是在输出层处理方面均提出了非常新颖的思路,本文就来详细介绍一下这个名噪一时的卷积神经网络模型。
【动手学计算机视觉】第十八讲:卷积神经网络之GoogLeNet