【OpenVI—论文解读系列】开源低成本大规模分类框架FFC CVPR论文深入解读

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

一、背景

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

     1.)成本问题:分布式训练框架 + 海量数据情况下,内存开销、多机通信、数据存储与加载都会消耗更多的资源。

     2.)长尾问题:实际场景中,当数据集达到上亿ID时,往往其绝大部分ID内的图片样本数量会很少,数据长尾分布非常明显,直接训练难以获得较好效果。


二、方法

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


2.1 挑战点1:成本居高不下

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

2.2 长尾学习困难

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

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

2.3 可行方法1:度量学习

2.png

2.4 可行方法2:PFC框架

3.png

2.5 可行方法3:VFC框架

4.png

2.6 本论文方法:FFC框架

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

5.png

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

6.png

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

7.png

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

8.png

    首先,为了解决长尾带来的影响,我们引入两个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里面的参数渐渐更新进去。

2.7 本论文方法:FFC框架

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

9.png

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

10.png

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

11.png

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

12.png

     首先,为了解决长尾带来的影响,我们引入两个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里面的参数渐渐更新进去。

2.8 本论文方法:trick介绍

2.8.1引入的ID Group,其size是个可调参数,一般默认为3万。

2.8.2为达到稳定训练,参考moco类方法,引入moving average,相应收敛情况对别:

13.png


三、实验结果

3.1 双Loader消融实验

14.png

3.2 SOTA方法效果对比

15.png

3.3 显存与样本吞吐对比

16.png

四、更多体验

      想体验调用稳定、效果更好的API,详情见视觉开放智能平台(https://vision.aliyun.com/


相关文章
|
3月前
|
人工智能 供应链 算法
从“小单困局”到供应链Agent:成本结构、博弈逻辑与人机协同的技术推演
本文剖析C2M服装供应链中“小单困局”的本质——切换成本在极小批量下不可摊销的数学必然。通过Agent集群实现成本透明化、智能拼单与品类感知,推动供应链从零和砍价转向正和协同。人机分工明确:AI做“数字包工头”,人当“关系架构师”。(239字)
|
2月前
|
数据采集 人工智能 自然语言处理
GEO 生成引擎优化详解
GEO(生成式引擎优化)是面向AI大模型的新型优化体系,旨在让品牌成为AI回答的首选引用源。不同于SEO追求链接排名,GEO聚焦语义结构化、事实密度、权威信任与多模态适配,助力AI“读懂、信任、推荐”你的信息。(239字)
|
10月前
|
数据采集 JSON 文字识别
图像与视频页面的数据提取
随着小红书、抖音等视觉平台崛起,传统采集难以应对图像视频内容。本文详解多模态采集架构:通过OCR识别图文、关键帧抽取视频信息,结合元数据融合,实现对视觉内容的精准理解与结构化提取,推动数据采集从“抓取”迈向“认知”。
679 7
|
8月前
|
搜索推荐 算法 NoSQL
用淘宝API优化商品推荐,让顾客一次买个够!
本文探讨如何利用淘宝开放平台API,结合关联规则、协同过滤与内容推荐算法,构建个性化商品推荐系统。通过挖掘用户行为与商品关联,优化购物车凑单、场景化组合推荐,提升转化率与客单价,实现“让顾客一次买个够”的智能推荐策略。
|
4月前
|
人工智能 安全 机器人
“养龙虾”全攻略|OpenClaw(龙虾AI)阿里云轻量服务器零基础部署+QQ等四大IM集成+千问API配置指南
2026年,一款名为OpenClaw的开源AI智能体(AI Agent)全网爆火,因其Logo是一只红色小龙虾,“Claw”意为“钳子”,象征着能动手操作电脑,被广大爱好者亲切称为“龙虾AI”,而部署、调教、使用它的全过程也被戏称为“养龙虾”。这款遵循MIT开源协议的AI自动化引擎,彻底打破了传统AI仅限于“对话框”的局限,核心是让大模型从“只会对话”变成“能执行真实任务”的数字员工,真正实现了从“对话式AI”向“行动式AI”的跨越。
798 4
|
8月前
|
存储 人工智能 搜索推荐
HSAP一体化混合搜索与分析架构全解:重塑数据价值的新范式
在AI与大数据融合背景下,HSAP架构应运而生,统一支持结构化分析、全文搜索与向量检索,打破数据孤岛,实现毫秒级实时智能分析。通过统一查询、并行执行与智能排序,显著提升复杂场景响应效率,广泛应用于推荐系统、金融风控与RAG等场景,成为AI时代数据中枢的核心基石。(238字)
|
JSON 数据格式 开发者
淘宝天猫图片搜索商品接口(附代码示例)
拍立淘图片搜索接口支持开发者通过上传图片或提供图片URL,在淘宝、天猫平台搜索相似商品,适用于商品识别、比价等场景。接口采用POST(上传图片)或GET(图片URL)请求方式,返回JSON格式数据,包含商品ID、标题、价格、卖家信息、销量及图片URL等详情,参数可指定搜索关键词、类目、结果数量等,默认返回20条。
|
编解码 网络协议 机器人
顶顶通电话机器人开发接口对接大语言模型之实时流TTS对接介绍
大语言模型通常流式返回文字,若一次性TTS会导致严重延迟。通过标点断句或流TTS可实现低延迟的文本到语音转换。本文介绍了电话机器人接口适配流TTS的原理及技术点,包括FreeSWITCH通过WebSocket流TTS放音,以及推流协议和旁路流对接的详细说明。
1419 1

热门文章

最新文章