日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

推荐算法炼丹笔记:做向量召回 All You Need is 双塔

發布時間:2025/3/8 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推荐算法炼丹笔记:做向量召回 All You Need is 双塔 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:十方,公眾號:煉丹筆記

對于基于向量召回,那就不得不提到雙塔。為什么雙塔在工業界這么常用?雙塔上線有多方便,真的是誰用誰知道,user塔做在線serving,item塔離線計算embeding建索引,推到線上即可。下面我就給大家介紹一些經典的雙塔模型,快速帶大家過一遍,如果想了解細節,強烈建議看論文。

DSSM

先說雙塔模型的鼻祖,這是微軟在CIKM2013發表的一篇工作,它主要是用來解決NLP領域語義相似度任務的。word hashing真的是DSSM的騷操作了,不同于現有的RNN,Bert等模型,該方法直接把文本映射成了遠低于vocab size的向量中,然后輸入DNN,輸出得到一個128維的低維語義向量。Query和document的語義相似度就可以用這兩個向量的cosine相似度來表示,進一步我們可以通過softmax對不同的document做排序。這就是最初的DSSM。如果把把document換成item或是廣告,就演變成了一個推薦模型。

論文地址:microsoft.com/en-us/res

看下百度雙塔,左邊user,右邊廣告,是不是很符合百度價值觀,簡單可依賴。

雙塔模型的優勢,總結如下:

  • 可以離線計算item的embedding
  • 線上計算user(&context)的embedding
  • 線上計算相似度
  • 實時性好

說來說去,主要就是實時性好,cos的表達是有限的,很難提取交叉特征,所以雙塔還是比較適用于召回場景。

YouTube雙塔

YouTube最新正在使用的視頻召回雙塔模型。這個模型在整體上就是最普通的雙塔。左邊是user塔,輸入包括兩部分,第一部分seed是user當前正在觀看的視頻,第二部分user的feature是根據user的觀看歷史計算的,比如說可以使用user最近觀看的k條視頻的id emb均值,這兩部分融合起來一起輸入user側的DNN。右邊是item塔,將候選視頻的feature作為輸入,計算item的 embedding。之后再計算相似度,做排序就可以了。YouTube這個模型最大的不同是,它的訓練是基于流數據的,每一天都會產生新的訓練數據。因此,負樣本的選擇只能在batch內進行,batch內的所有樣本作為彼此的負樣本去做batch softmax。這種采樣的方式帶來了非常大的bias。一條熱門視頻,它的采樣概率更高,因此會更多地被當做負樣本,這不符合實際。因此這篇工作的核心就是減小batch內負采樣帶來的bias。

論文地址:dl.acm.org/doi/pdf/10.1

EBR (facebook kdd 2020)

這篇論文真的強推,模型結構沒啥好說的,簡單的雙塔,兩邊塔的輸入都是文本特征、社交特征和位置特征,其中社交特征和位置特征是他們在實驗中發現對效果提升比較好的兩種特征。這篇工作的兩個核心亮點是hard negative mining和embedding ensemble。Hard negative mining是指,他們發現如果將隨機負樣本這種比較easy的樣本與上次召回中排名101-500名的比較hard的樣本以100:1的比例去訓練模型(為什么是101-500?),得到的效果會比較好。Embedding ensemble是指,可以將不同負樣本訓練得到的模型做融合來進行召回。融合的方式可以是相似度結果的直接加權或者是模型的串行融合,比如先用easy負樣本訓練模型進行初步的篩選,再用hard負樣本訓練模型進行最終的召回。另外他們還提到雖然使用unified的特征,就是輸入中包含社交特征和位置特征,來進行召回效果會比較好,但是召回結果在一定程度上也會損失文本的匹配,因此也可以先通過只輸入文本特征的模型來做篩選再用輸入unified特征的模型來召回,這樣可以保證文本的匹配。

論文地址:dl.acm.org/doi/pdf/10.1

莫比烏斯 (百度 KDD2019)

百度可不止有簡單可依賴的模型,也有復雜可依賴的。整個框架分為兩個階段,數據增強階段是綠色箭頭的部分,采樣并利用樣本中的用戶請求與廣告構造出更多樣本,教師網絡計算相似度后將低相似度的樣本輸入學生網絡去預測CTR,通過采樣的方式得到高CTR低相似度的樣本存入buffer,這類樣本我們稱之為bad case。第二個階段是橙色箭頭表示的CTR模型訓練階段,將原先采樣得到的原始樣本也存入buffer,利用buffer中的三種樣本去訓練CTR模型。雖然百度提出了這樣一種框架,但是召回和排序的直接統一在實現的過程中還是比較困難的,因為面臨的候選廣告集數量太大,在性能方面還是難以保證。但是Mobius的這種將商業指標提前引入召回階段的思想是非常具有探索價值的,比如文章中提到將cosine相似度直接乘上一個商業指標作為系數,就是一個很簡單的方式。

論文地址:research.baidu.com/Publ

大家對雙塔有什么看法呢?加群討論吧!關注我們的公眾號:煉丹筆記

更多干貨,歡迎關注公眾號:煉丹筆記

總結

以上是生活随笔為你收集整理的推荐算法炼丹笔记:做向量召回 All You Need is 双塔的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。