主要是想做一個多目標的任務,所以採用了pairwise的排序方式,但是發現效果不如直接進行0,1的pointwise效果好。看了網上的一些資料,也有很多人這麼試過,也是同樣的結果。想問問有沒有成功的?


歡迎關注我們關於重排的最新工作,懇請斧正,歡迎社招校招實習~

憶丶昔:序列檢索系統在淘寶首頁信息流重排中的實踐?

zhuanlan.zhihu.com圖標


做過一些的實驗,作一些實際經驗上的回答:

目前來看,pairwise 訓練對搜索是有用的,對推薦的作用較小。

(1)搜索是帶 query 的、有意識的被動推薦,對於搜索而言,相關性是及其重要的事情。query 限制了你召回商品相關性,比如 「ONLY 連衣裙」,召回回來一批相似性極高的連衣裙,同時用戶心智也決定了他將高度關注商品之間的細微差別,比如價格、款式等,因此這些商品纔有必要比個高下。

(2)推薦是發散的、無意識的主動推薦,相比搜索而言,準確性不再是第一要務(想像下因為你點過一些女裝給你出一整屏的連衣裙的感覺),多樣性是一個必要的指標,這導致了推薦結果極其發散。用戶對推薦結果多樣性的心智使得他不關注兩個商品之間的比較,對於演算法而言不再關注商品之間兩兩的比較,我只要每個都預測準了,反正最後也要打散的。而且多樣性也導致了推薦場景沒有像搜索一樣適合做 pairwise 的樣本。

(3)這裡面有一些樣本近鄰和解空間方面的知識,不過我才疏學淺,盤了半天也沒盤明白,希望有大佬來補充。(可能是因為剛睡醒哈哈哈)

Moreover,

(1)pointwise 模型預測出來的分數,具有實際的物理意義,代表了 target user 點擊 target item 的預測概率,因此可以在全局或下游裏做一些策略,比如截斷之類的;pairwise or listwise 模型很難這麼利用,當然你可以說剔除後50%,但達不到我們想要的目的,即 ctr 指標上的明顯提升。

(2)pairwise 模型對於 online inference 可以說是一種災難,一般可以用於一些離線數據的生成,這一點阿里的電商有過成功的嘗試,可以關注這個裡面的 pairwise ranki2i :

https://segmentfault.com/a/1190000019370927

(3)pairwise or listwise 的模型,可以在重排階段大放異彩,這裡給一篇阿里的落地論文:

https://arxiv.org/pdf/1904.06813.pdf


我在這邊整理了一些經典和前沿的 pairwise 和 listwise 的重排工作的發展歷程(2020.11.02):

推薦系統中re-rank論文有哪些??

www.zhihu.com圖標

個人感覺pointwise學的是全局性,因為正樣本就增加相似,負樣本就降低相似度。但pairwise學的是局部性,一般而言,假設max margin=0,對某個用戶只需要其正樣本相似大於負樣本即可。比如負樣本相似為-0.99(相似度值域-1,1),那正樣本相似為-0.9模型也無需跟新參數了。但如果隨機採一個樣本平均相似假設為0,其實模型判定時,隨便一個樣本也比正樣本好。這就導致模型效果極差。

pairwise包括pointwise都需要及其合適的負樣本,而pairwise要求則更高。


pairwise不見得一定比pointwise差,只不過pairwise模型不好調是真的。實際煉丹中,pairwise訓練會不穩定,同一份數據訓練N個獨立的模型,效果會有波動(大霧)自己琢磨出來的方法是先用pointwise得到baseline模型,再pairwise finetune

搜索場景,非推薦

@楊鎰銘 大佬怎麼看


在主搜上目前看CVR任務經過設計的pairwise loss效果要好於pointwise loss,CTR任務打個平手,這裡持續優化應該可以得到更好的結論。

ranking loss優於 ce loss的paper,可以參考KDD20 Airbnb search以及Google Drive的兩篇工作。現在灌水paper太多了,這兩篇還比較可信。

FYI :)


題主說是想要做多目標的任務,我沒有用pairwise做過多目標,就說下pointwise的多目標吧。

工業界裏一般是用pointwise做多目標,為啥嘞,簡單有效、有意義、可解釋、好調節!

一般多目標是學點擊,時長,消費,點贊,評論,分享等,模型能確實學到的輸出是有切實含義的,比如點擊的概率,觀看的時長,用戶到底會花多少錢等。

這方便下一步帶入到排序公式,比如最基礎簡化的 Prob(click) * watch_time

另外隨著產品形態的變化,比方優化目標從更偏重時長到更偏重收入,也非常方便調節


pairwise的樣本構造更複雜,如何選取pair對有很多的工作要做


題主的樣本數據量如何?

如果數據量較大的話,我認為可以嘗試一下基於metric learning 的方法,詳細可以參考浙江大學的一篇文章:Deep Collaborative Ranking


推薦閱讀:
相關文章