VV游戏

 找回密码
 立即注册
查看: 159|回复: 1

CVPR 2022|达摩院开源低成本大规模分类框架FFC

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-12 08:02:20 | 显示全部楼层 |阅读模式
关注“FightingCV”公众号
回复“AI”即可获得超100G人工智能的教程
点击进入→FightingCV交流群
From 机器之心
本文主要介绍了超大规模分类框架的现有解决方案,以及低成本分类框架 FFC的相应原理及 trick 介绍。




论文链接:https://arxiv.org/pdf/2105.10375.pdf

应用 & 代码:


  • https://modelscope.cn/models/damo/cv_ir50_face-recognition_arcface/summary
  • https://modelscope.cn/models/damo/cv_resnet_face-recognition_facemask/summary

背景


图像分类是当前 AI 最为成功的实际应用技术之一,已经融入了人们的日常生活。被广泛应用于计算机视觉的大部分任务中,比如图像分类、图像搜索、OCR、内容审核、识别认证等领域。目前已形成一个普遍共识:“当数据集越大 ID 越多时,只要训练得当,相应分类任务的效果就会越好”。但是当面对千万 ID 甚至上亿 ID 时,当下流行的 DL 框架,很难低成本的直接进行如此超大规模的分类训练。

解决该问题最直观的方式是通过集群的方式消耗更多的显卡资源,但即便如此,海量 ID 下的分类问题,依然会有如下几个问题:

1.)成本问题:分布式训练框架 + 海量数据情况下,内存开销、多机通信、数据存储与加载都会消耗更多的资源。
2.)长尾问题:实际场景中,当数据集达到上亿 ID 时,往往其绝大部分 ID 内的图片样本数量会很少,数据长尾分布非常明显,直接训练难以获得较好效果。

本文余下章节将重点介绍超大规模分类框架现有解决方案,以及低成本分类框架 FFC 的相应原理及 trick 介绍。

方法

在介绍方法之前,本文首先回顾了当前超大规模分类存在的主要挑战点:

挑战点 1:成本居高不下

ID 数目越大分类器显存需求越大,如下示意图所示:




显存越大所需机器卡数越多,成本也就越高,相应多机协同的硬件基础设施成本也越高。与此同时,当分类 ID 数目达到极超大规模的时候,主要计算量将浪费在最后一层分类器上,骨架网络消耗的时间可忽略不计。

挑战点 2:长尾学习困难

在实际场景下,上亿 ID 中的绝大部分 ID 内的图片样本数量会很少,长尾数据分布非常明显,直接训练难以收敛。如果按照同等权重训练,则长尾样本会被淹没学习不充分。此时,一般采用 imbalanced sample,在这个研究课题上,有非常多的方法可以借鉴,采取怎样的方式融入到简易超大规模分类框架上较为合适呢?

带着上述两个挑战点,首先来看下现有可行的方案有哪些,是否能很好的解决上述两个挑战。

可行方法 1:度量学习





可行方法 2:PFC 框架





可行方法 3:VFC 框架





本论文方法:FFC 框架

大规模分类采用 FC 训练时损失函数如下:




在每一次反传过程中,所有的类中心都会更新:




但 FC 太大了,直观的思路是合理地选择一定比例的类中心,即如下 Vj 为 1 部分:





由上述动机,引出了如下初步的方案:





首先,为了解决长尾带来的影响,本文引入两个 loaders,分别是基于 id 采样的 id_loader 和基于样本采样的 instance_loader,有了这两个 loader。在每个 epoch 当中,样本多的类和样本少的(few-shot)类能够有机会被训练到。

其次,在训练开始之前,先将一部分样本送入 id group,这里假设放入 10% id 的样本进入 group。这时候 gallery 用的是随机参数。

然后,训练开始时,batch 样本挨个进入 probe net。然后对于每个 batch 里面的样本就有两种情况:1.)group 中存在此样本同样 id 的特征,2.)group 中不存在同类样本的特征。对于这两种情况,分别称之为 existing id 和 fresh id。对于 existing 的样本,用特征和 group 里面的特征做内积,计算与标签的交叉熵损失函数,后回传。对于 fresh 的样本,与 group 里面的样本进行最小化余弦相似度。

最后,对 group 里面特征更新,采取新类中心替换,依据现有类中心加权的原则。对于 gallery net,采用 moving average 策略把 probe 里面的参数渐渐更新进去。

本论文方法:trick 介绍

1.)引入的 ID Group,其 size 是个可调参数,一般默认为 3 万。
2.)为达到稳定训练,参考 moco 类方法,引入 moving average,相应收敛情况分别为:




实验结果

1. 双 Loader 消融实验





2. SOTA 方法效果对比





3. 显存与样本吞吐对比




往期回顾

基础知识
【CV知识点汇总与解析】|损失函数篇

【CV知识点汇总与解析】|激活函数篇

【CV知识点汇总与解析】| optimizer和学习率篇

【CV知识点汇总与解析】| 正则化篇
【CV知识点汇总与解析】| 参数初始化篇

【CV知识点汇总与解析】| 卷积和池化篇 (超多图警告)


最新论文解析
NeurIPS2022 Spotlight | TANGO:一种基于光照分解实现逼真稳健的文本驱动3D风格化
ECCV2022 Oral | 微软提出UNICORN,统一文本生成与边框预测任务
NeurIPS 2022 | VideoMAE:南大&腾讯联合提出第一个视频版MAE框架,遮盖率达到90%
NeurIPS 2022 | 清华大学提出OrdinalCLIP,基于序数提示学习的语言引导有序回归

SlowFast Network:用于计算机视觉视频理解的双模CNN
WACV2022 | 一张图片只值五句话吗?UAB提出图像-文本匹配语义的新视角!
CVPR2022 | Attention机制是为了找最相关的item?中科大团队反其道而行之!
ECCV2022 Oral | SeqTR:一个简单而通用的 Visual Grounding网络
如何训练用于图像检索的Vision Transformer?Facebook研究员解决了这个问题!
ICLR22 Workshop | 用两个模型解决一个任务,意大利学者提出维基百科上的高效检索模型

See Finer, See More!腾讯&上交提出IVT,越看越精细,进行精细全面的跨模态对比!
MM2022|兼具低级和高级表征,百度提出利用显式高级语义增强视频文本检索
MM2022 | 用StyleGAN进行数据增强,真的太好用了

MM2022 | 在特征空间中的多模态数据增强方法

ECCV2022|港中文MM Lab证明Frozen的CLIP 模型是高效视频学习者

ECCV2022|只能11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT

CVPR2022|比VinVL快一万倍!人大提出交互协同的双流视觉语言预训练模型COTS,又快又好!

CVPR2022 Oral|通过多尺度token聚合分流自注意力,代码已开源

CVPR Oral | 谷歌&斯坦福(李飞飞组)提出TIRG,用组合的文本和图像来进行图像检索
回复

使用道具 举报

3

主题

10

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2025-5-12 07:45:43 | 显示全部楼层
好,很好,非常好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|VV游戏

GMT+8, 2025-6-4 11:59 , Processed in 0.102564 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表