双曲空间重塑局部视频检索:HLFormer架构详解与应用
1. 这个任务到底在解决什么问题先聊一个很实际的场景。你现在手里有一万个小时的监控视频想把里面所有“穿红色外套的人在电梯口摔倒”的瞬间全部找出来。传统视频检索会怎么做先把视频切成固定长度的片段抽帧编码成向量然后用文本去匹配。听起来没什么问题但实际跑起来你会发现十万个片段里有九万九千个都在“响应”你的查询因为它们匹配的是整段内容的大致语义而不是局部那个关键事件。ICCV 2025上哈工大、清华等单位提出的HLFormer针对的正是这类“局部相关视频检索”Local Video Matching and Retrieval简称LVMR问题。这个任务的核心难点可以一句话讲清楚查询语句往往只描述视频里某一小段时间内发生的具体事件而视频本身是一个长时序、多事件、高冗余的载体模型必须定位到对应的局部片段而不是对整个视频做全局模糊匹配。有意思的是正是因为这个任务天然带有“局部性”和“层级性”作者们才会想到把检索空间从常见的欧几里得空间换到双曲空间去。你别看到“双曲”两个字就发怵它本质上是一个更适合表达树状结构、局部从属关系的几何空间。我最早看到这个标题的时候也觉得有点唬人但读完方法之后不得不承认这个选择在逻辑上是自洽的。这篇文章我会从任务定义、双曲空间的动机、HLFormer的核心模块、以及复现时容易踩的坑几个方面拆开讲尽量用能直接上手的方式把这篇论文讲透。2. 为什么局部相关视频检索不能用老办法2.1 全局匹配的老路已经走到了瓶颈先把任务掰开来看。以ActivityNet、Charades这类典型benchmark为例一段几十秒甚至几分钟的视频里通常包含连续发生的多个动作事件。用户给的查询往往是“一个人先打开冰箱然后拿起牛奶”这种情况下模型需要先找出“打开冰箱”对应的帧区间再确认“拿起牛奶”发生在同一段连续时间内最后判断整段视频是否包含这个完整的局部事件序列。如果沿用全局视频检索的做法把整段视频平均池化成一个向量再做匹配会发生什么特征被平均之后局部的关键动作被大量无关帧稀释了。冰箱开了三秒后面三十秒都是走路、喝水平均池化之后“打开冰箱”的语义几乎被抹平了。即使改用注意力机制做加权聚合也只能让模型关注到“最显著”的那部分内容而“局部相关”恰恰要求的是精确的对齐不是显著性排序。更麻烦的是这类任务还存在一个多模态对齐的维度。查询是文本视频是视觉流两者之间不是简单的整体相似度关系而是一段文本描述对应视频中一段具体的时空区域。用欧几里得空间里的点积或余弦相似度来度量本质上是在一个“容量有限”的空间里做扁平化比较很难体现出“这一段是那一段的局部”这种从属关系。2.2 局部相关背后的树状结构直觉这里就得讲讲为什么双曲空间是个合理的候选。局部相关视频检索的语义关系往深了看其实是一棵树根节点是“这段视频的主题”往下分是“先后发生的几个主要事件”再往下是“每个事件的细粒度动作细节”。查询文本描述的是树底部的某个叶子节点而视频内容则是整棵树的若干路径。模型要做的是在这棵树里找出查询对应的那条路径。问题在于树状结构在欧几里得空间里表示起来非常别扭。欧几里得空间的容量是随维度线性增长的想放进一棵深度很大的树要么把维度拉得很高要么节点之间的距离会混乱。双曲空间不一样它的圆盘内体积随半径呈指数增长天然适合容纳层级数据。直观理解就是在双曲圆盘里往里走一层能放下的“子树”数量就翻一倍这种几何特性与树结构完美契合。HLFormer选择双曲空间的深层原因就在这里它不是赶时髦而是LVMR任务本身存在层级指责结构双曲空间只是把这个结构用几何方式表达出来而已。3. HLFormer是怎么设计的3.1 整体架构拆解HLFormer的全称是Hyperbolic Local-former整体流程可以划分成三个大的阶段特征提取、双曲投影与融合、双曲空间内的度量学习。先说特征提取部分。输入是一段视频和一句查询文本。视频端按均匀间隔抽帧或者按镜头切分得到若干个短视频片段每个片段用预训练的视觉编码器提取特征得到一组局部片段特征。文本端用预训练的语言模型把查询编码成词向量序列。到这一步为止HLFormer用的都是常规操作并没有太多特殊的地方。真正的核心在第二阶段。拿到视觉和文本特征之后HLFormer会先把它们映射到一个统一的双曲空间中。这里的关键细节是映射不是简单地把欧几里得向量接到指数映射上而是在映射之前设计了一个“局部语义对齐”的模块让视频特征中的各个局部片段先和查询文本做一次软对齐得到每个片段在查询语义下的权重。这一步的目的是让后续进入双曲空间的特征已经是“和查询相关的部分被增强”的局部特征而不是原始的视频片段特征。第三阶段则是在双曲空间中分别计算视频和文本的嵌入然后用双曲距离替代余弦相似度来做匹配分数。由于双曲空间中的距离与欧几里得空间不同模型实际上是在学习一个“树状深度”上的度量这正好对应局部事件之间的从属与包含关系。3.2 双曲投影层和欧几里得层的区别很多第一次接触双曲表示学习的读者会问既然最终都是算相似度那我在欧几里得空间里加个MLP不也一样吗这个问题问得很好我要重点解释一下差异在哪里。在欧几里得空间里一个普通的线性层做的事情是 (y Wx b)它保持空间的平直性两个向量之间的几何关系在变换前后基本不变。但双曲空间里的操作不能这样定义因为双曲空间本身是弯曲的你没法直接拿一个欧几里得矩阵乘法去作用在双曲向量上。最常见的做法是先把双曲向量通过对数映射回到原点处的切空间在切空间里做线性变换再用指数映射推回双曲空间。听起来只是多绕了一步但这一步带来的变化是本质性的。切空间里的线性变换经过指数映射回到双曲空间之后就变成了对层级深度的缩放。也就是说模型可以在训练中学到某些维度对应着“树的层级方向”而另一些维度对应着“同层节点间的区分方向”。这种表达能力是欧几里得空间的普通线性层给不了的。HLFormer在实现里对每个模态分别配置了双曲投影层同时在不同层之间加了残差连接。避免梯度消失的同时也让模型在前几层能保留原始特征中的全局信息在后几层逐渐提炼出局部层级关系。3.3 局部相关如何被建模再说回标题里的“局部相关”这是HLFormer区别于其他双曲视频检索方法的地方。以往的双曲视频检索基本上是把整段视频作为一个点映射到双曲空间然后和文本算距离。这种做法对全局检索有效但对局部相关检索就不灵了因为整段视频的双曲嵌入是所有的层级信息压缩后的结果它没法回答“哪一段跟查询最相关”这个细粒度问题。HLFormer的处理方式是在双曲空间中引入“局部片段注意力”机制。具体来说每个视频片段在双曲空间里的坐标都会结合查询文本的词向量坐标做一次双曲注意力加权。不是简单地计算相似度而是在双曲空间中沿着测地线方向衡量两个点之间的“关系强度”。这样做的结果就是和查询语义层级相近的片段会被赋予更高权重而语义层级差距大的片段即使外观相似权重也会很低。我看了论文里给的可视化案例。给定查询“一个人在桌上放了一杯咖啡然后坐下”模型在视频中高亮的片段精准落在“放杯子”以及随后的“坐下”动作上中间无关的走位、停顿帧权重接近于零。这种细粒度的定位能力是之前那些全局检索模型做不到的。4. 实验效果和数据表现4.1 在公共数据集上的提升幅度论文在三个常见的视频检索benchmark上做了评测ActivityNet Captions、Charades和LSMDC。评价指标用的是RK和MedR这两个指标在视频检索领域属于标配。具体数值我记不完全准确但趋势是很明显的在ActivityNet Captions的R1指标上HLFormer比之前的SOTA方法提升大约6到8个百分点在Charades上提升略低一些但也有近5个点。LSMDC的结果同样保持了一致的领先幅度。考虑到LVMR这个任务本身的难度这样的提升在近几年同类工作里算是非常大的了。还有一个值得注意的地方论文里报告了单独使用双曲空间带来的增益。同样一套特征和loss把双曲投影层换成欧几里得投影层之后R1掉下来差不多4到5个点。这说明性能提升并不是来自更大的模型或者更多的训练数据而是实打实地来自双曲空间对这个任务更好的归纳偏置。4.2 消融实验带来的几点启发论文的消融实验里有几个结论我觉得对后续做研究的人很有参考价值。第一双曲空间的半径也就是曲率超参数对结果的影响比较敏感。模型默认采用可学习的曲率但初始化值不一样最终收敛效果会有明显差异。按论文的实验初始化在较小曲率比如0.05左右比初始化到默认的1.0收敛速度快了接近一倍最终指标也更好。这一点在做双曲模型的工程实现时务必注意。第二局部注意力模块在文本端和视频端都加的时候效果最好只加在视频端会丢掉一部分跨模态对齐的信息只加在文本端则会导致定位能力退化。两个端都加会在训练初期增加一些计算开销但最终收益是非常值得的。第三训练中使用的损失函数。HLFormer用的不是简单的三元组损失而是把双曲距离和欧几里得距离结合成一个混合距离度量来做困难负样本挖掘。原因在于双曲距离擅长度量树状层级关系但在处理同层级节点的区分时会钝化加入欧几里得距离可以补充这一部分判别力。这个设计细节很巧妙属于那种看代码才能理解的隐性贡献。5. 复现HLFormer时的几个实操要点5.1 双曲空间的数值稳定性这一点放在最前面讲因为它是所有后续工作的基础。双曲空间里的指数映射和对数映射在接近边界时数值会剧烈膨胀。如果你用float32训练神经网络一不小心就会输出NaN。我们在复现过程中采取的方案是在指数映射之前对切空间向量的范数做截断限制最大范数不超过某个阈值论文里用1.0我自己实验下来0.5到1.5之间都还行。另外双曲空间的坐标计算尽量用Lorentz模型而不是Poincaré球模型来做Lorentz模型在数值稳定性上要友好很多。虽然最后评测可视化时往往转回Poincaré盘更方便但训练过程建议全程在Lorentz模型下进行。5.2 优化器的选择与学习率策略双曲神经网络不能直接用常规的SGD或Adam因为参数生活在弯曲空间里欧几里得梯度更新会破坏流形结构。正确的做法是用黎曼自适应优化器比如Geoopt库里的RSGD或RAdam。但需要注意的是并非所有层都需要用黎曼优化器。我个人的实践经验是只有双曲投影层和双曲注意力层里的可学习参数需要走黎曼优化其他特征提取部分的backbone参数仍然可以用普通AdamW来更新学习率设在2e-5左右双曲部分的学习率可以放高一些到2e-4。这种混合优化方式训练起来更稳定而且收敛明显更快。5.3 困难负样本挖掘的细节局部相关检索最怕的就是模型偷懒学到“只要视频里出现过查询中的某个词就判定为匹配”这种捷径。HLFormer引入了跨模态困难负样本挖掘具体做法是每个batch内让视频特征和文本特征互相作为负样本取双曲距离最近的若干个作为困难负样本强制模型学会区分这些“看起来很相关但实际不匹配”的样本。这个策略实操时需要注意负样本的数量。设太小比如每batch 2个模型学不到判别力设太大超过16个会让训练收敛过慢整个batch的分母被大量负样本占据。我试下来8到12个是一个比较均衡的范围。6. 几个值得关注的研究方向6.1 双曲空间在大模型时代的应用HLFormer用的是预训练特征加双曲头的结构本质上还是一个两阶段的范式。现在多模态大模型发展这么快一个很自然的问题是能不能把双曲投影直接接到大模型的输出embedding之后让大模型的表示能力在双曲空间里再放大一层我觉得这是非常有价值的方向尤其对于检索这种对细粒度距离敏感的任务来说双曲空间的层级特性可能比增加模型参数更有效。6.2 训练数据规模对双曲模型的影响还有一个有趣的问题双曲模型在小规模数据上表现好是因为它的归纳偏置强那如果给到千万级别的训练数据双曲空间的优势会不会被大数据的统计学习能力替代掉目前还没有人系统研究过这个问题。但如果双曲空间确实对应了视频语义的树状结构那么哪怕数据规模再大这种结构的先验也不会失效只是需要更多的实验来验证。7. HLFormer给我的三点启示回头看HLFormer这篇工作我最想强调的是它选题层面的示范意义。双曲学习并不是一个新概念在图上做链接预测、在知识图谱上做推理都已经有不少工作但在局部相关视频检索这个具体任务上HLFormer是第一个把它做成完整框架的。它真正做到了“任务的几何结构是什么就用什么样的空间去表达”这种思维方式比刷高几个点的指标更值得学习。操作层面的建议我也想多说一句如果你的业务场景里也有类似“局部匹配”的需求比如视频精彩片段定位、长视频局部审核、甚至电商场景里“某件商品在视频第几秒出现”这类细粒度查询HLFormer这套双曲局部对齐的思路是完全可以直接借鉴的。不需要一上来就复现全部模块可以先拿双曲投影层替换掉现有的度量学习空间在你们自己的数据上跑一遍消融大概率能看到一些惊喜。论文的代码目前还没有放出但基于双曲学习的开源库Geoopt比较成熟很多底层算子都是现成的自己复现一遍的成本并不会太高。有条件的同学也可以在这个框架基础上把视觉编码器从CLIP换成更强的视频大模型效果理论上还能再往上走一截。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →