推薦系統(tǒng)遇上深度學(xué)習(xí)(九十二)-[騰訊]RecSys2020最佳長論文-多任務(wù)學(xué)習(xí)模型PLE

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

1、背景

多任務(wù)學(xué)習(xí)通過在一個模型中同時學(xué)習(xí)多個不同的目標(biāo),如CTR和CVR,最近被越來越多的應(yīng)用到線上的推薦系統(tǒng)中。

當(dāng)不同的學(xué)習(xí)任務(wù)之間較為相關(guān)時,多任務(wù)學(xué)習(xí)可以通過任務(wù)之間的信息共享,來提升學(xué)習(xí)的效率。但通常情況下,任務(wù)之間的相關(guān)性并不強(qiáng),有時候甚至是有沖突的,此時應(yīng)用多任務(wù)學(xué)習(xí)可能帶來負(fù)遷移(negative transfer)現(xiàn)象,也就是說,相關(guān)性不強(qiáng)的任務(wù)之間的信息共享,會影響網(wǎng)絡(luò)的表現(xiàn)。

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

論文提出了Progressive Layered Extraction (簡稱PLE),來解決多任務(wù)學(xué)習(xí)的蹺蹺板現(xiàn)象。本文會在后面對PLE進(jìn)行詳細(xì)介紹。

本文的后續(xù)首先將介紹一下多任務(wù)學(xué)習(xí)的一些常見的架構(gòu),然后重點介紹論文提出的PLE,最后簡單介紹一下實驗結(jié)果部分。

2、多任務(wù)學(xué)習(xí)介紹

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

2.1 Single-Level MTL Models

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

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

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

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

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

5)CGC:這是本文提出的結(jié)構(gòu),后文會進(jìn)行詳細(xì)的介紹,此處省略。

2.2 Multi-Level MTL Models

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

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

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

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

3)ML-MMoE:這是MMoE的多級結(jié)構(gòu),不再贅述

4)PLE:CGC的進(jìn)階版本,同樣是本文提出的結(jié)構(gòu),后文會進(jìn)行詳細(xì)的介紹,此處省略。

好了,簡單回顧了一些多任務(wù)學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu),接下來進(jìn)入本文的重點了,準(zhǔn)備好了么!

3、PROGRESSIVE LAYERED EXTRACTION介紹

3.1 seesaw phenomenon

我們先來看一下MTL中的seesaw phenomenon(蹺蹺板現(xiàn)象),論文主要基于騰訊視頻推薦中的多任務(wù)學(xué)習(xí)為例進(jìn)行介紹,其視頻推薦架構(gòu)如下圖:

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

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

論文對比了上述所有結(jié)構(gòu)的MTL在騰訊視頻VCR和VTR兩個任務(wù)上相對單任務(wù)模型的離線訓(xùn)練結(jié)果:

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

針對以上兩點,本文提出了PLE結(jié)構(gòu),在兩個任務(wù)上都取得了相對單任務(wù)模型不錯的收益,有效解決了蹺蹺板現(xiàn)象。

3.2 Customized Gate Control

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

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

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

3.3 Progressive Layered Extraction

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

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

3.4 MTL訓(xùn)練優(yōu)化

傳統(tǒng)的MTL的損失是各任務(wù)損失的加權(quán)和:

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

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

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

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

上式中所有的參數(shù)均為人工設(shè)定的超參數(shù)。

4、實驗結(jié)果

最后簡單看一下實驗結(jié)果。首先是離線的訓(xùn)練結(jié)果,表中的收益均是相較于單任務(wù)學(xué)習(xí)模型的:

接下來是線上A/B實驗的結(jié)果:

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

接下來,論文比較了在任務(wù)之間相關(guān)系數(shù)不同的情況下,Hard Parameter Sharing、MMoE和PLE的結(jié)果:

可以看到,無論任務(wù)之間的相關(guān)程度如何,PLE均取得了最優(yōu)的效果。

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

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

參考文獻(xiàn)

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

好了,本文的介紹就到這里了,可以學(xué)習(xí)的地方還是比較多的,不僅能夠?qū)Σ煌腗TL結(jié)構(gòu)進(jìn)行一個簡單的梳理,同時學(xué)習(xí)到最新的MTL學(xué)習(xí)框架,感興趣的同學(xué)一定要閱讀下原文,吸收其精華!

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