EfficientNet、ShuffleNet、NFNet…你都掌握了吗?一文总结图像分类必备经典模型(三)

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: EfficientNet、ShuffleNet、NFNet…你都掌握了吗?一文总结图像分类必备经典模型(三)

EfficientNet、ShuffleNet、NFNet…你都掌握了吗?一文总结图像分类必备经典模型(三)

机器之心 2022-09-11 12:02 发表于北京

以下文章来源于机器之心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

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

第 1 期回顾:图像分类必备经典模型,一文打尽知多少?(一)

第 2 期回顾:DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(二)


本期收录模型速览

模型 SOTA!模型资源站收录情况 模型来源论文
Residual Attention Network https://sota.jiqizhixin.com/models/models/60c3b7ac-f424-476c-8373-2727af52d472
收录总数:15
支持框架:TensorFlow、PyTorch、CANN 等
Residual Attention Network for Image Classification
ShuffleNet https://sota.jiqizhixin.com/models/models/445701e7-940d-4905-bbce-cf47377adfc7
收录总数:26
支持框架:TensorFlow、PyTorch、CANN、MXNet 等
ShuffleNet: An Extremely Efficient Convolutional Neural Network for  Mobile Devices
MnasNet https://sota.jiqizhixin.com/models/models/ca934188-fc29-435d-b98a-814b1d0592d7
收录总数:6
支持框架:PyTorch、CANN、MindSpore、TensorFlow 等
MnasNet: Platform-Aware Neural Architecture Search for Mobile
EfficientNet https://sota.jiqizhixin.com/models/models/4fcc29d1-e919-4b62-accc-6d9ba00c1591
收录总数:14
支持框架:CANN、PyTorch、TensorFlow、MindSpore 等
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
NFNet https://sota.jiqizhixin.com/models/models/2f7b43e7-1db3-48b9-8f39-0bd5244c367b
收录总数:15
支持框架:TensorFlow、PyTorch、MindSpore、JAX 等
High-Performance Large-Scale Image Recognition Without Normalization


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


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




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


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


Residual Attention Network


本文是CVPR 2017的文章,提出了残差注意力网络(Residual attention network),这是一种使用注意力机制的卷积神经网络,可以以端到端的训练方式与最新的前馈网络体系结构结合。残差注意力网络是通过堆叠注意力模块构建的,这些模块会生成注意力感知功能。每个注意力模块被分为两个分支:掩码分支和主干分支。主干分支进行特征处理,可以适应任何先进的网络结构。随着模块的深入,来自不同模块的注意力感知功能会自适应地变化。在每个注意模块内,自下而上、自上而下的前馈结构用于将前馈展开并将反馈注意过程反馈到单个前馈过程中。作者提出了注意力残差学习以训练非常深的残差注意力网络,该网络可以轻松扩展到数百层。

在这项工作中,作者使用 pre-activation Residual Unit、ResNeXt和Inception作为残差注意力网络的基本单元来构建注意力模块。给定主干分支的输出 T(x) 与输入 x,掩码分支使用自下而上、自上而下的结构来学习相同大小的掩码 M(x)。自下而上、自上而下的结构模仿了快速前馈和反馈的注意力过程。输出掩码被用作主干分支的神经元的控制门。Attention module H 的输出是:



其中,i的范围是所有的空间位置,c∈{1,...,C}是通道的索引。整个结构可以进行端到端的训练。

在注意力模块中,注意力掩码不仅可以作为前向推理过程中的特征选择器,还可以作为反向传播过程中的梯度更新过滤器。在 soft 掩码分支中,输入特征的掩码梯度为:



其中,θ 是掩码分支参数,φ 是主干分支参数。这一特性使注意力模块对噪声标签具有鲁棒性。掩码分支可以防止错误的梯度(来自噪声标签)来更新主干参数。

与我们设计的堆叠注意力模块不同的是,有一种简单的方法可以使用单个网络分支来生成 soft 权重掩码,类似于 spatial transformer layer。但是,这些方法在具有挑战性的数据集(例如 ImageNet)上有几个缺点。首先,背景图像混乱、场景复杂且外观变化较大的图像需要通过不同类型的注意力进行建模。在这种情况下,需要使用不同的注意力掩码对来自不同图层的特征进行建模。使用单个掩码分支将需要指数数量的通道来捕获不同因素的所有组合。其次,单个“注意力模块”只能修改一次功能。如果修改在图像的某些部分上失败,则以下网络模块不会再有机会。作者表示,残差注意力网络可以解决上述问题。在注意力模块中,每个主干分支都有其自己的掩码分支,以学习专门针对其特征的注意力。

但是,很显然如果只是简单的堆叠,效果肯定不会好,作者也解释了一下为什么这样简单的做法效果不好:

  • 掩码的范围是 0-1,重复的相乘会使得特征值逐渐变小
  • 掩码可能会破坏 trunk branch 的好的特性,比如 ResNet 中的恒等特性。

由此,作者提出了 Attention Residual Learning。如果 soft 掩码单元可以被构造成相同的映射,那么其性能应该不会比没有注意力的对应单元差。因此,将注意力模块的输出 H 修改为:



M(x) 的范围是 [0, 1],M(x) 近似于 0,H(x) 将近似于原始特征 F(x)。作者称这种方法为注意残差学习。

掩码分支包含快速前馈扫描和自上而下的反馈步骤。前一种操作快速收集整个图像的全局信息,后一种操作将全局信息与原始特征图结合在一起。在卷积神经网络中,这两个步骤展开为自下而上、自上而下、完全卷积的结构。从输入开始,执行几次 max-pooling,以在少量 Residual Units 后迅速增加感受野。达到最低分辨率后,全局信息将通过对称的自上而下的体系结构进行扩展,以指导每个位置的输入特征。在 Residual Units 之后对输出进行线性插值上采样。双线性插值的数量与 max-pooling 的数量相同,以使输出大小与输入特征图相同。然后,在两个连续的 1x1 卷积层之后,sigmoid型层将输出范围归一化为 [0,1] 。作者还在自下而上和自上而下的部件之间添加了跳接,以捕获不同比例的信息。完整的模块如下图所示。使用三个超参数来设计注意力模块:p,t,r 。超参数 p 表示在分解为主干分支和掩码分支之前的预处理 Residual Units数。t 表示主干分支中的 Residual Units 数。r 表示掩码分支中相邻池化层之间的Residual Units 数。一个 Attention 模块是一个 stage。



图1 用于ImageNet的网络结构实例


最后,掩码分支提供的注意力会随着主干分支功能而适应性地变化。但是,仍然可以通过在 soft  掩码输出之前更改激活函数中的标准化步骤来将对注意力的约束添加到掩码分支中。作者引入了三种类型的激活函数,分别对应混合注意力、通道注意力和空间注意力。没有额外限制的混合注意力 f1 对每个通道和空间位置使用简单的 Sigmoid 型。通道注意力 f2 对每个空间位置在所有通道内执行 L2 归一化,以删除空间信息。空间注意力 f3 在每个通道的特征图中执行归一化,然后再进行 Sigmoid 形变换以获得仅与空间信息有关的 soft 掩码。



其中,i 的范围是所有的空间位置,c 的范围是所有的通道。mean_c 和 std_c 表示第 c个通道的特征图的平均值和标准差。x_i 表示第 i 个空间位置的特征向量。


当前 SOTA!平台收录 Residual Attention Network 共 15 个模型实现资源,支持的主流框架包含 TensorFlow、PyTorch、CANN 等。


模型 SOTA!平台模型详情页
Residual Attention Network https://sota.jiqizhixin.com/models/models/60c3b7ac-f424-476c-8373-2727af52d472



相关文章
|
机器学习/深度学习 数据挖掘 PyTorch
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
7547 1
图像分类经典神经网络大总结(AlexNet、VGG 、GoogLeNet 、ResNet、 DenseNet、SENet、ResNeXt )
|
机器学习/深度学习 人工智能 并行计算
深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型结构、实现、模型特点详细介绍
深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型结构、实现、模型特点详细介绍
深度学习应用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型结构、实现、模型特点详细介绍
|
机器学习/深度学习 编解码 PyTorch
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(二)
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(二)
219 0
|
机器学习/深度学习 编解码 算法
DeepLab、DeepLabv3、RefineNet、PSPNet…你都掌握了吗?一文总结图像分割必备经典模型(二)(1)
DeepLab、DeepLabv3、RefineNet、PSPNet…你都掌握了吗?一文总结图像分割必备经典模型(二)
187 0
|
机器学习/深度学习 人工智能 搜索推荐
DeepLab、DeepLabv3、RefineNet、PSPNet…你都掌握了吗?一文总结图像分割必备经典模型(二)(2)
DeepLab、DeepLabv3、RefineNet、PSPNet…你都掌握了吗?一文总结图像分割必备经典模型(二)
406 0
|
计算机视觉
CVPR2023最新Backbone |FasterNet远超ShuffleNet、MobileNet、MobileViT等模型(二)
CVPR2023最新Backbone |FasterNet远超ShuffleNet、MobileNet、MobileViT等模型(二)
237 0
|
机器学习/深度学习 安全 数据处理
CVPR2023最新Backbone |FasterNet远超ShuffleNet、MobileNet、MobileViT等模型(一)
CVPR2023最新Backbone |FasterNet远超ShuffleNet、MobileNet、MobileViT等模型(一)
382 0
|
机器学习/深度学习 编解码 算法
EfficientNet、ShuffleNet、NFNet…你都掌握了吗?一文总结图像分类必备经典模型(四)
EfficientNet、ShuffleNet、NFNet…你都掌握了吗?一文总结图像分类必备经典模型(三)
428 0
|
机器学习/深度学习 编解码 人工智能
EfficientNet、ShuffleNet、NFNet…你都掌握了吗?一文总结图像分类必备经典模型(五)
EfficientNet、ShuffleNet、NFNet…你都掌握了吗?一文总结图像分类必备经典模型
706 0
|
机器学习/深度学习 人工智能 搜索推荐
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型(四)
DenseNet、MobileNet、DPN…你都掌握了吗?一文总结图像分类必备经典模型
249 0

热门文章

最新文章

相关实验场景

更多