背景
在推薦系統中存在用戶行為稀疏的問題,特別是在召回階段,用戶有過交互的item只占非常少的一部分,只有這部分數據我們能用來訓練,但是serving時要serving全庫item,這可能會導致傾向熱門的item,特別是對冷啟動非常不友好。這篇論文引入來在CV、NLU中取得成功的對比學習方法,通過一個輔助任務來幫助主任務模型和底層embedding得到更充分的訓練。
模型結構
模型結構如上圖所示,在主任務的基礎上增加一個輔助任務,兩個任務共享底層的embedding(也可以共享nn參數),兩個任務聯合訓練
輔助的任務的作用是在對樣本進行變換后,輔助tower仍能區分出是不是同個樣本,這樣可以避免樣本被少數強特征主導,是特征能學習的更充分。
正負樣本構造方法
正樣本:同個樣本經過不同變換得到的兩個樣本構成正例
負樣本:在batch內的其它樣本經過變換后
樣本變換方法
樣本變換分位兩個步驟:首先是mask一部分特征,然后是進NN前通過一個dropout層
有兩種mask方法:
1. 隨機mask一般feature得到樣本1,然后mask另一半feature得到樣本2(這兩個樣本會構成一個訓練pair)
2. 首先隨機選擇一個種子特征,然后選擇和這個種子特征互信息最大的一半特征mask后得到樣本1,mask另一半特征得到樣本2
損失函數
這個loss鼓勵:
1. 同個樣本經過不同的變換后,經過神經網絡后得到的embedding有最大的余弦相似度
2. 不同樣本經過不同的變換后,經過神經網絡后得到的embedding有最小的余弦相似度