論文速讀記錄 - 202409

Milkha發表於2024-09-29

這次是KDD 2024專場。

目錄:

  • Deep Bag-of-Words Model: An Efficient and Interpretable Relevance Architecture for Chinese E-Commerce
    【詞袋模型和語言模型結合,構建可解釋的相關性計算方法】

  • Understanding the Ranking Loss for Recommendation with Sparse User Feedback
    【從梯度的角度分析為什麼pairwise損失在反饋稀疏的場景下有效?】

  • Unsupervised Ranking Ensemble Model for Recommendation
    【如何把多個序融合為一個序?】

  • Non-autoregressive Generative Models for Reranking Recommendation
    【如何用非自迴歸的方式從n個物品中選出m個進行重排?】

  • Multi-objective Learning to Rank by Model Distillation

    【把多個單目標的模型蒸餾到一個模型中】

  • Mitigating Pooling Bias in E-commerce Search via False Negative Estimation
    【一種減輕假陰樣本影響的方法】

  • 總結

Deep Bag-of-Words Model: An Efficient and Interpretable Relevance Architecture for Chinese E-Commerce

  • https://arxiv.org/pdf/2407.09395,KDD 2024,Alibaba.

應用在淘寶電商搜尋中的相關性匹配模型,主要解決使用者查詢和商品之間的文字相關性問題。

BERT類的模型雖然在文字匹配領域應用廣泛,但依然存在一些問題:1)效能問題,一些場景下部署BERT還是比較消耗資源的;2)可解釋性問題,透過雙塔模型計算文字的相似性比較“黑盒”,可解釋性較差,難以做出針對性的最佳化。一些傳統精確匹配的方法(如BM25、tf-idf等)則存在文字表述形式差異帶來不準確的問題。

因此,本文提出了一個深度詞袋模型,一個高效且可解釋的可解釋架構,基本思路:將使用者查詢或商品編碼成稀疏的詞袋錶示,即一系列<詞,權重>,相似性表示為查詢和商品之間匹配上的詞的累計權重。具體的,利用預訓練語言模型,將查詢或商品編碼為一個高維的向量,維度大小等於詞表的大小,每一維表示詞的權重。

以上方法有兩個問題:1)如何將表示的每一維與特定的詞對應起來;2)維度擴大帶來的計算和儲存上的問題。如何解決這倆挑戰:

  1. 透過模型結構和損失函式的設計,將表示的維度與詞對齊。
  2. 在損失函式中增加稀疏約束,降低高維表示中的有效位置。
  3. 對高維表示進行取樣降低表示用到的詞數。

具體實現:

  1. 訓練兩個編碼器,分別從字元粒度和詞粒度對輸入文字進行編碼,如下圖的Character Encoder和Word Encoder。
  2. 擴充套件了詞表(原文是"N-gram Hashing Vocabulary")。
  3. 根據編碼的結果,構建BoW表示。如下圖的Term-Weighting Bow和Synonym-Expansion Bow表示。Bow表示即將輸入的文字進行詞袋錶示:\(\\\{w_i : p_i\}\)。重點是如何計算每個詞的權重,具體細節不贅述。其中Synonym-Expansion Bow即對輸入文字進行擴充套件,避免一些同義、表述不一致的問題。可以看作是補充了詞袋模型的語義功能。
  4. 損失函式看起來比較常規,沒啥好講的。此外,還用人工標註資料訓練了一個互動式的模型,作為教師模型進行蒸餾。

論文的實驗表明,即使使用2層的模型效果依然很好。

看這篇論文的效果倒是挺好的,而且也部署在了淘寶的線上系統,不知道如果用於召回的話可行不。

Understanding the Ranking Loss for Recommendation with Sparse User Feedback

  • https://arxiv.org/pdf/2403.14144,KDD 2024,Tencent.

概述:
論文探討了在稀疏使用者反饋情況下,結合排名損失和二元交叉熵損失在推薦系統中的有效性。研究的動機在於:

  • 如何在正樣本(如點選)稀疏的情況下最佳化模型以提高CTR準確性。
  • 為何結合交叉熵和排名損失能夠提升CTR預測的效能。

論文揭示了在使用者反饋稀疏時:交叉熵損失容易導致負樣本的梯度消失問題,而排名損失能夠為負樣本生成更大的梯度,從而緩解了模型學習過程中的最佳化問題。論文透過理論分析和在公開資料集上的實驗驗證了這一觀點,並在騰訊線上廣告系統中部署了排名損失,取得了顯著的商業價值提升。

直接揭曉答案:交叉熵損失的最佳化曲面相對平緩(如下圖),在正樣本稀疏的情況下梯度一般都比較小,所以存在收斂速度慢、收斂效果不夠好的問題,而結合排名損失後最佳化曲面更“凸”,正好解決了該問題。

簡單說一下理論分析:過求損失函式對正/負樣本的logits的梯度,可以看出交叉熵下負樣本的梯度的均值與樣本集中的CTR接近,而在稀疏場景下CTR一般都很小,具體的分析見論文,不贅述。

另外說一下論文中討論的排名損失基本是pair形式的。直觀地來說,正負樣本組pair能夠增大梯度是正常的?

Unsupervised Ranking Ensemble Model for Recommendation

  • KDD 2024,Kuaishou.

看題目就知道了,排序繼承(融合)模型,即如何把多個序融合成一個序。雖然沒找到這篇論文的PDF版本,但是根據摘要和放出的報告影片,感覺還有點意思,還挺符合線上的融合排序的場景的—— 整合多個分進行排序。

實際場景中,通常會有多個打分模型,每個模型通常代表一個指標,如點選、喜歡、收藏等。當然,如果有一個最終序的監督訊號,可以直接用這個訊號融合這些分,但是往往這種最終的監督訊號是缺失的。因此,論文提出了一個無監督的方法整合多個排序模型,來學習多個序的資訊。

具體來說,主要學習多個序的兩種資訊:1)序列資訊,衡量兩個序之間的距離,使最終的序和輸入的多個序之間的距離最小;2)數值資訊,使模型能夠學習到原來序的打分資訊。論文提出的方法內容可以參考下圖,應該也是基於變形金剛做的(?),等論文出來再看看細節:

Non-autoregressive Generative Models for Reranking Recommendation

  • https://arxiv.org/pdf/2402.06871,KDD 2024,Kuaishou.

這篇論文提出了一種非自迴歸生成式的推薦重排模型,NAR4Rec。研究動機主要針對現有自迴歸模型的以下問題:

  • 只能逐個地生成結果,推理速度慢。
  • 訓練與推理之間的不一致性問題。這個乍一看沒看明白,原來就是指生成模型訓練和推理時不一致的問題。
    訓練時:基於已有的序列預測下一個token。
    推理時:基於之前生成的序列預測下一個token。
  • 自左向右地生成順序忽視了後生成結果的資訊,導致次優。

針對這些問題,論文提出了NAR4Rec:

  • 能夠同時生成目標序列中的所有項,從而提高效率和有效性。
  • 介紹了一種匹配模型來解決訓練樣本稀疏和動態候選項對模型收斂性的影響,以及一種序列級非似然訓練目標和對比解碼方法,以捕捉目標項之間的相關性。

在正式介紹之前,先看下自迴歸和非自迴歸的區別:

再看下重排。描述一下重排任務:從n個候選結果中排列出m個物品。重排的兩類典型方法:

  • 單階段方法。就是給定一個結果列表,在此基礎上為每個結果打分,再依據打分按照貪心的策略重排這些結果。問題:打分只考慮了初始的序,但是重排過程中序以及發生變化,打分可能已經不準確。
  • 雙階段方法。採用生成器-評估器框架,生成器生成多個可行的序,評估器對序打分以選擇最優序列。

這麼看,本文的方法應該是雙階段的,NAR4Rec框架如下:

簡單介紹一下:

  • 左邊的是生成器。由候選物品編碼器和位置編碼器組成。位置編碼器不是位置編碼,而是重排輸出的每個位置的編碼。生成器的輸出是一個n*m的矩陣,(i, j)表示把第i個候選物品放在重排輸出的第j個位置的機率。關於如何根據輸出的矩陣解碼得到重排序列,可參考論文(主要是沒時間細讀😀)。
  • 右邊是評估器,即對生成的序列打分。很顯然,也是一個類似變現金剛的結構,重排序列作為輸入進行listwise的打分,不贅述。不過論文好像也沒提評估器是怎麼訓練的?

整體看下來,感覺比較精妙的應該是把重排的每個槽位作為輸入,計算候選物品在每個位置的機率了。

看實驗,論文的方法離線和線上都提升挺多的。

Multi-objective Learning to Rank by Model Distillation

  • https://arxiv.org/pdf/2407.07181,KDD 2024,Airbnb.

一直聽說愛彼迎的論文乾貨滿滿了,這次必須好好學習一下。

論文探討了線上市場(如Airbnb)中搜尋排名面臨的挑戰,即如何在提高購買或轉化率(主要目標)的同時,也最佳化購買結果(次要目標),例如訂單取消、評價評級等。

論文中討論的多目標方案是:一個模型,預測多個目標,訓練時每個目標的損失加權作為最終的損失,推理時融合多個打分作為最終打分。這種方法的引數可分成兩部分:1)為每個目標打分的引數,即共享引數和任務引數;2)融合多個打分的引數。實際場景中,這種方式也是比較合理的,多目標可能是各自最佳化的,模型既有共有的引數也有任務特有的引數,迭代時可能只最佳化一部分。因此會把多目標模型儘量解耦,比如共有引數、目標特有引數、融合引數等。

多目標L2R的挑戰:

  • 引數調優複雜。其中包括上述提到的兩部分引數之間的不適配問題,比如模型損失收斂很好了,但是融合多個目標的分數可能不適用了。
  • 資料的不平衡和衝突問題。不同目標的資料稀疏程度不一致,目標間的相關性可能不高等。
  • 有些目標是不可導的。

論文提出了一種基於模型蒸餾的多目標排名解決方案,最佳化了Airbnb的端到端排名系統,包括多個不同目標的排名模型,並考慮了訓練和服務效率,以滿足工業標準。研究發現,與傳統方法相比,所提出的方法不僅顯著提高了主要目標,而且滿足了次要目標的約束,並提高了模型的穩定性。此外,論文還展示了該系統可以透過模型自我蒸餾進一步簡化,並透過額外的模擬表明,這種方法還可以有效地將非微分的業務目標註入排名系統,同時平衡最佳化目標。

針對以上問題,論文的貢獻如下:

  • 模型蒸餾:將多目標LTR問題轉化為模型蒸餾問題,透過訓練一個模型來最佳化多個目標,並逼近每個目標的獨立最佳化解,且不需要為線上融合多個目標打分調參。
  • 軟標籤概念:引入軟標籤來減少模型不可再生性,並透過自我蒸餾軟標籤來簡化排名系統。
  • 非微分目標的整合:透過修改軟標籤,將非微分業務目標有效地整合到排名模型中。

論文裡從公式的角度推導了一下:一個主目標加多個輔助目標約束的最佳化等價於主目標加蒸餾損失:

最後的結論就是:每個目標一個單獨模型進行最佳化,然後一起蒸餾到一個模型裡,如下圖:

(從工程量來說,感覺還是得訓練多個模型😂)論文中還有一些實踐中的經驗,不贅述。

Mitigating Pooling Bias in E-commerce Search via False Negative Estimation

  • https://arxiv.org/pdf/2311.06444,KDD 2024.

論文探討了電子商務搜尋中的產品相關性評估問題,在訓練相關性評估模型時經常出現pooling bias(即取樣到假陰樣本,第一次看到這種叫法)問題。針對這一問題,論文提出了一種減輕偏差的難負樣本取樣方法(Bias-mitigating Hard Negative Sampling,BHNS),識別假陰樣本以提升資料質量。

方法包括:

  • 提出了False Negative Estimation指標,評估假陰樣本的似然性(等價於樣本是正樣本的機率?左右互搏?)。基於一個假設:query之間相似度越高,越可能共享正樣本。計算方式如下:

  • 根據估計的假陰機率,透過兩種方式減小pooling bias。第一種:Sampling Regularization,思想很簡單:假陰機率越大,被取樣為難負樣本的機率越小。

  • 第二種:Pseudo Label Generation。把假陰機率作為難分負樣本的偽標籤。

假陰樣本確實是模型訓練中的一個經典問題了。這論文的思想還是挺簡單的,以後可以試試。

總結

文章的標題起的不太對,不是速讀,是慢讀😐

以前看論文有點貪多,經常是通篇讀下來,想了解論文裡的每個細節,不小心就花了大把時間。或許是心態不一樣,也沒有針對性地看論文。工作後看論文,更多是瞭解一下別人的工作,學習學習。也不會過多糾結於一些細節,主要了解一下論文的思路,畢竟不同場景下方法、策略的表現不一樣,實踐過程中也有差別,重要的還是開拓一下思路。


第一次看到北京這麼好的天

相關文章