拓冰建站拓冰建站
首页 / 资讯中心 / 正文

双曲空间赋能局部相关视频检索:HLFormer的层级建模之道

1. 局部相关视频检索任务定义与痛点1.1 视频检索怎么一步步走到“局部相关”视频检索这事早些年大家做的其实是“视频-文本匹配”的老路子给一个视频配一段描述整个视频内容的句子模型学会把视频整体和文本整体映射到同一个向量空间里算个相似度就完事。这种思路在短视频场景里勉强够用因为短视频通常就一个主题、一个事件文本描述也是对着全片写的整体对齐的逻辑没毛病。但真实世界里大量视频根本不是这样。一部纪录片可能讲了城市交通、生态保护、人文历史好几个完全不相关的话题一段监控视频里前面是车辆通行、后面是人员聚集甚至一段十几分钟的发布会视频有人问“这个人在发布会上提到了哪款新产品的续航表现”答案可能只落在其中几十秒的片段上。这类场景下查询文本对应的只是视频里某一个局部片段而不是整个视频这就进入了另一个任务局部相关视频检索Partially Relevant Video Retrieval。我第一次接触这个任务时直观感受就是“这比全局检索难了一个量级”。全局检索的难点在于跨模态对齐而局部相关检索除了跨模态对齐还得先学会“拆分”——模型必须先理解视频内部的结构知道哪些片段承载了查询所关心的信息哪些只是无关的上下文。换句话说模型不能只是“看懂视频”还得“看懂视频的目录”。ICCV 2025上哈工大、清华等团队提出的HLFormer做的正是这件事。它的思路是抛弃在欧氏空间里硬学局部对齐的做法转而引入双曲学习框架把视频内部天然存在的“整体-部分-事件”层级结构建模出来再在这个结构之上做局部检索。这个切入点很聪明后面我详细拆。1.2 局部相关视频检索难在哪儿先说清楚这个任务为什么让很多人头疼。给定一个长视频V和一段文本查询Q目标是判断Q是否与V中的某个片段相关如果相关最好还能定位到具体的时间范围。听起来和视频问答有点像但本质上它是个检索问题评测时看的不是你定位得多准而是你检索得对不对。难点集中在三个方面。第一个难点是长视频的上下文太长。视频往往几分钟甚至几十分钟抽帧后就是几千帧的序列Transformer之类的时间建模结构稍不注意就爆显存更别说还要做细粒度的跨模态交互。很多方法只能先把视频过一遍预训练模型拿到帧级特征再用某种聚合方式把特征压成视频级表示这个过程本来就容易丢失局部信息。第二个难点是查询与视频的粒度不对等。查询是“局部”的视频是“全局”的模型必须学会“从全局中检索局部”但训练数据里往往只有视频级或者片段级的粗粒度标注缺少细粒度的事件边界信息。模型很难凭空学会哪些帧应该聚在一起形成一个语义单元。第三个难点是数据的天然不平衡。一个视频里真正和查询相关的片段可能只占全片的5%甚至更少模型很容易学到“大部分片段都不匹配”的捷径直接对所有查询输出低相似度训练损失下降得好看实际检索性能一塌糊涂。这些难点背后其实指向同一个问题视频内容是有结构的但常规模型没有显式建模这种结构。而HLFormer选择从“层级结构”这个角度破局用双曲空间把“视频-事件-帧”这套语义层级装进去相当于给模型配了一张内部地图让它知道该往哪儿找。2. 为什么是双曲空间HLFormer的核心动机2.1 欧氏空间处理层级关系的先天不足要理解HLFormer的动机得先理解为什么常规做法在层级结构上天然吃亏。深度学习模型算相似度、做分类绝大多数都在欧氏空间里进行也就是我们熟悉的平直空间两条平行线永远不相交三角形的内角和是180度。欧氏空间作为向量表示的基本容器公式简单、算得快、生态成熟但它有个隐含假设所有样本之间的关系可以用“平铺”的方式度量。问题在于视频里的语义结构通常不是平铺的而是树状的。一个视频根节点下分出多个事件子节点每个事件节点再挂若干帧或片段这是一个多叉树结构。在欧氏空间里当树的规模变大、层级加深时为了把这些树状关系塞进固定维度的向量里表示会被压得越来越拥挤不同分支的节点在空间中反复纠缠模型很难同时保持“高层语义区别度”和“低层细节区分度”。我经常用一个类比来解释想象你要把一棵树的所有叶子、树枝、树根全部塞进一张平面照片里为了不重叠你只能把枝条拉得越来越开最终照片里每一片叶子都变形了既看不清叶脉也看不出树的形状。如果换成一个立体雕塑树的结构就能被自然保留。双曲空间就是这个“立体雕塑”。更具体地说双曲空间的容量随半径呈指数增长。这意味着同样维度的双曲空间能容纳的“树状结构”信息量远超欧氏空间。对于视频这种天然带层级结构的数据把表示从欧氏空间迁移到双曲空间是用更贴合数据本质的几何来建模数据关系。2.2 双曲空间是什么以及它凭什么更合适双曲空间是曲率为负的空间最常见的是庞加莱球模型Poincaré Ball。如果觉得这个名字太陌生可以把它理解为一个“越靠近边界越拥挤”的球体在球心附近几何性质和欧氏空间非常接近但越往外走可用空间越大两点之间的距离定义也发生了变化。距离公式不是普通的直线距离而是沿着测地线相当于双曲空间里的“直线”计算的双曲距离。这种几何性质恰好和树的生长规律吻合树的根在球心越往下分叉需要的空间越大双曲空间指数增长的容量正好接得住。这也是为什么大量图结构、知识图谱、词汇层级建模的工作都尝试用双曲空间Facebook AI在2017年就提出用双曲空间嵌入树结构效果远超欧氏嵌入。HLFormer看中的正是这一点。视频的语义组织方式是“视频-事件-片段/帧”的树状层级而局部相关视频检索的核心目标是判断“查询对应的是哪个局部”如果模型能在双曲空间里把视频的这些层级关系表示出来查询和候选片段之间的匹配就不再是平面上点到点的相似度计算而是在一个能体现“父子关系”“兄弟关系”的空间里做路径判断——检索的粒度自然就更准了。2.3 从动机到方案双曲学习框架的整体思路HLFormer的完整方案简单来说是“先看结构再算匹配”。模型先通过一个视频编码器把视频帧序列编码成特征然后投影到双曲空间中在这个空间里用双曲注意力的方式建模视频的局部结构明确哪些帧更像一个事件单元文本查询也同样投影到双曲空间最后在双曲空间中计算查询与视频局部的相似度。整个框架包含三个关键组件双曲视频编码器、双曲文本编码器、双曲对比学习目标。这个框架取名HLFormerHL既是Hierarchical Learning的意思也暗合Hyperbolic Learning的缩写你看连名字都暗示了层级和双曲两条线索。选型上团队没有把视频和文本完全分开处理也没有引入复杂的双塔结构而是让两侧都进入双曲空间在同一个几何里做匹配。这样做的最大好处是相似度计算不需要在不同几何之间倒腾结构一致性保证了匹配的稳定性。这个设计和“多模态检索先对齐到同一个嵌入空间”的老思路一脉相承但几何换成了双曲空间这是关键差别。3. HLFormer架构拆解双曲Transformer如何落地3.1 双曲视频编码器从欧氏特征到双曲特征视频编码这一块HLFormer并没有完全抛弃预训练模型的特征提取能力而是先用一个常规的视觉骨干网络比如CLIP的视觉编码器或VideoMAE之类抽取帧级特征。这一步大家都这么做直接用公开权重就行。真正的重点在特征进入双曲空间之后。从欧氏特征到双曲特征技术上其实就一步通过指数映射exponential map把欧氏空间的向量“放”到双曲空间中。指数映射的公式不复杂简单说就是给定双曲空间的一个参考点通常是原点把欧氏向量按一定规则映射成双曲空间中的一点。反过来从双曲空间回到欧氏空间用对数映射logarithmic map。实现在代码里通常是把欧氏空间的向量输入一个双曲线性层先算对数映射再算指数映射中间穿插一些带曲率参数的双曲操作。这里要特别注意曲率参数的选择。曲率是双曲空间最核心的超参数它决定了空间的“弯曲程度”。曲率绝对值越大空间容量增长越快但数值也越不稳定。实践中我见过不少人在曲率上翻车设置太大训练直接NaN设置太小退化成近似欧氏空间提升微乎其微。HLFormer的做法是让曲率参与训练而不是手工固定死。具体来说曲率可以作为可学习参数在训练中根据数据分布自适应调整。这个设计很务实因为不同的视频数据集层级深度和语义复杂度不一样手工调曲率既费时又难调好让它自己学反而是最稳妥的路线。3.2 双曲文本与视觉对齐的细节文本侧的处理思路和视频侧对称把查询文本送入预训练文本编码器比如CLIP的文本分支拿到token级特征后同样通过指数映射投到双曲空间。到这里视频和文本都处于同一个双曲空间接下来的核心问题就变成怎么在这个空间里计算匹配分数。如果直接把视频的所有帧特征在双曲空间里做平均池化那就又回到了全局检索的老路局部信息必然被稀释。HLFormer的解法是在双曲空间里做注意力机制视频侧的每个帧/片段特征都对全局的其他片段做注意力计算从而建模出哪些片段语义上更接近、哪些片段可能是独立的事件单元。这就引出了双曲注意力机制的具体实现难点。常规Transformer的注意力基于欧氏空间的内积但双曲空间没有内积的概念直接用欧氏内积会破坏双曲几何的性质。HLFormer的处理方式是先把双曲向量通过对数映射拉回原点处的切空间在切空间里做注意力计算再把结果通过指数映射推回双曲空间。这个“切空间操作”思路在双曲图神经网络里已经是标配但用在视频时间建模上HLFormer属于吃得比较早的一批。对齐损失这一块HLFormer用的是双曲对比学习。和常规对比学习一样目标是让正样本对匹配的视频片段和文本在双曲空间里距离更近负样本对距离更远但距离的度量从欧氏距离换成了双曲距离。双曲距离在靠近球边界的地方会被放大这意味着模型会对“局部语义差异”更敏感——哪怕两个片段在欧氏空间看起来差不多只要它们在语义树上的分支不同双曲距离就能拉开差距。这正是局部相关检索需要的特性。3.3 训练与数值稳定性实操中最容易翻车的点双曲空间的模型训练最折磨人的不是理论而是数值稳定性。常见的问题集中在几个地方。log域与exp域的数值溢出是头号敌人。指数映射公式里会出现类似tanh的操作当输入向量的模长较大时tanh的取值会迅速饱和梯度几乎消失而当输入接近边界时双曲距离的计算可能产生极大数值训练直接爆掉。我见过不少复现代码在训练到几百步时突然loss变成NaN查到最后都是边界上的数值问题。HLFormer的论文里也提到了数值稳定化设计实际复现时通常需要给输入向量做模长裁剪clipping限制最大模长不超过某个阈值确保不会撞上球边界。第二个容易踩坑的地方是曲率初始化。曲率太小会让双曲空间退化成近似欧氏空间曲率太大会让训练一开始就进入数值危险区。根据我自己的经验初始化在0.05到0.1之间通常是个比较稳的起点然后让曲率随训练迭代更新。不过不同数据集最优曲率差异挺大最好还是跑几个小实验对比一下。还有一个容易被忽略的点学习率对双曲模型的敏感度更高。因为双曲操作涉及的指数、对数映射放大了参数的梯度同样的学习率在欧氏空间里很稳在双曲空间里可能直接震荡。稳妥的做法是把双曲部分的参数单独设一个更小的学习率或者使用梯度裁剪。4. 实验效果与横向对比4.1 评测基准与数据情况局部相关视频检索这个方向目前公认的基准主要是TVR和QBiC相关数据集另一个常出现的是ActivityNet的subset版本。TVR里的查询文本大多是针对某个局部片段的描述形式更接近真实用户检索行为。QBiC是后来提出的挑战赛设计上进一步强调“查询只与视频的某一部分相关”同时要求模型区分“完全不相关”和“部分相关”两种负样本难度更高。HLFormer论文里主要在TVR和QBiC上做了评测。这类任务的评估指标常规是RecallK即前K个检索结果中包含正确视频的比例以及平均精度之类的排序指标。局部相关检索里还有一个常用评估维度是“定位质量”也就是看检索到的视频里能不能进一步定位到相关片段的时间范围用的多是IoU交并比指标。这些数据集有一个共同特点视频都比较长事件结构复杂视频里往往包含多个与查询无关的部分负样本的构造非常讲究。如果你只随机挑一些不相关的视频当负样本模型很快就能学到偷懒策略——毕竟大部分视频整体上都是不相关的不需要真正理解局部语义。HLFormer的优势恰好在这种场景下体现因为双曲空间建模了事件层级模型不会把“整个视频不相关”和“某个片段相关但其他不相关”混为一谈。4.2 关键结果阅读指南不看涨点看什么论文里报告的结果我不打算在这里复制粘贴一张大表格因为论文大家都能找到我更想说的是怎么看这些结果。第一看跨数据集表现。一个模型在自己训练的数据集上效果好不一定说明它学到了可泛化的局部语义理解能力可能是记住了数据集的某种bias。HLFormer如果同时在TVR和QBiC上都有提升比只在单一数据集上提升更有说服力。第二看困难子集的提升幅度。局部相关检索里视频越长、事件越多检索难度越高。如果HLFormer的增益主要来自那些“长视频多事件”的困难样本说明双曲结构的价值确实体现在层级建模上如果只在短视频上效果好那可能是别的因素在起作用。第三看与强基线的差距。对比的基线不能是普通的双塔模型最好是用CLIP做初始化、带复杂跨模态交互的强模型。HLFormer如果能在这种强基线上继续涨点说明双曲空间的增益不是单纯的预训练红利。从论文公开的实验信息来看HLFormer在几个评测集上都取得了明显的性能提升尤其是在细粒度定位相关片段的任务上RecallK和平均精度都有可观增长。这倒不让人意外——双曲空间的局部敏感性天然适合这类任务。4.3 消融实验告诉我们什么消融实验往往是论文里信息密度最高的部分。HLFormer的消融设计我认为最值得关注的有这么几条线。第一把双曲空间换回欧氏空间其他结构保持不变看性能掉多少。这个对比直接验证了“双曲几何是否真的有用”。结果如果掉点明显说明提升来自几何建模本身而不是模型加了参数量、换了注意力结构。第二把可学习的曲率换成固定曲率看性能变化。这能验证曲率自适应是否必要。如果固定曲率也能取得接近的效果那说明这个方法对超参数的敏感度不高复现更容易如果可学习曲率明显更好说明不同数据集确实需要不同的空间几何。第三双曲注意力相比在切空间里做普通注意力的增益。这个对比能说明层级建模到底起多大作用。因为注意力本身就可以实现“某些帧聚合到一起”的效果双曲版本的优势在于它把这种聚合放在了一个几何性质更吻合的坐标系里。从论文报告的情况看去掉双曲组件后性能明显下降而逐项加回组件时每个部分都有正向贡献。这种“每块都有用”的消融比“全加一起突然涨点”的消融更能让我信服。5. 从论文到工程复现HLFormer时值得注意的问题5.1 复现路线先跑通骨架再填细节如果你打算复现HLFormer我建议的路径是分三步走。第一步先实现双曲空间的基础操作模块指数映射、对数映射、双曲距离、双曲线性层。这些操作是整个模型的底层地基建议先在随机数据上验证数值稳定性确保输入输出的形状和数值范围都正常。这一步跑通了后面接模型结构才心里有底。第二步搭建模型骨架。先用常规的欧氏版本实现HLFormer的整体结构视频编码器、文本编码器、对比学习损失在数据集上跑一个baseline确认整体流程没问题。然后把关键模块逐个替换成双曲版本每替换一个就训练一个小模型验证效果。这样做的好处是出了问题能快速定位是哪个模块引入的。第三步调参和优化。重点观察曲率的变化趋势、梯度范数、训练loss曲线。如果训练loss在初期就异常震荡优先检查模长裁剪是否生效、曲率初始化是否过大如果loss下降但检索指标停滞可能是对比学习的温度参数需要调整。整个过程里最需要盯住的就是数值稳定性。我强烈建议在训练循环里加一个梯度范数的监控项一旦超过阈值就自动报警否则你可能跑完一整轮训练才发现早就在数值上出问题了。5.2 工程化落地中的实际坑纸上谈兵容易动手全是坑。我在自己的项目里踩过几个和这个方向相关的坑这里分享出来。第一个坑是预训练特征与双曲空间的不兼容。用CLIP视觉编码器提取特征时得到的是欧氏空间里的表示它内部的分布形态是基于欧氏几何学出来的。直接把这种特征通过指数映射丢进双曲空间特征分布可能和双曲空间的几何性质并不匹配导致模型训练初期非常不稳定。更好的做法是让欧氏特征先经过一个投影层让网络自己学会把特征调整到适合进入双曲空间的状态而不是用固定特征硬映射。第二个坑是双曲距离的数值计算。双曲距离公式里包含反双曲余弦函数arccosh当两个点在空间中非常接近时公式内的值接近1arccosh的输出接近0但数值误差会显得很大当两个点都在边界附近时距离值又会异常大。我在工程实现时习惯给距离计算加一个数值下限的保护比如把输入裁剪到1epsilon以上避免对接近1的数做arccosh导致NaN或者inf。第三个坑是负样本采样策略。对比学习依赖负样本质量。局部相关检索场景下如果负样本只是随机采几个不相关视频模型学到的决策边界会很粗糙。更好的做法是引入“难负样本”——选取与查询在语义上有部分重叠但不完全匹配的视频片段迫使模型学会区分“部分相关”和“不相关”。HLFormer论文里对负样本的采样方式做了设计这套设计我认为是整个方法能work的关键因素之一。第四个坑是显存和算力。视频数据本身就大加上双曲操作涉及大量指数、对数、三角函数的计算训练速度比普通Transformer慢不少。实践中可以把视频特征提前用预训练模型抽好并缓存训练时不重复过视觉编码器只训练投影层和双曲交互部分能节省大量时间。6. 这项工作的意义与我的个人体会局部相关视频检索这几年热度上升得很快但老实说大部分工作还是在欧氏空间里打转要么改进注意力结构要么设计更复杂的跨模态交互模块真正从几何层面做文章的不多。HLFormer把双曲几何引入这个任务切入点够新而且不是硬蹭概念——它有明确的数据解释视频内部存在天然的“整体-部分”层级结构双曲空间恰好是建模这种结构更合适的坐标系。更难得的是这项工作没有只停留在“用双曲替换欧氏”这一步而是把双曲空间里的注意力机制、对比学习、可学习曲率整合成了一个完整框架。这种系统性设计比单独替换某个模块更有说服力也更容易在真实任务中落地。我相信后续会有更多工作沿着这个思路深耕比如把双曲层级建模和多模态大模型结合、把双曲空间扩展到更细粒度的视频时间定位任务等等。我个人在实操这种几何换空间的方案时最大的体会是别被“换了空间”这个操作本身迷惑关键要看你的数据里有没有对应的结构假设。HLFormer的成功根本原因在于视频的层级结构是真实存在的双曲空间只是恰好能把这个结构表达得更清晰。如果你的任务数据本身是平铺的、没有层级关系强行换双曲空间只会白增计算量。最后再分享一个小技巧如果你也想在自己的视频检索项目里快速验证双曲空间的收益不用一开始就复现完整的HLFormer。可以先训练一个欧氏空间的对比学习基线然后把最后的嵌入层换成双曲空间只改嵌入层和相似度计算其他部分不动在验证集上看指标变化。通常这个改动就能看出双曲距离在你的数据上是否有效。如果有效再逐步把更深的模块迁移到双曲空间如果没效果也可以尽早止损避免在完整复现上浪费大量时间。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门