宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

馬薩諸塞大學的研究者們證明了:搜尋引擎的「比較策略」在數學上優於傳統方法

2026年07月16日 首頁 » 熱門科技

這項由馬薩諸塞大學阿默斯特分校智能資訊檢索中心與電腦科學系聯合開展的研究,以預印本形式於2026年7月7日發布於arXiv,編號為arXiv:2607.05803v1,分類方向為資訊檢索(cs.IR)。有興趣深入閱讀原始論文的讀者可通過該編號在arXiv平台檢索完整內容。

每當你打開搜尋引擎,輸入一串文字,點下回車,背後其實有一場無形的比賽正在進行。成千上萬的網頁在瞬間接受評判,系統要決定哪些對你最有用,哪些可以被排在後面。而這場比賽的規則,也就是"相似度評分"的方法,在過去幾十年裡一直是資訊檢索研究的核心戰場。如今,馬薩諸塞大學的研究團隊從數學角度切入,系統性地證明了一類被稱為"MaxSim"的評分策略,在理論能力上確實不遜於甚至超越傳統的單向量內積方法。更重要的是,他們還提出了一種擴展方案,讓這種策略能夠處理更複雜的搜索需求,比如"幫我找一篇講人工智慧但完全不涉及谷歌的文章"這類帶有排除條件的查詢。

這項研究的意義不僅停留在數學推導層面。它為業界長期觀察到的一個現象——基於MaxSim的模型(尤其是ColBERT這類系統)往往在實際測試中擊敗更簡單的方法——提供了理論層面的解釋。過去人們猜測這只是因為複雜模型使用了更多的儲存空間,但研究者們通過嚴格的數學證明,指出真正的差異來自於評分策略本身的能力邊界,而非單純的參數規模。

一、搜尋引擎的兩種"評分員"

為了理解這項研究在說什麼,需要先搞清楚兩種搜索策略的工作方式,就像球探評估球員一樣。

第一種方式,也是傳統方式,是給每位球員製作一張"綜合能力卡",用一個固定長度的數字列表來概括這位球員的全部特點。同樣,也給每個搜索需求製作一張"需求卡"。評分時,把兩張卡片對應位置的數字逐一相乘再加總,得到一個最終分數,分數越高說明越匹配。這種方法在技術上叫做"單向量內積",是絕大多數傳統搜索系統的基礎。

第二種方式則更像一位球探帶著一份詳細的觀察清單去看比賽,清單上每一條目都代表他最關心的某個特質,比如速度、傳球、射門。看完比賽後,他對每一條目的評價是:這位球員在這個特質上,跟他見過的所有球員比,最好能打幾分?把每條目的最高分加總,就是這位球員的綜合評價。這種方式允許"多向量"表示一個搜索需求,每個向量對應一個關注點,然後對每個關注點找文檔里最匹配的部分,取最大值後求和。這就是MaxSim的核心邏輯,其完整表達式是:對每個查詢向量,在文檔向量集合中找內積最大的那個,然後把所有查詢向量的最大值加在一起。

兩種方式的核心區別在於:第一種一次性綜合所有特質,第二種分別對每個特質找最佳匹配。這一差異,決定了它們各自能做到什麼、無法做到什麼。

二、用三維空間精確還原任何一次"詞彙匹配"

研究者們提出的第一個核心定理,初看起來有些讓人意外:MaxSim策略用三維空間裡的向量,就能精確模擬兩個高維稀疏向量之間的內積。

稀疏向量在這裡的意思是:一個可能有數萬甚至無限維的向量,但大多數位置的數值是零,只有少數幾個位置有實際數值。這非常符合資訊檢索的現實——詞彙表可能有幾十萬個詞,但一個具體的文檔或查詢通常只包含其中幾十到幾百個。

研究團隊構建的方法,本質上是用一個精心設計的多項式函數來當"識別器"。對於文檔向量里位置為d、數值為w的某個詞彙權重,可以構造一個二次多項式,使得這個多項式在位置d時恰好等於w,而在所有其他整數位置時都小於零。這樣一來,當查詢方的向量去和文檔方的所有向量計算內積時,只有"位置匹配"的那對向量能產生正的內積值,其他所有組合都因多項式給出負值而被排除在外。MaxSim里的"取最大值"操作,恰好起到了自動篩選匹配項的效果。

具體構造過程是這樣的:對查詢向量中第i個非零元素,構造一個三維向量,形式是將1、i、i的平方組合成一個列向量,再乘以原始權重。對文檔向量中第i個非零元素,則構造對應的多項式係數向量。當兩側對應位置的元素相遇時,內積恰好等於兩者權重之積;遇到不匹配的位置時,多項式保證內積為負,因此在取最大值時會被自然淘汰。文檔側還額外加入一個零向量,確保當查詢中某個關鍵詞在文檔里完全不存在時,該位置的貢獻被正確地計為零而非負值。

這個構造的優美之處在於:查詢側和文檔側的向量完全獨立構建,互相不需要知道對方的具體內容,完全符合實際搜索系統中"編碼器獨立工作"的要求。一個k個非零元素的查詢向量,對應k個三維查詢嵌入;一個有kv個非零元素的文檔向量,只需要kv+1個三維文檔嵌入。儲存量和非零元素數量成正比,而不是和詞彙表的總大小掛鉤。

三、單向量方法為什麼註定存在天花板

既然MaxSim能做到這件事,那傳統的單向量內積方法能不能也實現類似的壓縮?研究者們的第二個定理給出了明確的否定答案,並且證明方式非常簡潔。

核心論點可以這樣理解:假設詞彙表里有100萬個詞,每個詞都是一個獨立的"概念",彼此之間完全沒有關聯,就像坐標系裡100萬個互相垂直的方向。現在要把這100萬個概念壓縮成一個固定長度的向量,讓任意兩個概念之間的相似度還能被精確保留。這在數學上等價於:把100萬個互相垂直的方向,硬塞進一個只有d維的空間裡,要求它們依然互相垂直。這顯然是不可能的。就像三維空間裡最多只能放三個互相垂直的方向,d維空間裡最多只能保留d個互相正交的概念,超過這個數量就必須讓渡精度,產生不可避免的混淆。

研究者們用矩陣秩的語言表達了這一點:如果有n個概念,它們兩兩內積構成的矩陣的秩是n。但兩個d維矩陣之積的秩最多是d。當n>d時,這兩件事無法同時成立,因此精確保留是不可能的。

這個結論與MaxSim形成了鮮明對比。MaxSim通過"每個概念獨立攜帶自己的三維嵌入"的方式,徹底繞開了這一秩的限制。詞彙表有多大,就可以有多少組嵌入,每組只需要三維,互相之間不產生干擾。這在理論上允許MaxSim處理無限維度的稀疏向量,而單向量方法在固定維度下必須對高維稀疏概念進行近似壓縮。

四、標準MaxSim遭遇的邊界:負值問題

至此,一切看起來都很美好,但研究者們並沒有止步於讚美MaxSim,而是進一步追問:標準MaxSim是否也有它做不到的事情?

答案是有的,而且這個局限相當基本。標準MaxSim在處理"負值"時會遭遇困難。在上面描述的查詢-文檔匹配框架里,每次匹配的得分是"取最大值",而最大值通常是非負的——除非所有文檔嵌入與該查詢嵌入的內積全都是負的,才會出現負分貢獻。

但在實際搜索中,某些情況天然需要負的貢獻,最典型的就是帶否定條件的查詢。當用戶搜索"不含谷歌的人工智慧工具"時,"谷歌"這個詞應該起到扣分的作用——文檔里越明顯地提到谷歌,得分應該越低。標準MaxSim的"取最大值"操作恰恰無法可靠地實現這一點:即使為"不含谷歌"設置了一個理論上應該產生負值的查詢嵌入,文檔向量集合里也總有其他不相關的嵌入會湊巧給出一個接近零或略正的內積,從而被選為最大值,掩蓋掉本應出現的懲罰信號。

研究者們用一個嚴格的數學定理證明了這一局限的不可繞過性。他們假設存在一種精心設計的編碼方案,對每個非零元素分配恰好一個嵌入向量,然後問:在這樣的框架下,標準MaxSim能不能精確重現任意實數值向量之間的內積?結論是:如果原始向量維度n大於嵌入空間維度M,就必然存在某些實數向量對,其內積無法被精確還原,無論編碼方案如何設計。

證明思路是:考慮一系列特殊的單稀疏向量,其中第i個向量在位置i處取-1,其餘為零。要精確還原這批向量之間的內積,需要相似度矩陣是一個滿秩對角矩陣(對角線上是-1,其餘是0)。但如果嵌入向量只有M維,那麼由嵌入向量構成的矩陣之積的秩最多是M,當n>M時,這個滿秩條件無法滿足,矛盾由此產生。

五、簽名MaxSim:解鎖負值的擴展方案

既然標準MaxSim無法處理負值,研究團隊便提出了一個自然而優雅的擴展,稱為"Signed MaxSim"(符號化MaxSim)。這個擴展的核心思路是把每個數值分解成兩部分:大小和符號。

在原始框架里,每個非零元素x直接被嵌入為一個向量。在擴展框架里,x被分解成|x|(大小,永遠非負)和符號(+1或-1),分別儲存。查詢側的每個嵌入變成一個(向量,符號)的配對,文檔側也是如此。計算相似度時,先用嵌入向量的內積來決定哪個文檔嵌入最匹配——這一步完全和原來一樣,因為大小總是非負的,多項式識別機制依然有效。一旦找到最匹配的文檔嵌入,再把查詢的符號和這個文檔嵌入的符號一起乘進去,得到該位置的最終貢獻。

這樣,"大小"負責導航和匹配,"符號"負責決定最終是加分還是扣分,兩者職責分離,互不干擾。當查詢向量的符號是-1(代表"不想要"這個概念),而文檔向量的符號是+1(代表"文檔里確實有這個概念")時,兩者相乘得-1,對總分產生負貢獻。這正是排除性查詢所需要的行為。

研究者們證明,這個擴展方案能夠精確還原任意實數值稀疏向量之間的內積,包括含負值的情況,並且和原始MaxSim一樣保持編碼獨立性:查詢側和文檔側各自只用自己的資訊來構建表示,不需要預先知道對方。所需儲存量同樣只與非零元素數量成正比。

六、MaxSim與布爾邏輯之間的隱秘聯繫

除了與內積方法的比較,研究者們還從一個不同的角度分析了MaxSim的能力邊界,把它和資訊檢索最古老的傳統——布爾邏輯搜索——聯繫了起來。

早期的搜索系統使用的是布爾查詢:用戶可以指定"我要同時包含A和B,或者包含C,但不能包含D"這樣精確的邏輯條件,系統嚴格按照規則篩選文檔。這種方式精確但笨拙,需要用戶手動寫出完整的邏輯表達式,普通用戶難以駕馭。

研究者們發現,MaxSim在更高維度的嵌入下,可以被解讀為一種"加權模糊OR"操作。所謂模糊OR,就是標準布爾邏輯中"或"的連續化推廣:不是非此即彼,而是"最高匹配程度"。具體來說,可以把多個同義詞或相關概念編碼進一個查詢向量,那麼MaxSim在計算時就會自動選出文檔里與這組概念最匹配的那一個,取其得分,而不是把所有匹配的貢獻累加。這意味著一篇同時包含"紅色""赤紅""朱紅"的文檔,不會僅僅因為堆砌了多個近義詞就獲得不公平的高分,這正是模糊OR與模糊AND的本質區別。

更進一步,當把多個這樣的查詢向量組合在一起,每個向量代表一個需要滿足的條件(一個OR子句),所有向量的MaxSim值求和,就構成了一個"條件的AND"。這在邏輯上恰好對應Conjunctive Normal Form(合取範式,CNF),即"多個或條件的且"。研究者們用數學證明,在適當的嵌入構造下,MaxSim計算出的總分,能和精確的布爾邏輯評判產生完全相同的文檔排名順序——哪些文檔滿足所有條件排在最前面,哪些只滿足部分條件依次遞減,哪些一個條件都不滿足得分最低。

這個發現的意義在於:MaxSim不僅在數學能力上可以與內積媲美,它還天然地以一種與傳統布爾搜索兼容的方式組織資訊匹配。這給了研究者們一種新的視角來理解,為什麼通過學習訓練出來的ColBERT類模型往往能捕捉到用戶搜索意圖中的多條件組合邏輯。

七、符號MaxSim在實驗中的表現

理論上能做到的事,實踐中是否真的有效?研究團隊設計了一組實驗來驗證擴展方案的實際價值,測試場景專注於帶否定條件的搜索,因為這正是標準MaxSim理論上難以處理的地方。

實驗使用了合成數據集,格式類似於"約翰·史密斯喜歡另類搖滾、天使蛋糕、杏子、阿根廷螞蟻、牛油果、黑莓、捲心菜和哈密瓜"這樣的文檔,查詢則是"喜歡另類搖滾和黑莓但不喜歡櫻桃的人"。選擇合成數據的好處是完全可控,排除了詞彙分布、訓練數據質量等混淆因素,讓研究者們能精確衡量兩種評分策略本身的差異。

對比的兩個系統都使用了完全相同的ModernBERT語言模型作為基礎,參數量約為1.49億,區別只在於最終的相似度計算方式——一個用標準MaxSim(稱為ColBERT基線),另一個用Signed MaxSim(稱為Fallon)。Fallon額外增加了一個小型神經網路模組,用來為每個詞生成權重值(理論版本里這個權重是符號+1或-1,實踐中放開為任意實數以便梯度訓練順暢進行)。兩者用相同的數據、相同的訓練策略、相同的超參數(學習率1e-5)進行訓練,唯一的變量就是評分函數。

測試在三個場景下進行。第一個是與訓練數據相同詞彙表的"同域測試":ColBERT得到了0.982的nDCG@10分數(這是衡量搜索結果前10位質量的標準指標,滿分1.0),Fallon達到0.997,兩者都表現不錯,但Fallon的各項指標均顯著更高,統計上的顯著性通過配對t檢驗確認(p

第二個場景換了一套新的詞彙表,通過Gemini生成與原詞彙同類但表述不同的新概念,模擬搜索系統遭遇從未見過的詞彙時的情況。ColBERT的nDCG@10驟降至0.597,暴露了其泛化能力的脆弱性;Fallon則不降反升,達到1.000的滿分,平均精度(AP)也從0.511躍至1.000。這個反差說明,ColBERT在同域測試中的較好表現,部分依賴於訓練和測試詞彙的重疊,一旦詞彙發生變化,其策略就難以為繼。Fallon學到的是一種更通用的"用符號懲罰不想要的特徵"的策略,詞彙的具體形式並不影響這種策略的有效性。

第三個場景是純否定查詢,格式如"不喜歡櫻桃的人"或"不喜歡櫻桃或西瓜的人",完全沒有任何正向條件。這對標準MaxSim來說是最嚴酷的考驗。在這個場景里,語料庫中絕大多數文檔(不包含被排除屬性的文檔)都是正確答案,即便隨機檢索也能得到相當高的分數。然而ColBERT的nDCG@10隻有0.008,幾乎為零,意味著它不僅沒能找到正確文檔,反而系統性地把最不相關的文檔(也就是包含被排除屬性的文檔)推到了最前面。這是標準MaxSim內在邏輯的直接後果:它總是試圖找到某個正向匹配項,當唯一顯著的語義信號是一個"應該被懲罰"的概念時,它反而會選中含有這個概念的文檔作為最佳匹配。Fallon在同一場景下達到了0.788,雖然距離滿分還有差距,但與基線相比是本質性的改善。剩餘差距主要來自檢索截斷的問題:當正確文檔數量達到數萬時,只返回前1000個結果的評估協議本身就設置了難以突破的天花板。

整套實驗結果在統計上全部顯著,每項指標的改善都通過了嚴格的顯著性檢驗。

說到底,這項研究做的事情有些反常——它不是提出一種全新的搜索算法,而是回頭認真檢視一個已經在實踐中被廣泛使用的策略,問清楚它究竟"為什麼管用"以及"在哪些地方不夠用"。研究者們發現,MaxSim之所以在實際測試中擊敗更簡單的方法,不是靠參數量取勝,而是因為它的評分機制在數學上確實更有能力——能夠精確模擬任何非負稀疏內積,而這是固定維度的單向量方法做不到的。與此同時,標準MaxSim在處理負值和排除性語義方面存在根本性的局限,這個局限同樣被數學證明所確認,而不只是經驗觀察。針對這一局限,Signed MaxSim通過分離"大小"和"符號"兩個維度的資訊,以極小的架構改動解決了這一根本性問題,且實驗結果驗證了這種改動在實踐中的有效性。

這項研究讓人聯想到的一個思考是:在機器學習領域,很多被證明好用的方法,往往缺乏與其性能相匹配的理論理解。當理論和實驗終於對齊時,往往不僅能解釋過去,還能指引未來。Signed MaxSim在否定查詢上的大幅改善,以及它在詞彙遷移場景下的穩健性,都表明這種對底層評分機制的理論理解,正在轉化為實實在在的工程收益。有興趣深入了解數學細節或復現實驗的讀者,可通過arXiv編號2607.05803查閱完整論文。

Q&A

Q1:MaxSim和普通搜尋引擎的內積方法有什麼本質區別?

A:普通內積方法把文檔壓縮成一個固定長度的向量來代表所有詞彙,詞彙表越大資訊損失越多。MaxSim則給文檔里的每個重要詞彙單獨保留一個小向量,查詢時對每個關注點分別找文檔里最匹配的部分取最大值,再求和。這樣即使詞彙表無限大,每個詞彙的特徵也不會被壓縮掉,理論上資訊保留更完整。

Q2:Signed MaxSim處理否定查詢為什麼比標準MaxSim好這麼多?

A:標準MaxSim的取最大值操作很難產生穩定的負貢獻,因為文檔里總有一些不相關的詞彙會給出接近零的分數,把本應產生的懲罰效果蓋掉。Signed MaxSim把每個詞的大小和符號分開處理,大小用來找最匹配的詞,找到之後再乘上符號來決定加分還是扣分。這樣當查詢包含"不想要"的概念時,文檔里確實出現該概念就會直接產生負分,而不會被其他不相關詞彙的零分所干擾。

Q3:Signed MaxSim用在實際搜索產品中需要哪些改動?

A:從模型架構看,Signed MaxSim只需要在標準ColBERT的基礎上額外添加一個小型神經網路模組來生成每個詞的權重值,改動很小。但目前的近似快速檢索引擎(如PLAID)是專門為標準MaxSim設計的,不能直接用於Signed MaxSim,需要開發新的近似搜索方案。論文作者表示這是後續工作的方向,目前實驗使用的是精確全量計算。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新