1. 程式人生 > >推薦中的多工學習-YouTube視訊推薦

推薦中的多工學習-YouTube視訊推薦

本文將介紹Google發表在RecSys’19 的論文《Recommending What Video to Watch Next: A Multitask Ranking System》。主要解決大規模視訊推薦中的排序階段的多工學習和使用者選偏置問題。

  • 背景

給定當前使用者正在觀看的視訊,推薦給使用者下一個可能觀看或者喜歡的視訊。在實際推薦場景中的兩個主要問題:

1)多目標:我們不僅希望推薦的視訊使用者會點選,而且希望使用者會給好評並分享給朋友觀看

2)選擇偏置:使用者點選視訊可能因為該視訊在頁面的頂部,並不是使用者真的喜歡。如果不考慮這種偏置,推薦系統會誤以為使用者喜歡這種型別視訊,導致惡性迴圈。

​ 為了解決這些問題,文章提出使用Multi-gate Mixture-of-Experts (MMoE)進行多工學習,並對Wide&deep做出了擴充套件,引入一個淺層臺模型消除選擇偏置。MMoE是多工學習的一種架構,核心思想是對每個學習任務將底部共享層替換為MoE層並加上門控網路,也是由google提出的,可以參考下原論文[2]。

  • 模型架構

總體架構如圖

​ MMoE部分主要用於解決多目標學習,具體來說,文章將多目標分成兩組:1)參與度目標,例如點選、觀看時長等;2)滿意度目標,使用者評分等。每個expert關注輸入的不同部分,利用多門控機制可以控制expert的權重。

​ shallow tower部分用於減少選擇偏置的影響,將和偏置有關的特徵作為輸入。該部分類似於wide&deep的wide部分,輸出作為主模型的偏置。

1.建模任務間聯絡和衝突

​ 當任務間的關聯比較低時,使用硬引數的底層共享模型很多進行多目標學習,為了解決這個問題,文章使用基於軟引數的MMoE進行學習,讓多個任務共享這些“專家”,也可以用門控網路來協調不同“專家“所起的作用。下圖是提出的多工模型

​ 一般來說,在輸入層或者隱含層之上增加”專家“層,最終可以更好地對多模態的特徵空間進行建模。但是直接加在輸入層之上,會增加模型訓練代價(因為輸入層維度相比隱含層包含更多的引數),因此文章採用”專家“層加在隱含層之上的方法。

​ 對給定的任務\(k\),
\[ \begin{aligned}y_{k} &=h^{k}\left(f^{k}(x)\right) \\\text { where } f^{k}(x) &=\sum_{i=1}^{n} g_{(i)}^{k}(x) f_{i}(x)\end{aligned} \]
對應的門控
\[ g^{k}(x)=\operatorname{softmax}\left(W_{g^{k}} x\right) \]
2.偏置消除

​ 關於選擇偏置問題,本文開頭已經介紹了,通常使用者傾向於點選顯示在頁面前面的視訊。模型的輸入被分為兩部分,主塔部分輸入為主要的特徵資訊,淺層塔輸入為和偏置有關的資訊。

​ 訓練過程,瀏覽時的位置作為輸入特徵的一部分,設定drop-out,避免過度依賴位置特徵。serving時,位置特徵設為missing。將裝置資訊會被加入到shallow tower的輸入中,是因為不同裝置上不同位置的bias是不同的。

  • discussion

具體的實驗部分可以看原論文,另外論文也提出了一些在實踐中需要考慮的問題。如

1.多模態特徵空間

2.可擴充套件性

3.效果與效率的折衷

4.模型壓縮等

references:

[1] Recommending What Video to Watch Next- A Multitask Ranking System

[2] Modeling task relationships in multi-task learning with multi-gate mixture-of- expe