今天介紹的是騰訊提出的一種新的多任務(wù)學(xué)習(xí)個(gè)性化推薦模型税稼,該論文榮獲了RecSys2020最佳長論文獎(jiǎng)烦秩,一起來學(xué)習(xí)下!
1郎仆、背景
多任務(wù)學(xué)習(xí)通過在一個(gè)模型中同時(shí)學(xué)習(xí)多個(gè)不同的目標(biāo)只祠,如CTR和CVR,最近被越來越多的應(yīng)用到線上的推薦系統(tǒng)中扰肌。
當(dāng)不同的學(xué)習(xí)任務(wù)之間較為相關(guān)時(shí)抛寝,多任務(wù)學(xué)習(xí)可以通過任務(wù)之間的信息共享,來提升學(xué)習(xí)的效率。但通常情況下盗舰,任務(wù)之間的相關(guān)性并不強(qiáng)晶府,有時(shí)候甚至是有沖突的,此時(shí)應(yīng)用多任務(wù)學(xué)習(xí)可能帶來負(fù)遷移(negative transfer)現(xiàn)象钻趋,也就是說川陆,相關(guān)性不強(qiáng)的任務(wù)之間的信息共享,會(huì)影響網(wǎng)絡(luò)的表現(xiàn)蛮位。
此前已經(jīng)有部分研究來減輕負(fù)遷移現(xiàn)象较沪,如谷歌提出的MMoE模型。該模型會(huì)在第二節(jié)進(jìn)行一定的回顧失仁。但通過實(shí)驗(yàn)發(fā)現(xiàn)尸曼,多任務(wù)學(xué)習(xí)中往往還存在seesaw phenomenon(本文中暫且翻譯為蹺蹺板現(xiàn)象,如有不當(dāng)萄焦,歡迎指正)控轿,也就是說,多任務(wù)學(xué)習(xí)相對于多個(gè)單任務(wù)學(xué)習(xí)的模型楷扬,往往能夠提升一部分任務(wù)的效果解幽,同時(shí)犧牲另外部分任務(wù)的效果。即使通過MMoE這種方式減輕負(fù)遷移現(xiàn)象烘苹,蹺蹺板現(xiàn)象仍然是廣泛存在的。
論文提出了Progressive Layered Extraction (簡稱PLE)片部,來解決多任務(wù)學(xué)習(xí)的蹺蹺板現(xiàn)象镣衡。本文會(huì)在后面對PLE進(jìn)行詳細(xì)介紹。
本文的后續(xù)首先將介紹一下多任務(wù)學(xué)習(xí)的一些常見的架構(gòu)档悠,然后重點(diǎn)介紹論文提出的PLE廊鸥,最后簡單介紹一下實(shí)驗(yàn)結(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ú)有模塊中酥宴,得到各自的輸出啦吧。當(dāng)兩個(gè)任務(wù)相關(guān)性較高時(shí),用這種結(jié)構(gòu)往往可以取得不錯(cuò)的效果拙寡,但任務(wù)相關(guān)性不高時(shí)授滓,會(huì)存在負(fù)遷移現(xiàn)象,導(dǎo)致效果不理想。
2)Asymmetry Sharing(不對稱共享):可以看到般堆,這種結(jié)構(gòu)的MTL在孝,不同任務(wù)的底層模塊有各自對應(yīng)的輸出,但其中部分任務(wù)的輸出會(huì)被其他任務(wù)所使用淮摔,而部分任務(wù)則使用自己獨(dú)有的輸出私沮。哪部分任務(wù)使用其他任務(wù)的輸出,則需要人為指定噩咪。
3)Customized Sharing(自定義共享):可以看到顾彰,這種結(jié)構(gòu)的MTL,不同任務(wù)的底層模塊不僅有各自獨(dú)立的輸出胃碾,還有共享的輸出涨享。2和3這兩種結(jié)構(gòu)同樣是論文提出的,但不會(huì)過多的介紹仆百。
4)MMoE:這種結(jié)構(gòu)的MTL之前的文章中也都介紹過了厕隧,相信大家也比較熟悉。底層包含多個(gè)Expert俄周,然后基于門控機(jī)制吁讨,不同任務(wù)會(huì)對不同Expert的輸出進(jìn)行過濾。
5)CGC:這是本文提出的結(jié)構(gòu)峦朗,后文會(huì)進(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時(shí)尺铣,說明兩者沒有共享的特征拴曲,相反的,當(dāng)兩者的值越大凛忿,說明共享部分越大澈灼。
2)Sluice Network(水閘網(wǎng)絡(luò)):名字都比較有意思,哈哈店溢。這個(gè)結(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)叠赦,后文會(huì)進(jìn)行詳細(xì)的介紹驹马,此處省略革砸。
好了,簡單回顧了一些多任務(wù)學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)糯累,接下來進(jìn)入本文的重點(diǎ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兩個(gè)任務(wù)胖秒。VCR任務(wù)可理解為視頻完成度缎患,假設(shè)10min的視頻,觀看了5min阎肝,則VCR=0.5挤渔。這是回歸問題,并以MSE作為評估指標(biāo)风题。VTR表示此次觀看是否是一次有效觀看判导,即觀看時(shí)長是否在給定的閾值之上,這是二分類問題(如果沒有觀看沛硅,樣本Label為0)眼刃,并以AUC為評估指標(biāo)。
兩個(gè)任務(wù)之間的關(guān)系比較復(fù)雜摇肌。 首先擂红,VTR的標(biāo)簽是播放動(dòng)作和VCR的耦合結(jié)果,因?yàn)橹挥杏^看時(shí)間超過閾值的播放動(dòng)作才被視為有效觀看围小。 其次篮条,播放動(dòng)作的分布更加復(fù)雜,在存在WIFI時(shí)吩抓,部分場景有自動(dòng)播放機(jī)制,這些樣本就有較高的平均播放概率赴恨,而沒有自動(dòng)播放且需要人為顯式點(diǎn)擊的場景下疹娶,視頻的平均播放概率則較低。
論文對比了上述所有結(jié)構(gòu)的MTL在騰訊視頻VCR和VTR兩個(gè)任務(wù)上相對單任務(wù)模型的離線訓(xùn)練結(jié)果:
可以看到伦连,幾乎所有的網(wǎng)絡(luò)結(jié)構(gòu)都是在一個(gè)任務(wù)上表現(xiàn)優(yōu)于單任務(wù)模型雨饺,而在另一個(gè)任務(wù)上表現(xiàn)差于單任務(wù)模型,這就是所謂的蹺蹺板現(xiàn)象惑淳。MMoE盡管有了一定的改進(jìn)额港,在VTR上取得了不錯(cuò)的收益,但在VCR上的收益接近于0歧焦。MMoE模型存在以下兩方面的缺點(diǎn)移斩,首先,MMoE中所有的Expert是被所有任務(wù)所共享的,這可能無法捕捉到任務(wù)之間更復(fù)雜的關(guān)系向瓷,從而給部分任務(wù)帶來一定的噪聲肠套;其次,不同的Expert之間也沒有交互猖任,聯(lián)合優(yōu)化的效果有所折扣你稚。
針對以上兩點(diǎn),本文提出了PLE結(jié)構(gòu)朱躺,在兩個(gè)任務(wù)上都取得了相對單任務(wù)模型不錯(cuò)的收益刁赖,有效解決了蹺蹺板現(xiàn)象。
3.2 Customized Gate Control
Customized Gate Control(以下簡稱CGC)可以看作是PLE的簡單版本长搀,本文先對其進(jìn)行介紹宇弛,其結(jié)構(gòu)如下圖所示:
CGC可以看作是Customized Sharing和MMoE的結(jié)合版本。每個(gè)任務(wù)有共享的Expert和獨(dú)有的Expert盈滴。對任務(wù)A來說涯肩,將Experts A里面的多個(gè)Expert的輸出以及Experts Shared里面的多個(gè)Expert的輸出,通過類似于MMoE的門控機(jī)制之后輸入到任務(wù)A的上層網(wǎng)絡(luò)中巢钓,計(jì)算公式如下:
其中病苗,gk(x)是下層模塊的輸出,wk(x)是第k個(gè)任務(wù)針對不同Expert輸出的權(quán)重症汹,Sk(x)則是第k個(gè)任務(wù)所用到的Expert的輸出硫朦,例如對于任務(wù)A,使用Experts A和Experts Shared里面的多個(gè)Expert的輸出背镇。
3.3 Progressive Layered Extraction
在CGC的基礎(chǔ)上咬展,Progressive Layered Extraction(以下簡稱PLE)考慮了不同的Expert之間的交互,可以看作是Customized Sharing和ML-MMOE的結(jié)合版本瞒斩,其結(jié)構(gòu)圖如下:
在下層模塊破婆,增加了多層Extraction Network,在每一層胸囱,共享Expert不斷吸收各自獨(dú)有的Experts之間的信息祷舀,而任務(wù)獨(dú)有的Expert則從共享Expert中吸收有用的信息。每一層的計(jì)算過程與CGC類似烹笔,這里就不再贅述裳扯。接下來介紹訓(xùn)練時(shí)的幾點(diǎn)優(yōu)化。
3.4 MTL訓(xùn)練優(yōu)化
傳統(tǒng)的MTL的損失是各任務(wù)損失的加權(quán)和:
而在騰訊視頻場景下谤职,不同任務(wù)的樣本空間是不一樣的饰豺,比如計(jì)算視頻的完成度,必須有視頻點(diǎn)擊行為才可以允蜈。不同任務(wù)的樣本空間如下圖所示:
解決樣本空間不一致的問題冤吨,前面我們介紹過ESMM的方式蒿柳。而本文則是在Loss上進(jìn)行一定的優(yōu)化,不同的任務(wù)仍使用其各自樣本空間中的樣本:
其中δki取值為0或1锅很,表示第i個(gè)樣本是否屬于第k個(gè)任務(wù)的樣本空間其馏。
其次是不同任務(wù)之間權(quán)重的優(yōu)化。關(guān)于MTL的權(quán)重設(shè)置爆安,最常見的是人工設(shè)置叛复,這需要不斷的嘗試來探索最優(yōu)的權(quán)重組合,另一種則是阿里提出的通過帕累托最優(yōu)來計(jì)算優(yōu)化不同任務(wù)的權(quán)重扔仓。本文也是人工設(shè)置權(quán)重的方式褐奥,不過在不同的訓(xùn)練輪次,權(quán)重會(huì)進(jìn)行改變翘簇。在每一輪撬码,權(quán)重的計(jì)算如下:
上式中所有的參數(shù)均為人工設(shè)定的超參數(shù)。
4版保、實(shí)驗(yàn)結(jié)果
最后簡單看一下實(shí)驗(yàn)結(jié)果呜笑。首先是離線的訓(xùn)練結(jié)果,表中的收益均是相較于單任務(wù)學(xué)習(xí)模型的:
接下來是線上A/B實(shí)驗(yàn)的結(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個(gè)为牍,而PLE&CGC中,每個(gè)任務(wù)獨(dú)有的Expert為1個(gè)岩馍,共享的為1個(gè)。這樣不同模型都是有三個(gè)Expert抖韩。結(jié)果如下:
可以看到宋税,無論是MMoE還是ML-MMoE轧膘,不同任務(wù)在三個(gè)Expert上的權(quán)重都是接近的,這其實(shí)更接近于一種Hard Parameter Sharing的方式屯换,但對于CGC&PLE來說,不同任務(wù)在共享Expert上的權(quán)重是有較大差異的衷蜓,其針對不同的任務(wù),能夠有效利用共享Expert和獨(dú)有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.reibang.com/p/ab7216e95fa9
好了,本文的介紹就到這里了熊痴,可以學(xué)習(xí)的地方還是比較多的他爸,不僅能夠?qū)Σ煌腗TL結(jié)構(gòu)進(jìn)行一個(gè)簡單的梳理,同時(shí)學(xué)習(xí)到最新的MTL學(xué)習(xí)框架果善,感興趣的同學(xué)一定要閱讀下原文诊笤,吸收其精華!