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

简介: 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



相关文章
|
机器学习/深度学习 人工智能 自然语言处理
视觉 注意力机制——通道注意力、空间注意力、自注意力
本文介绍注意力机制的概念和基本原理,并站在计算机视觉CV角度,进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。
13294 58
|
10月前
|
机器学习/深度学习 存储 TensorFlow
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
2389 11
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
|
10月前
|
存储 算法 数据处理
Pandas高级数据处理:数据压缩与解压
本文介绍 Pandas 中的数据压缩与解压技术,探讨其在大数据集存储、远程传输和备份归档中的应用场景。Pandas 支持多种压缩格式(如 `.gzip`、`.bz2`、`.zip`),通过 `compression` 参数轻松实现数据的压缩与解压。文中还提供了常见问题的解决方案,如文件扩展名不匹配、内存不足和性能优化,并介绍了自动检测压缩格式和组合压缩加密的高级技巧。掌握这些功能可显著提升数据处理效率。
305 20
|
存储 SQL 关系型数据库
MySQL 给数据表增加一列,一定会锁表吗?
【8月更文挑战第8天】在数据库管理和开发中,给数据表增加一列是一个常见的操作。然而,当面试官提出“MySQL 给数据表增加一列,一定会锁表吗?”这一问题时,答案并非绝对。这主要取决于MySQL的版本、存储引擎以及具体的操作方式。
766 0
|
10月前
|
机器学习/深度学习 机器人 网络架构
RT-DETR改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1
RT-DETR改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1
308 0
RT-DETR改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1
WK
|
机器学习/深度学习 算法
什么是Sigmoid函数
Sigmoid函数是在机器学习及统计学中广泛应用的一种数学模型,尤其适用于逻辑回归与神经网络中的激活场景。该函数能将任意实数映射至(0,1)区间,象征概率或事件发生可能性。其S型曲线特性使其在二分类问题中表现出色,同时具备连续平滑与中心对称的特点,利于采用如梯度下降等优化算法。然而,Sigmoid函数在极端输入值下会出现梯度消失的问题,影响模型训练效果。尽管有此局限性,它在特定应用场景中依然重要,例如需要输出概率值的情况。
WK
1329 0
|
算法
《黑神话:悟空》的关卡设计与优化技巧
【8月更文第26天】《黑神话:悟空》作为一款备受期待的动作冒险游戏,其关卡设计不仅需要吸引玩家的注意力,还要提供流畅且引人入胜的游戏体验。本文将探讨关卡设计的原则,并介绍一些优化技巧,以帮助提高玩家的沉浸感和游戏的整体质量。
531 0
|
机器学习/深度学习 API 计算机视觉
4.2 图像分类基本概念和ResNet设计思想
这篇文章介绍了图像分类的基本概念,详细阐述了ResNet(残差网络)的设计思想和实现方法,包括残差单元的结构设计、整体网络结构以及如何使用飞桨框架的高层API快速构建和训练图像分类模型。
|
机器学习/深度学习 存储 人工智能
手动实现一个扩散模型DDPM(上)
手动实现一个扩散模型DDPM(上)
943 5
|
机器学习/深度学习 编解码 计算机视觉
扩散模型(Diffusion Model)
扩散模型(Diffusion Model)
1332 1