今天给大家介绍的是由日本庆应大学、NVIDIA联合发表在ECCV 2024上的一篇论文:Multimodal Cross-Domain Few-Shot Learning for Egocentric Action Recognition
01 前言
跨域小样本学习任务(CDFSL)设置中与自我中心动作识别主要面临两个关键挑战:自我中心视频中的极端领域差距和现实世界应用的计算成本。包括领域间极大的差距,源数据和目标数据可能来自截然不同的环境,如日常生活与工业场景,及推理效率问题,在资源受限设备上运行的高计算成本。本文提出了MM-CDFSL,这是一种领域自适应且计算效率高的方法,旨在提高对目标领域的适应性和推理速度。
为了解决第一个挑战,作者提出将多模态蒸馏引入到使用教师模型的学生RGB模型中。每个教师模型都在其相应模态的源数据和目标数据上独立训练。在多模态蒸馏过程中仅利用未标记的目标数据,提高了学生模型对目标领域的适应性。作者进一步引入了集成掩码推理技术,该技术通过掩码减少输入令牌的数量。在这种方法中,集成预测减轻了掩码引起的性能下降,有效解决了第二个问题。通过在多个小样本学习基准数据集上的实验,验证了所提方法在自我视频分析中的有效性。
02 方法
图1 MM-CDFSL训练框架图
该文章的方法包括两个元训练阶段和两个元测试阶段:第一个阶段涉及领域自适应和类别判别特征的预训练,第二个阶段利用多模态蒸馏的领域自适应,第三个阶段使用标记的少数样本训练分类器来适应新的类别,第四个阶段在减少推理时间的同时推断查询数据的动作类别。
作者首先引入了一个具有多模态输入和未标记目标数据的跨域Few-shot学习任务的新问题设置(第2.1节)。然后,我们介绍了所提出的方法,包括:预训练(第2.2节);多模态蒸馏(第2.3节);Few-shot训练和集成屏蔽推理(第2.4节)。
2.1 任务定义
任务的目标是利用(标记的源数据集)和(未标记的目标数据集)对(目标数据集)中的新类进行分类。(标记的源数据集)和(未标记的目标数据集)都包含跨m模态的数据。确保源数据集和目标数据集之间没有类重叠,以保持Few-shot学习方案的完整性。为了在目标数据集中推断新的类,(未标记的目标数据集)被分成支持集S和查询集Q,支持集S包含N个类的K个数据,用于N-way K-shot任务,查询集Q只包含支持集的N个类的数据,与标准的Few-shot学习设置相同。
2.2 域适应和类别区分特征预训练
在预训练阶段,对每个模态的VideoMAE进行独立训练,学习源/目标域之间共享的表示和源域上的判别特征。具体操作如下:
给定一个输入x,其模态为m∈{RGB,光流,手部姿势热图}。分别对每个模态m由编码器(特征提取器)Em和解码器Dm组成的VideoMAE进行训练。按照VideoMAE的训练框架,对标记化后的输入数据进行屏蔽率ρ预训练,通过管屏蔽ψ进行随机屏蔽。并对x进行输入重构如下:
此外,使用分类器Gm输入从Em中提取的平均嵌入。
用三个损失的组合来训练每个模态的Em、Dm和Gm:(源数据的重构损失)、(目标数据的重构损失)。(源数据集中的动作分类的交叉熵损失),使用平衡超参数λ。
2.3 多模态蒸馏
通过将自适应域的多模态特征提取到RGB特征提取器ERGB,进一步提高对目标域的适应性。与仅使用RGB模态相比,使用多模态有助于减轻源域和目标域之间的域转移,因为视觉信息容易受到照明、背景和外观变化的影响。结合其他模式,如光流和手部姿势,引入对这些视觉变化不太敏感的补充信息。此外,将多模态特征提取到RGB模态中,这些特征具有领域适应性和类别区分性,降低了模型的复杂性,同时减小了领域差距。它旨在为RGB模型注入多模态学习的领域适应特征,而不需要在推理过程中处理和集成多模态数据类型。
对于给定未标记目标数据的多模态输入X,使用Teacher编码器训练Student RGB编码器的所有模态。值得注意的是,所有的Student和Teacher编码器都是从之前的域适应和类别区分特征预训练部分预训练的权重初始化的,而Teacher编码器的权重在多模态蒸馏阶段保持冻结。
此外,像之前的自监督训练一样屏蔽输入令牌,在模态上使用相同的屏蔽比ρ蒸馏。由于需要模型在推理过程中基于被屏蔽的输入进行预测,所以采用屏蔽(参见第2.4节)。未标记的目标RGB数据被馈送到学生RGB编码器;随后,将提取的特征通过投影层(例如多层感知器)投影到模态中M:
我们的目标是使其与模态m的实际嵌入的L2距离最小。具体来说,损失计算为每个模态对应的L2损失的线性组合,特征蒸馏损失定义如下:
sg[.]表示停止梯度算子。fm表示从模态m的Teacher编码器中提取(未标记目标数据x)目标m的特征。
多模态蒸馏阶段的最终训练损失是每个模态的这些损失的线性组合:
2.4 集成掩码推理
Transformer模型处理输入帧的所有tokens(表示为I)会导致高计算复杂度,虽然减少输入token数量可以降低计算成本,但可能会导致性能下降。作者提出了集成掩码推理,通过设置掩码比例ρ随机掩码输入帧,减少token数量,从而降低计算复杂度。 与此同时,集成学习对每个样本生成多个掩码版本(数量为P),来预测性能下降。
在Few-Shot训练中,作者学习了一种新的分类器,保留了RGB student编码器,分类器头部使用来自支持集S的采样N-way和K-way数据进行训练。在训练过程中利用掩码比ρ对输入进行Tube Masking,使模型在推理时能够基于掩码输入进行预测。
在推理阶段,当分类器训练好时,根据不同需求调整掩码比例ρ,在准确性与推理速度之间平衡。此外,作者采用集成学习来缓解由于屏蔽输入帧而导致的性能下降。通过应用不同的Tube Masking从一个样本生成P数据,然后取预测概率的平均值:
03 实验
3.1 数据集
采用最大规模的自我中心视频数据集Ego4D作为源数据集,多个自我中心数据集作为目标数据集,如EPIC-Kitchens是在烹饪领域捕获的数据集,MECCANO数据集是在类似工业的环境中收集的,20名参与者被要求组装一辆摩托车的玩具模型。WEAR数据集是专门为户外运动领域的人类活动识别而设计的,以自我为中心的视频数据捕捉了自然环境中各种各样的体育活动。
3.2 对比实验
作者比较了5-way 1-shot和5-shot top-1动作识别精度和推理成本与先前方法的性能,这些方法以Ego4D数据集为源域,以三个以自我为中心的数据集为目标域:烹饪领域的EPIC-Kitchens,工业领域的MECCANO和户外锻炼领域的WEAR。作者报告了作者提出的方法的准确率和推理成本,ρ推断比为0.75,使用集合数P = 2。表2和表3显示,在动作识别精度和推理成本方面,本文提出的方法始终优于最先进的具有未标记目标数据的CD-FSL方法。
表2 跨域小样本动作识别精度
表3 推理成本
3.3 消融实验
作者在使用预训练阶段的交叉熵损失进行了消融分析,以评估其与自监督学习一起对类别判别特征学习的影响。论文报告了最佳权衡模型的性能,该模型结合了多模态特征蒸馏来确定这种交叉熵损失消融的影响。如表4所示,结果验证了交叉熵损失对于获得类判别表示的重要性,从而显著提高了模型在跨域场景下进行少弹动作识别的准确性和可靠性。
预训练模型的适应性。文章在多模态蒸馏中的教师编码器依赖于预训练的模型。如果预先训练的模型不能充分捕获目标域的特征,那么使用目标域数据的蒸馏过程就会失败。文章在预训练期间利用未标记的目标数据使模型适应目标域。如表4所示,在预训练阶段对目标域数据的消融研究验证了作者的方法避免了上述问题。
表4 预训练阶段损失成分消融研究
多模态蒸馏。作者还在训练的第二阶段进行了消融研究,以评估多模态特征蒸馏的好处。结果表明,省略多模态蒸馏阶段会导致动作识别精度下降。这种下降强调了多模态蒸馏对提高跨域少镜头动作识别任务性能的重要性。
表5 多模态蒸馏阶段的消融研究
04 结论
文章提出了MM-CDFSL,首次在跨领域和小样本学习场景下探讨多模态数据在第一人称动作识别中的应用。方法包括:通过对每种输入模态进行预训练,提取领域适应性强且类别区分性高的特征;利用多模态蒸馏,将多模态教师模型的知识迁移到学生RGB模型,进一步缩小领域差距。此外,作者设计了集成掩码推理,通过对输入帧进行选择性掩码,降低计算成本,同时利用集成学习缓解性能下降。
实验表明,在EPIC-Kitchens、MECCANO和WEAR三大数据集上,该方法在动作识别精度和推理效率上均优于现有的跨领域小样本学习方法。但同样存在一些局限性,本方法依赖于现成的光流估计器和手部关键点检测器,可能会受到工具偏差或错误的影响。同时,蒸馏过程中的损失权重是固定的,未能根据目标领域中不同模态的重要性进行动态调整。例如,在户外场景中,运动信息可能比手部姿态更为重要。
论文链接:
https://masashi-hatano.github.io/MM-CDFSL/
代码链接:
https://github.com/masashi-hatano/MM-CDFSL
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。