微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 当搜索引擎需要判断一个问题的答案时,它会给查询向量和文档向量各自套上什么样的数学变换?

当搜索引擎需要判断一个问题的答案时,它会给查询向量和文档向量各自套上什么样的数学变换?

2026-10-22 16:31
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-10-22 16:31 • 科技行者

你可能没想过,这个看似技术细节的选择,其实藏着一个几十年都没被认真回答过的问题。

搜索引擎、问答系统、还有现在很火的检索增强生成,背后都靠一种叫稀疏检索的技术把海量文本变成向量,然后比对哪些向量最匹配。

密集检索:一种把查询和文档都转换成固定长度的数字向量,然后通过计算向量相似度来判断相关性的检索方法,和传统靠关键词匹配的方式不同。

问题来了。转换成向量之后,怎么算相似度?业界一直有两条路子。第一条路子是查询和文档共用同一套转换规则,第二条路子是查询和文档各用各的转换规则。奇怪的是,用哪条路子往往是工程师凭手感决定的,有的项目就是共享,有的项目就是分开训练两套参数,没有人能说清楚到底什么情况下该用哪种。这篇来自香港理工大学的论文,第一次把这个手感问题变成了一个可以精确计算的数学公式。

共享和独立,到底差在哪

先把问题说清楚。

假设你有一个查询向量和一个文档向量,都是p维的。要打分,你需要一个矩阵M,把查询向量乘以M再乘以文档向量,得到一个分数。

如果查询和文档用同一个投影矩阵P,那么最终的评分矩阵M就等于P的转置乘以P。这样算出来的M有个特殊性质,叫正定,说白了就是这个矩阵永远不会给自己乘自己的结果打负分。

正定半定矩阵:一种特殊的矩阵,对任意向量v,v乘这个矩阵再乘v自己的转置,结果永远大于等于零,几何上可以理解成这个矩阵不会把空间"翻转"到负的方向。

但如果查询用矩阵A,文档用矩阵B,各自独立训练,那么M等于A的转置乘以B。这时候M可以是任意一个低秩矩阵,不再受正定的约束,形状可以更自由。

这个差别听起来很数学,但换个场景你就明白了。

想象你在整理两个抽屉,一个放钥匙,一个放钥匙链。如果你规定钥匙和钥匙链必须用同一种分类标签,好处是标签体系简单,检索起来一致,坏处是万一钥匙链的形状和钥匙完全不一样,比如一个是细长的一个是圆环的,同一套标签就会削足适履,硬要把两种不同的东西塞进同一个框架。如果你允许两个抽屉各用各的标签体系,你能精确描述每种东西的特点,但代价是你要记住两套规则,规则越多,记错的机会也越多。

论文把这个"记错的机会"量化成了一个精确公式,后面会讲到。

先说结论:共享投影得到的矩阵是所有独立投影矩阵能表示范围的一个子集。也就是说,独立投影永远能做到共享投影能做的任何事,反过来不成立。这带来一个自然的问题,既然独立投影更强,为什么还要用共享投影?

答案和所有机器学习问题的答案一样,更强的表达能力要付出代价,这个代价就是需要更多数据去把这些额外的自由度训练准。

精确算出共享投影丢掉了多少信息

论文的第一个核心贡献,是给出了一个叫做定理1的结果,精确计算共享投影相比独立投影丢失了多少表达能力。

具体做法是把目标矩阵M拆成两部分,一部分是对称的H,一部分是反对称的K。对称部分H可以做特征值分解,独立投影能保留H里所有排名靠前的正特征值,也能处理反对称的K。而共享投影因为必须保持正定,只能保留H里排名靠前的正特征值,连H里的负特征值都要被强行清零,反对称部分K更是完全没法表示,因为共享投影天生就是对称的。

论文证明,共享投影和目标矩阵之间的最小误差,正好等于三块拼起来:反对称部分K的能量、所有负特征值的平方和、排名靠后没被保留的正特征值的平方和。

这就好比你要打包行李去旅行,箱子的形状是固定的方盒子(共享投影的正定约束),但你的东西里有一些是奇形怪状的(反对称部分),还有一些是你其实需要带但箱子装不下的(排名靠后的正特征值)。如果不用方盒子而是用一个软袋子(独立投影),软袋子可以任意变形,什么形状的东西都能塞进去,只是软袋子更容易被撑破,也就是对训练数据的噪声更敏感。

这个理论结果不是空谈,论文还把它对应到真实的检索场景。查询和文档的相关性可以用一个叫做"相关性矩量"的东西描述,经过标准化处理后,这个矩量的最优低秩逼近误差差,正好等于共享投影和独立投影的表达能力差距。论文给了一个旋转的例子:如果查询空间和文档空间之间存在一个夹角,这个夹角越大,独立投影相对共享投影的优势就越明显。这符合直觉,查询和文档如果长得越不像,就越需要用不同的规则去描述它们。

但更强的表达能力不是免费的

如果故事到这里结束,那结论就是永远用独立投影就好了。但现实是,数据是有限的,独立投影多出来的自由度,在训练数据不够多的时候,反而会变成噪声的藏身之处。

论文接下来构建了一个叫做局部高斯模型的理论框架,专门用来量化这个代价。

具体设定是这样,假设真实的评分矩阵是一个秩为r的共享型矩阵S,但实际观测到的数据里混入了一些微小的偏移,这个偏移一部分是真实的信号(代表数据确实存在共享投影无法表达的结构),另一部分是纯粹的随机噪声,噪声的强度是σ除以根号n,n是训练样本数。

这个设定的巧妙之处在于,它让信号和噪声用同一个尺度衡量,这样才能直接比较到底是信号更强还是噪声更强。

论文证明了一个精确的公式,共享和独立两种做法各自需要额外拟合多少"自由维度"。独立投影总共有2pr减去r方那么多自由的方向,共享投影只有pr减去r乘以r减一再除以二那么多。两者的差值,也就是独立投影独享的额外自由度,等于r乘以2p减r减一再除以二,论文把这个记作k。

自由度:可以粗略理解为一个模型里能独立调整、互不影响的参数数量,自由度越多,模型越灵活,但也越容易在训练数据不够时"记错"噪声。

这个k的数值挺关键,它决定了独立投影要多"扣"多少估计误差。论文的核心结论,叫做局部相位边界,说得很干脆,独立投影的风险比共享投影低,当且仅当信号的平方大于噪声方差乘以k。

换成人话就是,独立投影这个额外的自由,只有在信号足够强的时候才值得,如果信号弱到还不如噪声,那这些额外的自由度只会拖后腿。

这就像是给团队多招一个专才,如果这个专才真的能带来独特的价值,招进来是值的,但如果他的活儿其他人本来就能干,招他进来除了多发一份工资,没有任何额外的收益,反而增加了管理成本,新人磨合期还容易出错,这个磨合期的出错概率,就对应着噪声占用了本该属于信号的那部分风险预算。

怎么在不知道真实信号强度的情况下做决定

前面的理论都建立在一个假设上,你知道真实的信号强度δ和噪声水平σ。但现实里,你压根不知道这两个数,你只有一堆训练数据。

论文接下来解决的问题是,能不能只凭训练数据,就估计出该用共享还是独立投影?

一个直接的想法是,直接用训练数据算出独立投影和共享投影之间的差距,如果这个差距大,就选独立投影。但论文指出这个想法有个致命缺陷,直接算出来的差距是有偏的,它会系统性地偏大。原因很简单,训练数据本身带有噪声,独立投影因为自由度更多,天然更容易"顺着"噪声的方向多解释一些看起来像信号的东西,哪怕那些东西其实是随机波动。

这就好比你让两个人猜一堵墙后面藏着几个硬币,一个人只能说"零个或十个",另一个人可以说"零到一百之间的任意数字"。哪怕墙后面真的什么都没有,第二个人因为选择更多,猜出来的数字也更容易偏离零,因为他有更大的空间去"凑"出一个非零的答案。

论文借用统计学里一个经典工具,叫斯坦无偏风险估计,来纠正这个偏差。

斯坦无偏风险估计:一种统计学方法,可以在不知道真实参数的情况下,用观测数据构造出一个期望值恰好等于真实风险的估计量,从而避免直接用观测值本身估计风险时产生的系统性偏差。

用这个工具校正后,判定规则变成,当独立投影独享的那部分信号能量,超过两倍的噪声方差乘以自由度k时,才选独立投影。这个"两倍"不是随便加的系数,它精确地来自于对偏差的数学修正,一份用来去掉噪声本身贡献的虚假能量,另一份才是真正的判定边界。

论文进一步算出,这个修正后的规则选错的概率有多大,如果真实信号是零,也就是共享投影本该是正确答案,这个规则误选独立投影的概率最多是(2/e)的k/2次方,随着k变大,这个概率会指数级下降。也就是说,这个规则天生就很"谨慎",不会轻易被噪声忽悠去选择更复杂的独立投影。

CARS:从真实数据里估计该用哪种几何

理论上的斯坦无偏风险估计需要知道噪声协方差和目标矩阵的具体形式,这些在真实的检索系统里都不知道。

论文因此设计了一个实用工具,叫做交叉拟合非对称风险选择器。

CARS:论文提出的一种从训练数据本身估计该用共享投影还是独立投影的方法,核心思路是把训练数据切成两半,看两半算出来的"独立减共享"差异是否能稳定重复出现,如果能稳定重复,说明是真信号,如果每次都不一样,说明只是噪声。

具体做法是,把训练数据随机切成两个不重叠的部分,分别在两部分上计算独立投影和共享投影的拟合差异,得到两个向量。然后计算这两个向量的内积,再减去它们差值平方的四分之一。重复这个切分过程多次,取平均。

这个内积衡量的是两次独立切分算出来的差异是否"对得上",如果对得上,说明这个差异是可复现的真实结构,如果对不上,说明只是随机波动。减去差值平方的四分之一,则是专门用来扣掉两次切分之间天然存在的采样波动。

这就好比你想判断一个人的某个观点是不是他真实的一贯立场,还是只是随口一说。你可以在两个不同场合分别问他同一个问题,如果两次回答高度一致,这就是真观点,如果两次回答天差地别,那第一次的回答很可能只是当时的随口一说,不能当真。CARS做的就是这件事,把一份数据切两半,看"独立比共享好多少"这个判断能不能在两半里都得到同样的结论。

论文证明,这个分数的期望值正好等于信号能量减去噪声的方差贡献,跟前面局部高斯模型里的判定边界形式完全一致,只是这次用的是真实训练数据算出来的估计量,不再依赖任何未知参数。

拿真实数据检验理论预测

理论说得再漂亮,也得拿实验去验证。论文做了四组实验,分别对应四个问题。

第一组实验专门检验前面推导出的信号强度与所需样本量之间的边界是否真实存在。研究者在一个32维的模拟环境里,人为制造查询空间和文档空间之间的旋转角度,角度越大代表两者的结构差异越大,然后用不同数量的训练样本去拟合两种投影方式。

结果显示,在0.8弧度的旋转角度下,独立投影平均要到256个训练对才开始展现优势,而在1.2弧度的更大旋转角度下,只需要64个训练对独立投影就已经占优。这正好印证了理论预测,信号越强,需要的样本越少就能让独立投影的优势显现出来。研究者还专门做了一次纯数学层面的校准实验,把理论算出来的风险值和真实模拟出来的风险值做对比,误差控制在0.25%以内,选择概率的误差控制在0.001以内,说明这套理论不是拍脑袋想出来的近似,而是真正精确成立的数学关系。

第二组实验想搞清楚,直接从训练数据里算出来的信号估计,是不是像前面说的那样存在虚高的问题,答案是确实存在。论文展示了一张图,横轴是训练样本数,纵轴是估计出来的PSD距离,这是衡量共享和独立投影差距的一个指标。随着样本数从32增加到2048,原始的直接估计值从0.82左右一路下降,但始终高于真实的population值0.4左右,即使样本数已经涨到2048,这个虚高的部分依然没有完全消失。而经过不确定性校正后的分数,则能更准确地预测在完全没见过的测试数据上哪种投影方式真正表现更好。

第三组实验回到真实的检索场景。研究者拿了五个数据集,包括FEVER、HotpotQA、自然问答数据集NQ、MS MARCO和CQA-TeX,用两个真实的文本编码器BGE-base和GTE-base,人为地旋转查询向量,只旋转查询,不动文档,角度从0度一路转到90度,测量独立投影相对共享投影的检索质量优势。

结果非常清楚,五个数据集的平均优势从0度时的0.0032一路涨到90度时的0.0146,涨了4.6倍。在MS MARCO这个数据集上,优势甚至从负数(-0.0008)翻转成正数(+0.0219),也就是旋转角度小的时候共享投影反而更好,但角度一大,独立投影就明显反超。

同一组实验里,研究者还测试了训练样本数量的影响,做了一个秩和样本量的网格实验。在只有32个训练样本的时候,16个格子里有13个是共享投影赢,而当样本数涨到1024和2048时,全部32个格子都是独立投影赢。这个转变非常干净,几乎印证了理论预测的边界效应,少数据的时候噪声占主导,共享投影更稳,多数据的时候信号能被充分估计出来,独立投影的优势就压过了它的估计代价。

第四组实验专门测试CARS这个实用工具的效果。研究者在ArguAna、MS MARCO、FEVER、NQ、SciFact五个数据集,四个编码器上,把CARS和两个固定策略,永远用共享、永远用独立,做对比。

结果显示,CARS在100次编码器和数据集的组合比较中赢了85次,平均选择准确率达到90.1%,相对固定策略把误判造成的损失降低了49%到96%。

数据说话,理论和实验对得上

下面这张表格摘录了论文里几个核心的数值结果,让你直观感受一下这套理论的验证力度。

局部风险模型的校准实验里,在样本量n等于4096的设定下,当信号强度δ?/(σ?k)等于0时,模拟出的共享风险是32.97,理论预测是33,独立投影选中的概率模拟值是0.001,理论值也是0.001。当这个比值涨到2.0时,共享风险涨到93.10(理论93),独立风险却基本不变,停留在63.15(理论63),独立投影被选中的概率涨到了0.970(理论0.969)。这组数字清清楚楚地展示了共享投影的风险会随着信号增强而急剧上升,而独立投影的风险几乎不受影响,这正是"信号越强独立投影越占优"的数学体现。

在几何选择的表现对比里,以NQ数据集、BGE-base编码器为例,永远用共享投影的策略regret是0.0050,永远用独立投影的regret是1.5685,后者比前者还差300多倍,说明在这个具体场景下盲目上独立投影是要付出巨大代价的。而CARS在同样场景下的regret只有0.0040,比两个固定策略都更低,五个数据集综合起来的平均选择准确率达到90.1%这个数字,来自ArguAna、SciFact这类高准确率场景(9成以上)和FEVER这种相对更难判断的场景(80%多)的综合平均。

写在后面

读完这篇论文,最让我意外的一点是,一个看起来纯粹是"工程选择"的问题,共享还是独立投影,居然能被翻译成一个精确到系数都不带模糊的数学公式。论文里那个k等于r乘以(2p减r减一)再除以二的表达式,第一次让我意识到,独立投影多出来的自由度不是一个模糊的"更灵活",而是可以被精确数到个位的一堆维度,每一个维度都有对应的估计代价。

还有一个细节值得单独说,论文在附录里专门用了一个反例说明,即使两个矩阵A和B的乘积A的转置乘B完全相同,只要把A和B各自做一个可逆变换的缩放(一个乘以某矩阵,另一个乘以它的逆转置),排序结果居然可以完全反转。这意味着,当你只用余弦相似度而不是纯粹的双线性打分时,同一个底层的评分矩阵可以对应出完全不同的排序结果。这个反例提醒我,很多检索系统里悄悄用余弦相似度替代点积打分的"惯例"操作,其实可能在不知不觉中破坏了理论分析的前提条件。

这篇论文让我联想到统计学里一个更古老的问题,该用简单模型还是复杂模型,这本质上是同一个偏差方差权衡问题的又一次变形,只是这次它被套用在了一个具体又实用的场景,现代搜索引擎的底层设计选择上。理论的普适性有时候就体现在这里,几十年前为了解决完全不同问题发明的数学工具,换个包装又能派上用场。

论文没有完全解决的问题是,它的理论边界建立在一个局部、各向同性高斯噪声的假设上,真实世界里训练数据的噪声结构可能远比这复杂。如果换成排序指标本身而不是矩阵误差去度量风险,这套边界还能不能保持这么干净的形式,这是个留白的问题。

Q&A

Q1:密集检索里共享投影和独立投影的区别是什么?

A:共享投影是查询和文档用同一套变换规则,得到的评分矩阵一定是正定的,独立投影是查询和文档各用各的变换规则,得到的评分矩阵可以是任意低秩形式,表达能力更强但需要更多训练数据去估计准。

Q2:什么时候应该选独立投影而不是共享投影?

A:论文证明,当独立投影独享的信号能量平方超过噪声方差乘以额外自由度k时,独立投影的风险更低,信号弱、数据少的时候用共享投影更稳,信号强、数据多的时候独立投影更划算。

Q3:CARS是怎么帮助选择投影方式的?

A:CARS把训练数据切成两半,分别计算独立投影和共享投影的拟合差异,看这个差异在两半数据里是否稳定重复出现,从而在不知道真实信号强度的情况下估计该用哪种几何,实验显示它比固定选一种策略平均能减少49%到96%的损失。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-