图像分类—ResNeSt理论与实践

举报
ganxu 发表于 2021/06/08 18:06:12 2021/06/08
【摘要】 一、概念介绍分类网络结构是其他大多数任务的网络设计的基础,而特征图注意力(featuremap attention)和多路径表示(multi-path representation)对于视觉识别非常重要。ResNeSt网络基于此提出了一个模块化的体系结构,它将通道attention应用于不同的网络分支,以利用它们在捕获跨特征交互以及学习不同的表示方法。此外,ResNeSt在作为骨干的几个公共...

一、概念介绍

分类网络结构是其他大多数任务的网络设计的基础,而特征图注意力(featuremap attention)和多路径表示(multi-path representation)对于视觉识别非常重要。ResNeSt网络基于此提出了一个模块化的体系结构,它将通道attention应用于不同的网络分支,以利用它们在捕获跨特征交互以及学习不同的表示方法。此外,ResNeSt在作为骨干的几个公共基准上有了很大的提升,并被COCO-LVIS挑战赛的获奖作品所采用。


二、网络结构

该网络结构是基于ResNet,引入了Split-Attention块,可以跨不同的feature-map组实现feature-map注意力。

2.1 Feature-map组

在ResNeSt网络中,特征图分到不同组内,通过Cardinality超参数K进行控制组的数量,通过radix超参数R控制组内splits的数量。所以,特征组的总数量为G=K*R个,可以引入一系列{F1, F2, ...FG}对应每个个体组的变换,这样每个组在feature-map组的结果是Ui=Fi(X)。

2.2 Split-Attention块

Split-Attention块是一个计算单元,由feature-map组和split attention操作组成,它能够在不同的feature-map组上加入特征图attention。ResNeSt块将输入分为K个,每一个记为Cardinal1-k,然后又将每个Cardinal拆分成R个,每一个记为Split1-r,所以总共有G=K*R个组。

第k组的feature-map组的结果是:

经过全局池化后第c个成分是:

经过channel-wise attention操作后:

其中attention权值可以表示为:

2.3 ResNeSt块

在channel维度上对每组进行拼接操作:

使用shortcut链接后,最后的输出为:

2.4 网络与训练中的策略

  1. 平均下采样:对于检测和分割任务,下采样过程对于保持空间信息非常重要,ResNeSt采用的是平均池化方法,使用3*3的kernel来很好的保持空间信息。
  2. 从ResNet-D中学到的策略用3个3x3卷积替代一个7x7卷积;加了一个2x2的平均池化到skip connection里去。
  3. 学习率:通过余弦函数动态调整。
  4. 标签平滑:样本的目标值不做硬目标,使用概率平滑:
  5. 调和训练:任意选择两个样本,可以选择调和系数满足Beta分布来生成另一个综合的样本
  6. 正则化:可以选择dropout、DropBlock、L2正则化方法。


三、ResNeSt在ModelArts上的实践

可以订阅ModelArts的ResNeSt算法来入门和熟悉ResNeSt在图像分类中的使用流程。

3.1 准备数据集

可以在AI Gallery数据中搜索分类得到适合图像分类的数据集,此次选择了花卉分类的数据集。

点击“下载”。

下载方式可以选择对象存储服务(OBS)”“ModelArts数据集两种方式,都是将训练集下载到OBS桶内,所以目标位置都需要填写到OBS桶内的文件夹。当选择“ModelArts数据集时可以给数据集命名,后面训练可以通过名称选择数据集。

下载好的数据集是默认训练验证集切分比例为1.00,要输入到AI Gallery的ResNeSt算法中需要进行切分。在“数据管理”的“数据集”中选择对应数据名称的“发布”。可以选择切分比列0.8

3.2 订阅ResNeSt算法

在算法内选择“图像分类-ResNeSt”。

点击“订阅”并进入控制台。

3.3 训练ResNeSt模型

进入控制台后可以选择目前最新的算法版本点击“创建训练作业”。

创建训练作业后只需要填写数据输入和模型输出train_url,超参数据可以选择默认值,也可以根据实际情况修改,创建完毕后点击“提交”。超参数据说明可参考:https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=10014e59-0a42-4a6c-a17c-afae33dcd420


训练完成后可以查看该训练作业的配置信息、日志、资源占用情况和评估结果。可以点击“创建模型”来进行在线推理。

3.4 在线推理部署

点击上图的“创建模型”后就能根据已经训练好的训练作业来导入模型。

选择刚才训练好的训练作业来导入模型,点击“立即创建”。模型导入完成后选择在线服务中的部署。

选择导入的模型做推理服务。

等推理部署成功后,可以上传本地文件进行预测。


四、参考文献

[1] Zhang, H., Wu, C., Zhang, Z., Zhu, Y., Lin, H., Zhang, Z., ... & Smola, A. (2020). Resnest: Split-attention networks. arXiv preprint arXiv:2004.08955.

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。