本文介紹的論文題目是:《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》
論文下載地址為:https://dl.acm.org/citation.cfm?id=3220007
多任務學習最近越來越受歡迎,咱們前面也介紹過幾篇阿里多任務學習的模型,不過多任務學習的效果受不同任務之間的相關(guān)性影響較大,因此本文基于Mixture-of-Experts (MoE)模型,提出了一種顯式建模任務相關(guān)性的模型Multi-gate Mixture-of-Experts (MMoE) ,一起來學習一下。
1、背景
近年來,深度神經(jīng)網(wǎng)絡的應用越來越廣,如推薦系統(tǒng)。推薦系統(tǒng)通常需要同時優(yōu)化多個目標,如電影推薦中不僅需要預測用戶是否會購買,還需要預測用戶對于電影的評分,在比如電商領(lǐng)域同時需要預測物品的點擊率CTR和轉(zhuǎn)化率CVR。因此,多任務學習模型成為研究領(lǐng)域的一大熱點。
許多多任務學習模型取得了不錯的效果,但是實踐中多任務學習模型并不總比單任務模型效果更突出。這主要是因為不同任務之間的相關(guān)性低(如數(shù)據(jù)的分布不同等等)導致的。
是不是真的如上述所說,任務之間的相關(guān)性會影響多任務學習的效果呢,咱們先在第二節(jié)中做一個實驗。
2、任務相關(guān)性實驗
2.1 一般的多任務學習模型框架
一般的多任務學習模型框架如下:
對于不同的任務,底層的參數(shù)和網(wǎng)絡結(jié)構(gòu)是共享的,然后上層經(jīng)過不同的神經(jīng)網(wǎng)絡得到對應任務的輸出。 假設底層輸出是f(x),那么第k個任務的輸出yk為:
其中hk是第k個任務上層神經(jīng)網(wǎng)絡的參數(shù)。
2.2 任務相關(guān)性實驗
接下來,我們通過一個實驗來探討任務相關(guān)性和多任務學習效果的關(guān)系。
假設模型中包含兩個回歸任務,而數(shù)據(jù)通過采樣生成,并且規(guī)定輸入相同,輸出label不同。那么任務的相關(guān)性就使用label之間的皮爾遜相關(guān)系數(shù)來表示,相關(guān)系數(shù)越大,表示任務之間越相關(guān),數(shù)據(jù)生成的過程如下:
首先,生成了兩個垂直的單位向量u1和u2,并根據(jù)兩個單位向量生成了模型的系數(shù)w1和w2,如上圖中的第二步。w1和w2之間的cosine距離即為p,大伙可以根據(jù)cosine的計算公式得到。
隨后基于正態(tài)分布的到輸入數(shù)據(jù)x,而y根據(jù)下面的兩個式子的到:
注意,這里x和y之間并非線性的關(guān)系,因為模型的第二步是多個sin函數(shù),因此label之間的皮爾遜相關(guān)系數(shù)和參數(shù)w1和w2之間的cosine距離并不相等,但是呈現(xiàn)出一個正相關(guān)的關(guān)系,如下圖:
因此,本文中使用參數(shù)的cosine距離來近似表示任務之間的相關(guān)性。
2.3 實驗結(jié)果
基于上述數(shù)據(jù)生成過程以及任務相關(guān)性的表示方法,分別測試任務相關(guān)性在0.5、0.9和1時的多任務學習模型的效果,如下圖:
可以看到的是,隨著任務相關(guān)性的提升,模型的loss越小,效果越好,從而印證了前面的猜想。
3、MMoE模型
3.1 MoE模型
先來看一下Mixture-of-Experts (MoE)模型(文中后面稱作 One-gate Mixture-of-Experts (OMoE)),如下圖所示:
可以看到,相較于一般的多任務學習框架,共享的底層分為了多個expert,同時設置了一個Gate,使不同的數(shù)據(jù)可以多樣化的使用共享層。此時共享層的輸出可以表示為:
其中fi代表第i個expert的輸出,gi代表第第i個expert對應的權(quán)重,是基于輸入數(shù)據(jù)得到的,計算公式為g(x) = softmax(Wgx)。
3.2 MMoE模型
相較于MoE模型,Multi-gate Mixture-of-Experts (MMoE)模型為每一個task設置了一個gate,使不同的任務和不同的數(shù)據(jù)可以多樣化的使用共享層,模型結(jié)構(gòu)如下:
此時每個任務的共享層的輸出不同,第k個任務的共享層輸出計算公式如下:
隨后每個任務對應的共享層輸出,經(jīng)過多層全連接神經(jīng)網(wǎng)絡得到每個任務的輸出:
從直觀上考慮,如果兩個任務并不十分相關(guān),那么經(jīng)過Gate之后,二者得到的權(quán)重系數(shù)會差別比較大,從而可以利用部分expert網(wǎng)絡輸出的信息,近似于多個單任務學習模型。如果兩個任務緊密相關(guān),那么經(jīng)過Gate得到的權(quán)重分布應該相差不多,類似于一般的多任務學習框架。
4、實驗結(jié)果
先回顧上面介紹的三種多任務學習的架構(gòu):
實驗分為三部分:人工合成數(shù)據(jù)集(即本文第二部分所介紹的人工生成的數(shù)據(jù)集)、UCI census-income dataset和Large-scale Content Recommendation
4.1 人工合成數(shù)據(jù)集-實驗結(jié)果
4.2 UCI census-income dataset-實驗結(jié)果
這塊文中介紹了幾種多任務學習的模式,這里就不過多介紹了。
4.3 Large-scale Content Recommendation-實驗結(jié)果
這篇論文的介紹就到這里啦,這一篇是在我閱讀youtube多任務學習論文中發(fā)現(xiàn)的,所以下一篇會介紹youtube今年的論文《Recommending What Video to Watch Next: A Multitask Ranking System》,期待一下吧。
可能我的理解還有不到位的地方,歡迎大家一起討論對這篇文章的理解~
關(guān)注小編的公眾號“小小挖掘機”,后臺回復“進群”,一起來交流學習推薦系統(tǒng)吧!