多任務學習在美圖推薦排序的近期實踐

一、前言

距筆者上次提出NFwFM點擊率預估模型,並覆蓋美圖秀秀、美拍等推薦場景已經過去半年。算法鑽研如逆水行舟,不進則退。用戶和公司越來越高的期望也要求我們不斷進步。

與此同時,美圖社區內容推薦業務發展迅猛,有目共睹。社區內容推薦一方面是千人千面,精準連接用戶與內容,另一方面是連接用戶與用戶。因此近半年來,我們的業務目標自然的從點擊率預估發展到點擊率和關注轉化率的多目標預估模型。

本文介紹將多任務學習應用於點擊率和關注轉化率預估的一些思考和實踐經驗。這些實踐已全量覆蓋美圖秀秀社區以及美拍熱門等推薦場景。

二、算法選型

筆者管中窺豹, 將多目標預估分爲兩大類, 一類是多模型,一類是多任務學習。

多模型爲每一個目標單獨構造訓練樣本和特徵,並採用合適的模型各自訓練。其優點是可以爲每個目標進行深度優化,且預估值融合階段能夠根據業務目標靈活控制各個目標的權重。缺點是需要配備多套人力和機器來存儲和優化樣本、特徵以及調整融合公式。

學術界和業界近年來在多任務學習(Multi-task Learning, MTL)方面的研究和實踐進展頗多。MTL是機器學習的一種範式,屬於遷移學習的範疇,但與大家通常理解的遷移學習的區別在於多任務學習是要藉助其它的任務來幫助提升所有任務而非某一個任務的學習效果。

當多個任務相關性強時,譬如點擊率和關注轉化率,多任務學習與遷移學習的本質區別便成爲多任務的最大優點。此外,依筆者淺見,DNN靈活的網絡結構,其在一個模型中能夠包容多種不同分佈的樣本並各自優化其目標,更是釋放了MTL的最大價值。其缺點是參數共享,當存在不那麼相關的任務時,任務之間會相互擾亂,影響效果。

多任務學習本身一個很古老的概念[5]。對多任務學習做詳細的介紹超出了本文的範圍,感興趣的同學可以參考文末的參考文獻。

思慮至此,結合實際預估目標,我們很自然的選擇多任務學習作爲點擊率預估和關注轉化率預估的多目標預估模型。

三、Multi-task NFwFM

正如前面所說,多任務學習只是機器學習的一種範式,並不侷限於特定的問題或者模型。因爲有非常實際的工業需求,所以工業界和學術界的研究和實踐成果還在不斷增加。

比如2016年橫空出世的YouTubeNet[1], KDD’18的MMoE[2]等學術研究;工業界如美團"猜你喜歡"引入Multi-task DNN後CTR提升1.23%[3], 知乎引入MMoE後互動率提升100%[4]。

在實踐過程中爲了追求訓練效率高,模型可拓展性以及最重要的效果要好,工業界通常選擇Shared-Bottom multi-task DNN[5]的網絡結構。

如上圖,Multi-task NFwFM的前4個隱含層是共享的,點擊率預估任務和關注轉化率預估任務共享特徵表示。在最後即將預估多個目標時通過全連接層進行拆分,各自學習對應任務的參數,從而專注地擬合各自任務。

多任務學習的不同任務在共享層裏的局部極小值位置是不同的,通過多任務之間不相關的部分的相互作用,有助於逃離局部極小值點;而多任務之前相關的部分則有利於底部共享層對通用特徵表示的學習,因此通常多任務能夠取得比單任務模型更好的效果。

在線上預估時,因爲模型尺寸沒有變化,推理效率和線上的點擊率預估模型一致。考慮到我們是在點擊率任務的基礎上同時優化關注轉化率,融合公式上體現爲優先按照點擊率排序再按照曝光→關注的轉化率排序。

Multi-task NFwFM已在美圖秀秀社區首頁Feeds推薦、相關推薦下滑流全量上線。首頁Feeds 點擊率 +1.93%,關注轉化率 +2.90%, 相關推薦下滑流人均瀏覽時長+10.33%, 關注轉化率+9.30%。

四、樣本reweight

上述普適版的Multi-task NFwFM帶來了點擊率和關注率轉化率的穩定提升,這驅使我們進一步根據業務數據的特點壓榨模型價值。

點擊和關注轉化樣本生而不平等。在秀秀首頁Feeds推薦場景下,點擊樣本數:關注樣本數≈100:1。雖然Multi-task NFwFM包容了點擊和關注轉化這兩種不同分佈的樣本,並支持各自優化其目標,然而點擊樣本和關注樣本嚴重不平衡,這無疑會影響關注轉化率預估目標的學習。

爲了最大化模型的價值,reweight自然成爲我們的選擇。樣本的研究和模型應用是同等重要的問題,相關研究仍然很活躍,不斷有新算法被提出。代表性的工作有近期Kaiming He等人提出的Focus Loss[6], 其通過減少易學習樣本的權重,使得模型在訓練時更專注於難學習的樣本。

Focus Loss的優點是可以通過超參數來控制兩種樣本的分佈,缺點是在梯度下降類的優化算法中,樣本無法隨機shuffle,而這對梯度下降類算法的收斂速度至關重要。

回到實踐本身,我們採用樣本reweight的土辦法,一方面,樣本reweight天然的支持隨機shuffle, 另一方面,從以往實踐的經驗來看,用更多、更高質量的數據進行訓練幾乎是總能帶來提升的。

以下圖爲例,假設有4類feeds, A、B、C、D, 關注轉化率的大小關係是A > C > B > D=0。實線部分表示4類feed的真實CTR,則虛線表示各類feed被關注樣本reweight之後的虛擬CTR。

通過關注轉化率reweight點擊正樣本,改變了CTR分佈之後,模型的pCTR將傾向於C>D>A>B,保證在原始CTR接近的情況下,關注轉化率較高的feed更容易被模型推薦出來,提升整體的關注轉化率,並且因爲C、D等點擊率較高的feed不受分佈改變後影響,因此整體CTR應不受太大影響。

基於上述關注樣本reweight點擊正樣本的策略,美圖秀秀社區首頁Feeds推薦CTR -1.09%, 關注轉化率 +12.03%。

五、Task-specific weighted Loss

樣本reweight讓我們在關注轉化率目標上取得了顯著的提升,但是CTR下降明顯。筆者調整並灰度實驗多個reweight候選值,嘗試降低關注轉化率對點擊正樣本的分佈的影響,結果讓人失望,CTR均低於線上。

很大可能的原因是上述圖示對我們場景數據的假設太簡單理想了。正如前文所述,多任務學習的缺點是參數是共享的,當多個任務存在不相關部分時,任務之間會相互擾亂,影響效果。

學術界將這個現象稱爲"share conflict",分析並解決這個問題的挑戰較大,且業界和學術界可供參考的經驗少。

另一種減小share conflict的曲線方式是gradient balancing method,在我們場景下對應的是加大multi-task NFwFM中點擊率預估任務的重要性,讓點擊率預估任務來主導底部共享層的參數學習,進而影響整體模型的預估性能。

Yarin Gal在CVPR’18提出一種基於不確定估計的方法, Homoscedastic Uncertainty[7], 來設定多個任務的學習率,學習率越大對整體模型的學習主導性越強。

如下圖,在秀秀社區首頁Feed推薦場景中, Homoscedastic Uncertainty估計方法表明關注轉化率的不確定性確實比點擊率預估任務高,因此我們應該讓點擊率預估任務來主導整體模型的學習。

然而灰度實驗期間,發現該方法估計出來的不確定性本身不穩定,參數容易學飄,甚至出現相反的結論,導致實驗效果波動較大。在實踐中,筆者採用效果正向提升的幾天的不確定性值作爲最終的參數。

上述改進的Multi-task NFwFM, 在美圖秀秀社區首頁Feeds推薦場景全量上線,點擊率 -0.36%, 關注轉化率+12.75%。

六、未來展望

對於多目標預估問題,我們已經實現了一套具有良好拓展性的系統,並在生產實踐中取得了成功應用。縱觀業界,不少公司也在生產中使用了各種多任務模型和算法。

同多任務學習的廣闊空間相比,目前我們的實踐還很初級,未來我們一方面會繼續發揮多任務學習的優勢,根據業務形態設計多任務學習目標,另一方面還會嘗試更爲複雜的模型和算法。

參考文獻

  1. Covington P, Adams J, Sargin E. Deep neural networks for youtube recommendations

  2. Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-experts

  3. 美團"猜你喜歡"深度學習排序模型實踐

  4. 進擊的下一代推薦系統:多目標學習如何讓知乎用戶互動率提升100%?

  5. Rich Caruana. 1998. Multitask learning. In Learning to learn

  6. Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection

  7. Kendall A, Gal Y, Cipolla R. Multi-task learning using uncertainty to weigh losses for scene geometry and semantics

作者介紹

陳文強,美圖高級算法技術專家。曾就職阿里巴巴、騰訊。具有多年推薦算法的實際落地經驗,長期深耕於最優化算法、推薦算法領域的研究。NFwFM提出者,在Neural Computing等期刊發表數篇論文。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章