想象一下,你正在教一个机器人识别人类动作,比如“骑马”或“打篮球”。通常,要教机器人,你需要向它展示成千上万段人们做这些特定动作的视频,并逐一进行标注。但如果你希望机器人识别一种它从未见过的新动作,比如“挥舞链锯”,该怎么办?你无法向它展示示例,因为这些示例并不存在于它的训练数据中。这就是零样本动作识别所面临的挑战。
本文介绍了一种名为CEZSAR的新方法来解决这一问题。以下是其工作原理的简明解释:
两大难题
作者指出,在不展示示例的情况下教机器人学习新动作之所以困难,是因为存在两个主要的“拦路虎”:
语义鸿沟(语言障碍):
想象一下,你有一个讲“视觉”语言的机器人(它看到像素和形状),另一个讲“文本”语言的机器人(它理解词语)。如果你告诉文本机器人“这是一场赛马”,它知道这个概念。但视觉机器人看到的只是一匹模糊的马和赛道的图像。问题在于,文本世界中“赛马”的概念与视觉世界中“赛马”的画面并不完美匹配。它们就像两个说着不同方言的人;虽然理解的是同一件事,但细节在翻译过程中丢失了。
- 论文的解决方案: CEZSAR 构建了一个通用翻译器。它迫使视觉机器人和文本机器人学习一种共同语言,使得“赛马”的画面和“赛马”这句话在它们的记忆空间中紧密相邻。
域偏移(语境陷阱):
想象一下,你只训练机器人识别人们在公园里跑步的视频。如果你随后让它识别在健身房跑步机上跑步的人,它可能会感到困惑,因为背景(即“域”)完全不同。机器人记住的是公园,而不是跑步这一行为本身。
- 论文的解决方案: 作者意识到,虽然视觉世界变化很大(不同的公园、不同的健身房),但“跑步”的文本描述却保持不变。通过将视觉学习与文本描述锚定在一起,机器人学会了忽略令人困惑的背景,专注于动作本身。
CEZSAR 的工作原理(配方)
该方法采用了一种“对比”方法,就像玩**“热与冷”**的游戏。
- 设置: 系统接收一段视频和描述该视频的句子。
- 目标: 它试图让视频和与其匹配的句子在数学空间中“拥抱”彼此(即变得非常接近)。
- 转折(困难负样本采样): 这是巧妙之处。系统需要学习什么不匹配。与其让人类手动寻找错误的匹配,不如让计算机自动生成它们。
- 它选取一段某人“骑马”的视频。
- 它抓取一句关于“骑马”的句子(正确的匹配)。
- 它抓取一句关于“骑自行车”或“煮意大利面”的句子(错误的匹配)。
- 它迫使计算机将“煮意大利面”的句子推得离“骑马”的视频尽可能远。
- 神奇之处: 他们使用了一个聪明的技巧,无需人工帮助即可自动找到这些“错误匹配”,从而在单台计算机上短短几小时内生成数百万个训练样本。
结果
作者在两个著名的视频数据集(UCF-101 和 Kinetics-400)上测试了该方法。
- 得分: 他们的方法比之前的方法获得了显著更高的准确率。例如,在针对 101 种它从未见过的动作进行的测试中,与次优方法相比,其准确率提高了约 10 个百分点。
- 成功原因: 通过使用文本描述来指导视觉学习,机器人在区分外观相似的动作(如“骑马”与“赛马”)方面变得更为出色,并且不再被不同的背景所迷惑。
总结
CEZSAR 是一种教计算机识别从未见过的新动作的新方法。它不再仅仅记忆图片,而是教导计算机将图片与其描述联系起来,利用一种巧妙的“匹配与不匹配”游戏来弥合我们所见与所读之间的鸿沟。这使得计算机能够快速、准确地理解新动作,即使它从未观看过这些动作的视频。
技术摘要:CEZSAR
问题定义
本文探讨了视频中的**零样本动作识别(ZSAR)**任务,该任务旨在对模型训练阶段未出现的类别中的动作实例进行分类。作者指出了现有 ZSAR 方法中存在的两个持续挑战:
- 语义鸿沟:视觉域(由 CNN 或 Transformer 表示)与文本域(由语言模型表示)之间的错位。即使在联合嵌入空间中,视觉特征的分布也往往与其语义对应物发生偏离。例如,“鞍马”和“平衡木”等动作共享相似的场景结构(体育馆),但在具体动作和器械上存在差异,导致在嵌入空间中产生混淆。
- 域偏移:训练集与未见测试集之间概率分布的差异。由于测试集在训练期间是未知的,模型难以泛化到新的数据分布。
现有方法通常依赖人工定义的属性或简单的词嵌入(如 Word2Vec、GloVe),这些方法无法捕捉细粒度的语义差异,或需要大量的人工努力。此外,虽然像 CLIP 这样的大规模预训练模型显示出前景,但它们需要巨大的计算资源和数据(数亿对数据),而这些往往难以获取。
方法论:CEZSAR
作者提出了CEZSAR(用于零样本动作识别的对比嵌入方法),这是一种旨在利用对比学习为视频和自然语言描述学习联合嵌入空间的模型。
架构
该模型由两个主要模块组成:
- 视觉嵌入模块(VEM):
- 视频以每秒 1 帧(FPS)的速率进行采样。
- 帧使用预训练的卷积神经网络(CNN),具体为 ResNet-152 进行编码,生成特征堆栈。
- 全连接层降低维度,随后通过带有多头自注意力的Transformer 编码器对时序信息进行建模。
- 输出被投影到联合语义空间(128 维)。
- 句子嵌入模块(SEM):
- 自然语言描述使用**Sentence-BERT (SBERT)**进行处理,生成 768 维的嵌入向量。
- 这些向量通过全连接层投影到相同的联合语义空间中。
训练策略:硬负样本采样
核心创新在于自动硬负样本采样过程,该过程消除了对人工标注负样本对的需求:
- 语义过滤:模型使用预训练的 SBERT 模型评估句子之间的相似度。余弦相似度高于阈值 τ 的句子被视为语义相似。
- 基于对象的增强:系统检测视频中的对象并为其生成描述性句子。随后,它选择那些与人工标注描述以及对象生成描述均存在足够差异的负向描述。
- 三元组生成:此过程生成由(视频、正向描述、负向描述)组成的三元组。作者报告从 ActivityNet Captions 数据集中生成了约三百万个三元组。
- 损失函数:模型使用三元组损失函数进行训练,该函数最小化视频与其正向描述之间的距离,同时最大化其与负向描述之间的距离。
分类
在推理过程中,模型将输入视频和类别原型(由句子描述定义)映射到联合嵌入空间。分类基于余弦相似度使用最近邻规则执行。最终的视频嵌入($VidE)可以选择性地结合对象级语义信息(O(v))与原始视觉特征(VE(v)),由权重参数\alpha和\beta$ 控制。
主要贡献
本文概述了三个主要贡献:
- 一种新颖的跨模态对比方法:CEZSAR 有效地将视觉特征与句子描述关联起来,显著减少了模态间的语义鸿沟。
- 模块化投影:该架构允许视频和描述通过不同的子网络进行投影,从而便于纳入额外的模态(文本、图像或其他视频),而无需重新训练整个对比模型。
- 效率与鲁棒性:该方法在标准基准测试上取得了最先进的结果,仅使用单张 GPU 和大规模模型(如 CLIP)所需数据及训练时间的一小部分。
实验结果
该方法在UCF-101和Kinetics-400数据集上进行了评估,测试了各种零样本划分配置(例如,0% 已见类别,100% 未见类别)。
- UCF-101:在 0/101 配置下(所有类别均未见),CEZSAR 达到了**95.2%**的准确率(如图 1b 所示),相较于基线 ZSARCAP(67.2%)和其他最先进方法有了显著提升。包含对象级语义提供了微小但一致的改进。
- Kinetics-400:该模型在所有测试配置(25、100 和 400 个未见类别)中均优于所有之前的最先进方法。对于 400 类划分,其准确率达到23.8%,超过了之前的最佳成绩 20.4%。
- 困难样本:在一个包含 15 个高度相似的困难类别的子集上(例如区分“骑马”和“赛马”),CEZSAR 达到了**63.3%**的准确率,而 ZSARCAP 为 47.4%。混淆矩阵表明误分类错误大幅减少,特别是涉及相似器械或场景的组别。
意义与主张
作者声称,CEZSAR 证明了对比学习是弥合 ZSAR 中语义鸿沟的一种直接且有效的方法。通过将视觉特征的学习条件化于文本描述(一种较不易受域偏移影响的模态),模型自然地缓解了域偏移问题。
本文强调,零样本识别中的高性能并不一定需要大规模预训练基础设施(例如数千个 GPU 和数亿对数据)。相反,一个设计精良的对比框架,配合自动负样本采样,可以使用显著更少的资源在标准数据集上取得优越结果(视觉表示数量比 CLIP 规模模型少 1000 倍,数据对少 100 倍,在单张 GPU 上训练数小时即可完成)。这项工作表明,性能提升的主要驱动力是语义鸿沟的有效缩小,而不仅仅是语义信息量的增加。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。