推薦系統遇上深度學習(九十二)-[騰訊]RecSys2020最佳長論文-多任務學習模型PLE

今天介紹的是騰訊提出的一種新的多任務學習個性化推薦模型,該論文榮獲了RecSys2020最佳長論文獎,一起來學習下!

1、背景

多任務學習通過在一個模型中同時學習多個不同的目標,如CTR和CVR,最近被越來越多的應用到線上的推薦系統中。

當不同的學習任務之間較為相關時,多任務學習可以通過任務之間的信息共享,來提升學習的效率。但通常情況下,任務之間的相關性并不強,有時候甚至是有沖突的,此時應用多任務學習可能帶來負遷移(negative transfer)現象,也就是說,相關性不強的任務之間的信息共享,會影響網絡的表現。

此前已經有部分研究來減輕負遷移現象,如谷歌提出的MMoE模型。該模型會在第二節進行一定的回顧。但通過實驗發現,多任務學習中往往還存在seesaw phenomenon(本文中暫且翻譯為蹺蹺板現象,如有不當,歡迎指正),也就是說,多任務學習相對于多個單任務學習的模型,往往能夠提升一部分任務的效果,同時犧牲另外部分任務的效果。即使通過MMoE這種方式減輕負遷移現象,蹺蹺板現象仍然是廣泛存在的。

論文提出了Progressive Layered Extraction (簡稱PLE),來解決多任務學習的蹺蹺板現象。本文會在后面對PLE進行詳細介紹。

本文的后續首先將介紹一下多任務學習的一些常見的架構,然后重點介紹論文提出的PLE,最后簡單介紹一下實驗結果部分。

2、多任務學習介紹

這一部分主要是根據論文中給出的總結圖進行介紹。論文中將MTL模型分為了Single-Level MTL Models和Multi-Level MTL Models。因此我們也按照此進行介紹。

2.1 Single-Level MTL Models

Single-Level MTL Models主要包含以下幾種形式:

1)Hard Parameter Sharing:這也是最為常見的MTL模型,不同的任務底層的模塊是共享的,然后共享層的輸出分別輸入到不同任務的獨有模塊中,得到各自的輸出。當兩個任務相關性較高時,用這種結構往往可以取得不錯的效果,但任務相關性不高時,會存在負遷移現象,導致效果不理想。

2)Asymmetry Sharing(不對稱共享):可以看到,這種結構的MTL,不同任務的底層模塊有各自對應的輸出,但其中部分任務的輸出會被其他任務所使用,而部分任務則使用自己獨有的輸出。哪部分任務使用其他任務的輸出,則需要人為指定。

3)Customized Sharing(自定義共享):可以看到,這種結構的MTL,不同任務的底層模塊不僅有各自獨立的輸出,還有共享的輸出。2和3這兩種結構同樣是論文提出的,但不會過多的介紹。

4)MMoE:這種結構的MTL之前的文章中也都介紹過了,相信大家也比較熟悉。底層包含多個Expert,然后基于門控機制,不同任務會對不同Expert的輸出進行過濾。

5)CGC:這是本文提出的結構,后文會進行詳細的介紹,此處省略。

2.2 Multi-Level MTL Models

Multi-Level MTL Models主要包含以下幾種形式:

1)Cross-Stitch Network(“十字繡”網絡):出自論文《Cross-stitch Networks for Multi-task Learning》,上圖中可能表示的不太清楚,可以參考下圖:

從上面的公式中可以看出,當aBA或者aAB值為0時,說明兩者沒有共享的特征,相反的,當兩者的值越大,說明共享部分越大。

2)Sluice Network(水閘網絡):名字都比較有意思,哈哈。這個結構出自論文《Sluice networks: Learning what to share between loosely related tasks》,模型結構比較復雜,本文不做詳述,感興趣的同學可以閱讀原文

3)ML-MMoE:這是MMoE的多級結構,不再贅述

4)PLE:CGC的進階版本,同樣是本文提出的結構,后文會進行詳細的介紹,此處省略。

好了,簡單回顧了一些多任務學習的網絡結構,接下來進入本文的重點了,準備好了么!

3、PROGRESSIVE LAYERED EXTRACTION介紹

3.1 seesaw phenomenon

我們先來看一下MTL中的seesaw phenomenon(蹺蹺板現象),論文主要基于騰訊視頻推薦中的多任務學習為例進行介紹,其視頻推薦架構如下圖:

這里主要關注VCR和VTR兩個任務。VCR任務可理解為視頻完成度,假設10min的視頻,觀看了5min,則VCR=0.5。這是回歸問題,并以MSE作為評估指標。VTR表示此次觀看是否是一次有效觀看,即觀看時長是否在給定的閾值之上,這是二分類問題(如果沒有觀看,樣本Label為0),并以AUC為評估指標。

兩個任務之間的關系比較復雜。 首先,VTR的標簽是播放動作和VCR的耦合結果,因為只有觀看時間超過閾值的播放動作才被視為有效觀看。 其次,播放動作的分布更加復雜,在存在WIFI時,部分場景有自動播放機制,這些樣本就有較高的平均播放概率,而沒有自動播放且需要人為顯式點擊的場景下,視頻的平均播放概率則較低。

論文對比了上述所有結構的MTL在騰訊視頻VCR和VTR兩個任務上相對單任務模型的離線訓練結果:

可以看到,幾乎所有的網絡結構都是在一個任務上表現優于單任務模型,而在另一個任務上表現差于單任務模型,這就是所謂的蹺蹺板現象。MMoE盡管有了一定的改進,在VTR上取得了不錯的收益,但在VCR上的收益接近于0。MMoE模型存在以下兩方面的缺點,首先,MMoE中所有的Expert是被所有任務所共享的,這可能無法捕捉到任務之間更復雜的關系,從而給部分任務帶來一定的噪聲;其次,不同的Expert之間也沒有交互,聯合優化的效果有所折扣。

針對以上兩點,本文提出了PLE結構,在兩個任務上都取得了相對單任務模型不錯的收益,有效解決了蹺蹺板現象。

3.2 Customized Gate Control

Customized Gate Control(以下簡稱CGC)可以看作是PLE的簡單版本,本文先對其進行介紹,其結構如下圖所示:

CGC可以看作是Customized Sharing和MMoE的結合版本。每個任務有共享的Expert和獨有的Expert。對任務A來說,將Experts A里面的多個Expert的輸出以及Experts Shared里面的多個Expert的輸出,通過類似于MMoE的門控機制之后輸入到任務A的上層網絡中,計算公式如下:

其中,gk(x)是下層模塊的輸出,wk(x)是第k個任務針對不同Expert輸出的權重,Sk(x)則是第k個任務所用到的Expert的輸出,例如對于任務A,使用Experts A和Experts Shared里面的多個Expert的輸出。

3.3 Progressive Layered Extraction

在CGC的基礎上,Progressive Layered Extraction(以下簡稱PLE)考慮了不同的Expert之間的交互,可以看作是Customized Sharing和ML-MMOE的結合版本,其結構圖如下:

在下層模塊,增加了多層Extraction Network,在每一層,共享Expert不斷吸收各自獨有的Experts之間的信息,而任務獨有的Expert則從共享Expert中吸收有用的信息。每一層的計算過程與CGC類似,這里就不再贅述。接下來介紹訓練時的幾點優化。

3.4 MTL訓練優化

傳統的MTL的損失是各任務損失的加權和:

而在騰訊視頻場景下,不同任務的樣本空間是不一樣的,比如計算視頻的完成度,必須有視頻點擊行為才可以。不同任務的樣本空間如下圖所示:

解決樣本空間不一致的問題,前面我們介紹過ESMM的方式。而本文則是在Loss上進行一定的優化,不同的任務仍使用其各自樣本空間中的樣本:

其中δki取值為0或1,表示第i個樣本是否屬于第k個任務的樣本空間。

其次是不同任務之間權重的優化。關于MTL的權重設置,最常見的是人工設置,這需要不斷的嘗試來探索最優的權重組合,另一種則是阿里提出的通過帕累托最優來計算優化不同任務的權重。本文也是人工設置權重的方式,不過在不同的訓練輪次,權重會進行改變。在每一輪,權重的計算如下:

上式中所有的參數均為人工設定的超參數。

4、實驗結果

最后簡單看一下實驗結果。首先是離線的訓練結果,表中的收益均是相較于單任務學習模型的:

接下來是線上A/B實驗的結果:

可以看到,無論是離線訓練還是線上A/B,PLE均取得了最佳的效果。

接下來,論文比較了在任務之間相關系數不同的情況下,Hard Parameter Sharing、MMoE和PLE的結果:

可以看到,無論任務之間的相關程度如何,PLE均取得了最優的效果。

最后,論文對比了MMoE和PLE不同Expert的輸出均值,來比較不同模型的Expert利用率(expert utilization)。為方便比較,將MMoE的Expert設置為3個,而PLE&CGC中,每個任務獨有的Expert為1個,共享的為1個。這樣不同模型都是有三個Expert。結果如下:

可以看到,無論是MMoE還是ML-MMoE,不同任務在三個Expert上的權重都是接近的,這其實更接近于一種Hard Parameter Sharing的方式,但對于CGC&PLE來說,不同任務在共享Expert上的權重是有較大差異的,其針對不同的任務,能夠有效利用共享Expert和獨有Expert的信息,這也解釋了為什么其能夠達到比MMoE更好的訓練結果。

參考文獻

1、https://zhuanlan.zhihu.com/p/52566508
2、《Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations》
3、http://www.lxweimin.com/p/ab7216e95fa9

好了,本文的介紹就到這里了,可以學習的地方還是比較多的,不僅能夠對不同的MTL結構進行一個簡單的梳理,同時學習到最新的MTL學習框架,感興趣的同學一定要閱讀下原文,吸收其精華!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374