【论文分享】模型心里门儿清,嘴上说不出?上交大与蚂蚁新作 SAPO:无需人工标注,用内部注意力与 GRPO 破解视频大模型时序定位鸿沟
在视频多模态大模型(Video-VLM)领域,视频时序定位(Temporal Video Grounding, TVG) 是评估模型是否真正“看懂时间”的核心标尺:给定一段长视频与一句用户自然语言查询(例如“找出小猫跳进纸箱的瞬间”),模型需要精准返回目标事件在时间轴上的物理起止点 (秒)。
尽管当前的通用视频大模型(如 Qwen2.5-VL、InternVL 等)在长视频问答、事件摘要上表现惊艳,但在输出具体起止时间戳时却频频翻车、误差巨大。
为了提升定位精度,传统工业界与学术界不得不陷入两难泥潭:要么斥巨资雇佣大量人工“逐秒逐帧打标起止边界”,搞昂贵的监督微调(SFT);要么在推理端挂上一堆繁琐特征提取与滑动窗口聚类等外挂后处理流水线(Training-free 方案),导致线上服务延迟爆炸、运维成本失控。
难道离开昂贵的人工标注,大模型就真的无法学会精准感知时间吗?
近日,来自上海交通大学与蚂蚁集团的研究团队在 arXiv 上公开了一篇兼具敏锐直觉与工程巧思的前沿成果:
《SAPO: Self-Supervised Attention Policy Optimization for Improving Temporal Video Grounding in Vision–Language Models》 (arXiv:2610.25923)
论文链接:https://arxiv.org/abs/2610.25923
HTML 格式:https://arxiv.org/html/2610.25923
核心关键词:视频时序定位、自监督对齐、强化学习微调、GRPO、时序注意力
作者通过严谨的白盒解剖提出了一个颠覆性的发现:大模型其实“心里门儿清,只是嘴上说不出来”! 模型内部的跨模态注意力早在浅中层就已经锁定了正确的时间区间,只是在自回归解码为文本字符时丢失了精度。
基于这一洞察,作者提出了 SAPO(Self-Supervised Attention Policy Optimization) 框架:全程无需任何人工起止标注(Zero Ground Truth),巧妙地将模型自身的内部注意力作为自我监督信号,引入组相对策略优化(GRPO),仅凭区区 2,000 条未标注视频,便让 Qwen2.5-VL-3B 定位精度暴涨 33.7%,且在生产端具备 0 额外推理延迟!
本文将从系统架构与工程实现的视角,深度拆解 SAPO 的核心诊断、奖励引擎机制、高价值样本筛选算法与工业落地价值。
论文题目:SAPO: Self-Supervised Attention Policy Optimization for Improving Temporal Video Grounding in Vision–Language Models
作者团队:Zixuan Chen, Depeng Wang, Wei Chen, Ke Xu, Ya Guo, Huijia Zhu, Tanfeng Sun, Xinghao Jiang(上海交通大学、蚂蚁集团)
收录情况:arXiv 预印本(2026年10月)
论文链接:https://arxiv.org/abs/2610.25923
01. 根因剖析:为什么大模型“心里懂,嘴上飘”?
在剖析解决方案前,必须先理清视频大模型在预测时间戳时的底层生理缺陷。
1 | +-------------------------------------------------------------------------+ |
1. 时序生成鸿沟(Temporal Generation Gap)
传统算法工程师往往假设:模型如果输出了错误的数字时间戳,说明模型没有看懂这段视频。
但论文作者设计了一个对照实验:
- 预测区间 :让模型自回归生成的时间戳文本字符串(例如
[12.4, 18.2]); - 注意力区间 :从模型中后层直接提取 Prompt 最后一个 Token 对所有视频帧 Token 的跨模态交叉注意力(Cross-Modal Attention),滤除首帧 Attention Sink,取累积权重达到 50% 的最短连续时间窗口,映射为物理秒数区间。
作者在 Qwen2.5-VL-3B/7B、InternVL3-2B、Qwen3-VL-4B 等主流模型上与人工标注真值(Ground Truth, )计算交并比(IoU),得出了令人震惊的一致规律:
无论模型初始定位能力强弱,底层注意力区间在绝大多数样本上均显著优于显式文本输出!
2. 产生鸿沟的工程本质
为什么会出现这种“表里不一”?
- 坐标空间差异:底层注意力直接作用于视频帧在 Transformer 内部的位置编码空间(Position Space),具有天然的连续物理邻近性;
- 离散化与绝对值标定损耗:大模型的底层并非回归器,当它试图用自回归的字符序列(如数字字符
'1','5','.','3')来表达连续物理量时,必须在缺乏强先验的情况下强行将视觉 Token 跨度映射到抽象标量秒数上,带来了严重的累计失真。
既然模型自身已经蕴含了精准的时序先验,核心工程命题就变成了:如何搭建一条低成本的自校准流水线,把模型“内部的懂”无损传导到“外部的嘴”?
02. 系统设计:SAPO 自监督对齐闭环
针对上述痛点,SAPO 构建了一套完全抛弃人工边界标注的自监督强化学习微调流水线。
flowchart TD
subgraph OfflineSelection["一、 离线无监督高价值样本挖掘(JS 散度冲突检测)"]
RawPool["原始未标注视频库 (Unlabeled Pool)"] --> BaselineInference["冻结基座单次前向推理"]
BaselineInference --> ExtractPair["提取: 预测时序分布 p 与 注意力分布 a"]
ExtractPair --> CalcJS["计算 JS 散度: d = JS(p || a)"]
CalcJS --> TopKFilter["Top-K 过滤 (锁定内部认知冲突最强样本)"]
end
subgraph RLLoop["二、 强化学习策略对齐循环 (GRPO Loop)"]
TopKFilter --> QueryBatch["高价值数据批次 (Batch)"]
QueryBatch --> PolicyActor["可训练策略模型 (Actor Policy)"]
QueryBatch --> FrozenRef["冻结参考模型 (Frozen Ref)"]
PolicyActor --> Rollouts["采样 K=8 组时间戳候选 [s_k, e_k]"]
FrozenRef --> StableAttn["提供稳定的参考注意力分布 a 与区间 I_a"]
Rollouts & StableAttn --> RewardCalc["复合多维 Reward 引擎"]
RewardCalc -->|连续平滑| W1_Term["Wasserstein-1 距离分布损失 (-W1)"]
RewardCalc -->|离散边界| IoU_Term["注意力区间 IoU 奖励 (+IoU)"]
RewardCalc -->|格式防错| Fmt_Term["起止点合法性奖励 (+r_fmt)"]
RewardCalc -->|防作弊| Width_Term["全长过度扩展惩罚 (-p_width)"]
W1_Term & IoU_Term & Fmt_Term & Width_Term --> Advantage["组相对优势标准化 (GRPO Advantage)"]
Advantage --> UpdateWeights["策略梯度反向传播 + KL 正则化更新"]
end
subgraph OnlineServing["三、 生产部署与零开销推理 (Zero-Overhead Serving)"]
UpdateWeights --> DeployModel["产出微调模型权重"]
DeployModel --> StandardAPI["标准推理服务接口 (vLLM / SGLang)"]
StandardAPI --> Output["直接输出最终高精度时间戳 [s, e] (0 额外耗时)"]
end
整套系统由离线无监督样本挖掘与在线 GRPO 强化学习循环两个核心构件组成。
03. 核心机制拆解:四个极具启发性的工程方案
1. 无真值高价值样本筛选(JS 散度冲突检测器)
在无标注数据池中,并不是所有样本都值得拿来训练:
- 如果模型原本的输出就和内部注意力高度吻合,没有校准空间;
- 如果内部注意力本身存在严重噪点,盲目拟合会把模型带偏。
在 完全没有 Ground Truth(真值) 的前提下,如何精准挑选出“最值得训练”的黄金样本?
工程实现
- 将模型预测的离散区间 转化为一维高斯时序分布 :
- 将内部校准后的注意力权重归一化为时序分布 ;
- 计算两者的 Jensen-Shannon 散度(JS 散度):
- 按照 降序排列,取 Top- 样本(实验中仅需 2,000 个样本)构建训练集。
1 | [Attention 与 Prediction 吻合] --> JS 散度极小 --> 内部已对齐,无需重复强化 |
实验直觉验证
论文实测证明:JS 散度越大的样本,注意力战胜预测值(Attention Lead Rate)的比例越高。通过 JS 散度不仅避开了无意义样本的算力浪费,而且以零真值成本筛出了最有效的监督信号。
2. 复合 Reward 引擎:为什么必须引入 Wasserstein 距离?
在强化学习中,直接用区间 IoU 做奖励是许多算法工程师的本能反应。但在时序定位任务中,单一使用 IoU 具有致命的工程缺陷:反馈极度稀疏(Sparse Feedback)。
稀疏奖励的死穴
假设真实事件位于 [10s, 20s]:
- 采样 A 猜在
[30s, 40s](距离真实区域仅相差 10 秒); - 采样 B 猜在
[80s, 90s](南辕北辙,差了 60 秒)。 - 在 IoU 指标下,两者的得分全部精确为 0! 策略梯度根本无法区分采样 A 和采样 B 谁更好,优化陷入盲目游走。
Wasserstein-1 距离的平滑梯度救援
SAPO 采用密集分布度量 + 稀疏边界度量结合的双层奖励:
其中各项权重设置为 。
- 推土机距离 (密集连续奖励):
利用累积分布函数(CDF)的差值绝对值求和,保留了时间轴上的绝对几何空间距离。即使预测区间与目标完全无重叠, 也能明确告诉模型“猜在 30 秒比猜在 80 秒好得多”,提供了平滑且有方向性的指引梯度。
- 注意力解码区间 IoU(稀疏精细奖励):在重叠区域提供高精度边界收敛的推力。
3. 反作弊机制:对抗 RL 的“投机取巧”
强化学习策略在优化过程中极其善于寻找损失函数的数学漏洞。
在时序定位中,模型很快会发现一条通往高分的捷径:“只要我把预测区间从第 0 秒一直拉到视频结束,那么无论目标在哪,我都至少能混到一定的 IoU 分数,且永远不会扑空!”
为杜绝这种投机,SAPO 引入了区间宽度正则化惩罚:
一旦预测区间宽度超过视频总时长的 50%,模型将受到线性比例惩罚。消融实验证明,若移除该约束,模型在严格精度指标(R@0.7)上的定位表现会发生断崖式暴跌。
4. 为什么选 GRPO 而不是监督微调(SFT)伪标签?
直觉上最简单的工程做法是:既然解码出的注意力区间 这么好,直接把 存成 JSON 伪标签,用普通的 Cross-Entropy 做一次 SFT 不行吗?
论文在表 5 中进行了严格对照:
| 训练范式 | Charades-STA mIoU | ActivityNet mIoU |
|---|---|---|
| 初始基座 (Zero-shot) | 36.5% | 24.6% |
| 注意力伪标签 + SFT | 39.5% | 31.5% |
| SAPO 强化学习 (GRPO) | 41.0% (+12.3%) | 32.9% (+33.7%) |
为什么 SFT 会输给 GRPO?
- 硬截断的信息丢失:注意力本身是一个波峰平缓过渡的连续概率云,强制用 50% 阈值切成一个硬性的
[s, e]伪标签,丢失了大量不确定性信息;一旦硬伪标签切偏,SFT 会强迫模型死记硬背错误答案。 - 探索与全局对比机制(Exploration & Group Ranking):GRPO 在同一个 Query 下采样 8 个 Rollout,配合连续的 奖励在候选分布之间进行相对比较与优势加权。模型不仅是在“模仿”注意力,而是在策略探索中学会了时序语义校正,最终预测精度甚至超越了原本作为参考的注意力本身!
04. 实验全景:性能跃升、泛化性与通用能力保全
论文在 Charades-STA(室内细粒度动作)和 ActivityNet-Captions(开放式长动作)两个经典基准上进行了端到端验证,底座覆盖了小、中、强三档模型。
1. 定位精度全面刷新
无论底座原本定位能力如何,SAPO 均实现了立竿见影的持续增益:
| 基础模型 | 训练配置 | Charades mIoU | 提升幅度 | ActivityNet mIoU | 提升幅度 |
|---|---|---|---|---|---|
| Qwen2.5-VL-3B | Zero-shot | 36.5% | — | 24.6% | — |
| + SAPO (联合数据) | 41.0% | +12.3% | 32.9% | +33.7% | |
| Qwen2.5-VL-7B | Zero-shot | 43.6% | — | 27.4% | — |
| + SAPO (联合数据) | 46.2% | +6.0% | 33.4% | +21.9% | |
| Time-R1-7B (强底座) | Zero-shot | 52.5% | — | 44.8% | — |
| + SAPO (联合数据) | 53.3% | +1.5% | 47.2% | +5.4% |
即使在本身就经过深度时序微调的顶尖模型 Time-R1-7B 上,SAPO 依然在 ActivityNet 上实现了 +5.4% 的净增益,充分证明了内部注意力对齐的普适上限。
2. 避免灾难性遗忘:通用视频理解能力实测
很多面向特定任务的强化学习微调,往往会以破坏大模型的通用语义为代价。
作者在长视频权威评测基准 Video-MME 上测试了微调前后的通用能力:
- Qwen2.5-VL-3B:原始准确率 58.0%,SAPO 微调后保持在 57.4%(轻微波动 < 1%);
- Time-R1-7B:原始准确率 60.1%,SAPO 微调后微升至 60.3%。
这意味着 SAPO 仅仅校准了模型的时序字符标定偏差,并没有破坏底层的通用视频理解表征。
3. 落地杀手锏:无标注目标域转导式自适应(Transductive Adaptation)
这是最具工业落地价值的一项测试:假设业务突然面临一个全新的无标注业务场景(如监控回放、无人机视频检索),如何在 0 人工标注的前提下迅速冷启动?
作者直接拿测试集的 1,000 条未标注样本进行 SAPO 离线对齐:
- Charades-STA 的 mIoU 进一步跃升至 42.1%(+15.3%);
- ActivityNet 的 mIoU 进一步跃升至 34.1%(+38.6%)。
只要有一批未标注视频日志,系统便可在数小时内完成对新业务领域的无监督定向适配!
05. 架构师与系统工程师的实战启示
跳出学术指标,从分布式系统与机器学习工程落地的角度,SAPO 提供了极具参考价值的范式沉淀:
1. 坚持“训练端消化复杂度,推理端极简交付”
许多学术工作(如 ChatVTG、TFVTG)为了刷榜,在推理期设计复杂的滑动窗口、注意力截断与矩阵重排。在工程架构上,这种把高复杂度甩给线上网关和 Serving 容器的做法是灾难性的:它会导致 P99 延迟飙升、显存暴涨、批处理并发吞吐(Batching)急剧受限。
- SAPO 的工程优雅性:所有注意力提取与分布计算只发生在离线 RL 训练阶段。微调完成后,模型权重直接交付线上,以标准 HuggingFace / SGLang / vLLM 原生框架 Serving,线上推理 0 毫秒额外耗时、0 额外代码侵入。
2. 拥抱“连续几何损失”,警惕“离散 0/1 陷阱”
在微服务和大数据系统的异常检测、监控报警或排序打分中,很多工程师习惯于设定硬阈值匹配。但在强化学习与连续优化中,硬匹配会导致大面积的梯度死区。学习 SAPO 将离散的时间戳用高斯核连续化、并用 Wasserstein 距离计算物理位移 的思路,能极大提升各种优化型系统的收敛效率与平滑度。
3. 数据飞轮不必依赖“全量堆砌”
SAPO 全程仅使用了 2,000 个未标注样本。通过 JS 散度度量“表里冲突”,将宝贵算力集中在信息增益最大的高价值样本上。在算力吃紧的私有化交付或垂直领域落地上,这种主动筛选范式远胜于无脑堆砌海量低质样本。
06. 结语
SAPO 给出了一种令人耳目一新的解题视角:提升大模型的能力,不一定非要向外索求更多的数据标注,也可以向内审视,通过机制设计唤醒模型自身沉睡的潜力。
通过将内部注意力作为参考基准,用强化学习对齐离散生成,再以严密的防作弊与平滑奖励约束边界,SAPO 为多模态视频检索、时刻定位与视频智能分析系统的工业化落地提供了一条极具性价比的轻量化路径。