選單

Multi-Task經典模型結構-MMoE

前面介紹了推薦演算法中常用的經典多工模型結構ESMM,其主要的使用場景是兩個有關聯的任務上,例如CTR預估和CVR預估,但是在實際工業場景中,很多工之間關聯很小甚至沒有關聯,這時候就不再適合使用ESMM模型來將兩個或者多個任務建模到同一個模型結構中了,MMOE模型就是為此而提出的多工模型結構。MMoE模型是將多個帶有門控結構的Mixture-of-Experts( MoE)模組組合起來,使得學習每個任務時,除了共享資訊之外,也有了更多的獨立性,最終在多個實驗資料集上驗證了MMoE模型顯著的效果。

下面我們來學習下MMoE模型原理。

一、模型結構

先來看下MMoE模型的網路結構,即如下圖(c)所示。

下圖的(a)、(b)、(c)分別表示多工模型從簡單到複雜的演化程序,同時也透過對模型結構和共享層的最佳化,不斷提高了模型的效果。

Multi-Task經典模型結構-MMoE

圖(a):這是較為經典的Shared Bottom結構,即兩個task共享相同的底層資料,包括相同的input資料以及對input資料做了進一步資訊提取的共享網路層,然後往上同時連線兩個task各自的tower結構。

圖(b):對Shared bottom結構做了進一步的豐富,常規的Shared Bottom層一般是單獨一個DNN結構,而這裡使用了多個並行的DNN結構來代替單獨的DNN結構,因此相當於使用多個專家網路,也就是多專家網路,既然是多專家網路,那麼每個專家網路對於有效資訊的貢獻程度就會有不同的權重,有一個門控網路Gate學習出來每個專家網路的權重,因此不同權重的專家網路的組合即One-gate MoE,最終代替了傳統的Shared bottom層,使得多工模型學習的更加充分。

圖(c):就是這裡主要介紹的MMoE結構,其相比於圖(b)結構的主要區別,在於不同的任務使用不同的Gate門控網路,即Gate A和Gate B。對於不同的任務,不同的門控網路顯然能夠學習到不同的權重引數,而這相比於圖(b)中不同任務使用相同的門控網路也顯然是更合理的,實驗效果也顯然是更優的。

二、模型效果

模型在不同實驗資料上進行了實驗,包括合成數據、實際工業場景資料集。在人工合成的資料集上可以明顯看到MMoE模型的loss是最低的,因此其效果是最優的;在實際工業場景的大規模資料上,MMoE模型的AUC及其它指標也均獲得了最優的結果。

三、後續模型學習

透過對於前面的ESMM模型以及本文的MMoE模型的學習,可以看到多工場景中,對於有關聯的多工場景、缺少關聯的多工場景,採取了不同的處理方式,但是相比之前傳統的Shared Bottom架構的多工模型都獲得了更優的效果。

在之後的學習中,我們會繼續介紹多工發展過程中,有關聯的多工場景以及無關聯的多工場景中,更優解決方案的演算法模型。