Recommending What Video to Watch Next: A Multitask Ranking System

最近陸續(xù)把一些文章搬到微信公眾號上,之后的更新也會在公眾號上同步進(jìn)行. 歡迎搜索:DeepCTR

論文地址:https://dl.acm.org/doi/10.1145/3298689.3346997

前言

這篇論文介紹了一個多目標(biāo)(multi-object)推薦排序系統(tǒng),用于YouTube中給用戶推薦下一個要觀看的視頻。該系統(tǒng)面臨許多實際的困難,如多種排序目標(biāo)的中和,用戶反饋中的隱式選擇偏差(select bias)等。為了解決這些問題,我們使用了多種軟參數(shù)共享(soft-parameters sharing)技術(shù),如Multi-gate Mixture-of-Experts來高效地優(yōu)化多個排序目標(biāo)。除此之外,還使用了類似Wide&Deep的結(jié)構(gòu)來解決選擇偏差問題。

I. 簡介

本篇論文的應(yīng)用場景是給定用戶正在觀看的視頻,來推薦該用戶下一個想要看的視頻。典型的推薦系統(tǒng)往往遵循著兩步走的結(jié)構(gòu) ,即候選集生成(candidatie generation)和排序(ranking),這里可以參考我之前的文章:入門必讀:YouTube深度推薦系統(tǒng)。本篇論文主要著重于排序階段。在該階段,推薦系統(tǒng)將使用相對復(fù)雜的模型,對數(shù)百個視頻組成的候選集進(jìn)行打分,并根據(jù)打分排序為用戶推薦視頻。

該推薦系統(tǒng)面臨的主要挑戰(zhàn)有:

  • 需要優(yōu)化的不同目標(biāo)之間可能存在沖突。比如說,除了給用戶推薦他/她想看的視頻,我們還希望用戶可以對視頻評高分并與朋友分享,這些目標(biāo)并不是完全一致的。
  • 推薦系統(tǒng)中的隱式偏差經(jīng)常存在。比如用戶更傾向于點擊排在更前面的視頻,但這些視頻往往不是用戶最感興趣的。因此用現(xiàn)有的數(shù)據(jù)訓(xùn)練出來的模型將會有偏差,造成反饋循環(huán)(feedback loop) 效應(yīng)。

為了解決以上困難,論文提出了一個用于排序系統(tǒng)的多任務(wù)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。


圖1 多目標(biāo)推薦系統(tǒng)架構(gòu)。使用用戶日志作為訓(xùn)練數(shù)據(jù),構(gòu)建了Multi-gate Mixture-of-Experts層來預(yù)測用戶行為的兩個類別,即engagement和satisfaction。該結(jié)構(gòu)使用side-tower結(jié)構(gòu)修正了排序中的選擇偏差。在最頂部,不同的預(yù)測輸出被結(jié)合和起來產(chǎn)出最終的排序分。

首先將不同的預(yù)測目標(biāo)歸為兩類:

  • 參與度(engaement)目標(biāo),如用戶點擊,觀看視頻等;
  • 滿意度(satistaction)目標(biāo),如用戶喜歡了某個視頻,并留下評論等。

為了學(xué)習(xí)和估計不同類型的用戶行為,論文中使用了MMoE[1]來自動學(xué)習(xí)所有可能沖突的目標(biāo)之間的參數(shù)共享。MMoE模型可以將輸入層進(jìn)行建模成不同的專家層(expert layer),對輸入層的不同方面進(jìn)行學(xué)習(xí),這提升了模型從復(fù)雜特征空間學(xué)習(xí)表達(dá)的能力。通過使用不同的gating networks,每一個預(yù)測目標(biāo)都可以選擇不同的experts的輸出進(jìn)行共享。
為了解決訓(xùn)練數(shù)據(jù)帶來的選擇偏差(如位置偏差),我們在主模型的基礎(chǔ)上增加了一路shallow tower,如圖1中的左側(cè)所示。Shallow tower采用與選擇偏差有關(guān)的數(shù)據(jù)作為輸入,輸出一個標(biāo)量,serving時作為主模型最終預(yù)測的偏置項。這一模型將訓(xùn)練數(shù)據(jù)中的標(biāo)簽拆解為兩部分:即由主模型學(xué)習(xí)的非偏差的用戶行為,以及由shallow tower學(xué)習(xí)的帶有偏差的分?jǐn)?shù)。這一模型可以看做是Wide&Deep模型的延伸,這里shallow tower就代表了Wide的部分。

II. 模型結(jié)構(gòu)

2.1 系統(tǒng)架構(gòu)

本文所介紹的排序系統(tǒng)學(xué)習(xí)兩種類型的用戶反饋:參與行為(engagement behaviors)和滿意度行為(satisfaction behavior),參與行為包括點擊,觀看等;滿意度行為包括喜歡,關(guān)注,取關(guān)等。系統(tǒng)會根據(jù)用戶行為特征,搜索歷史,上下文特征等,來預(yù)測前述的兩種不同的用戶反饋。

2.2 排序目標(biāo)

總體來說,預(yù)測目標(biāo)有兩類,即2.1節(jié)介紹的參與目標(biāo)和滿意度目標(biāo)。這兩種目標(biāo)每個都包含了兩種預(yù)測任務(wù):二元分類(binary classification)和回歸(regression),其中二元分類任務(wù)用于點擊率預(yù)測等,回歸任務(wù)用于觀看時長,用戶評分等預(yù)測。

為了預(yù)測多種目標(biāo),需要訓(xùn)練一個多任務(wù)的排序模型。對于每個candidate,模型將不同目標(biāo)的預(yù)測結(jié)果使用不同的權(quán)重整合起來,計算出一個分?jǐn)?shù),來決定最終的視頻排序結(jié)果。

2.3 多任務(wù)關(guān)系建模以及MMoE

多目標(biāo)排序系統(tǒng)通常會使用一種底層共享的結(jié)構(gòu),如圖2 (a)所示。但這種硬參數(shù)共享(hard-parameters sharing)的模式會對多目標(biāo)的學(xué)習(xí)不利,尤其是在兩個任務(wù)之間的關(guān)聯(lián)不大的情況。為了解決這一問題,論文采用了Multi-gate Mixture-of-Experts(MMoE)的模型[1],如圖2(b)所示。

圖2 底層共享網(wǎng)絡(luò)與MMoE

MMoE模型是一個軟參數(shù)共享(soft-parameters sharing)結(jié)構(gòu),能夠更好的處理多個任務(wù)間的沖突問題。MMoE改進(jìn)了Mixture-of-Expert(MoE)結(jié)構(gòu),允許不同的expert layers間共享參數(shù),并且使用不同的gating network來控制每一個模型。MMoE在處理不同任務(wù)時,與底層參數(shù)共享模型相比并不會顯著增加網(wǎng)絡(luò)參數(shù),其主要變化就是用MoE層來代替ReLu層,并為每個任務(wù)增加單獨的gating network。

本論文中的排序系統(tǒng)在共享的隱藏層之上增加了expert layer,如圖2(b)所示。這是因為使用MoE層用在hidden layer或input layer之上更好的對多模態(tài)(multimodal)的特征空間進(jìn)行建模。之所以不在輸入層上直接使用MoE,是因為輸入層維度通常很大,使用MoE會使模型的serving性能下降。

Export layer采用了典型的MLP+ReLu結(jié)構(gòu)。給定任務(wù)k ,預(yù)測輸出為y_k,最后一層hidden layer h^k,含有n個experts的MMoE層的輸出f^k(x)可以寫作:
y_k = h^k(f^k(x)), where \, f^k(x) =\sum_{i=1}^n{g^k_{(i)}(x)f_i(x)}\tag1
此處x\in\mathbb{R^d}是hidden layer輸出的低階embedding,g^k是任務(wù)k的gating network,g^k \in \mathbb R^ng^k_{(i)}i個gating入口,f_i(x)是第i個expert. 這里的gating network是簡單的線性函數(shù)加上softmax層:
g^k(x)=softmax(W_{g^k}x) \tag2

2.4 消除選擇偏差

復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型可以使用大量的用戶隱式反饋(implicit feedback)來訓(xùn)練排序模型。但由于隱式反饋來源于真實推薦系統(tǒng)的數(shù)據(jù),因此往往是帶有偏差的,如位置偏差等。在視頻推薦系統(tǒng)中,用戶會傾向于點擊觀看排名靠前的視頻,而不是他們真正喜歡的視頻。消除這類位置偏差有助于打破反饋循環(huán),提升模型效果。

論文采用的結(jié)構(gòu)類似于Wide&Deep,將模型預(yù)測拆分成user-utility和bias component兩部分,分別通過main tower和shallow tower來學(xué)習(xí)。Shallow tower專門使用了與選擇偏差有關(guān)的特征來訓(xùn)練,并加入到主模型最終預(yù)測的logit上作為偏置項,如圖3所示。這里采用設(shè)備信息(device info)的原因是位置偏差與用戶使用的設(shè)備也有很大關(guān)系。

圖3 使用shallow tower來學(xué)習(xí)選擇偏差

IV. 總結(jié)

本論文提出了一個多目標(biāo)排序系統(tǒng),并將其應(yīng)用于為用戶推薦下一個視頻。為了優(yōu)化多中排序目標(biāo),模型采用了MMoE結(jié)構(gòu),并使用了軟參數(shù)共享的方式對多目標(biāo)進(jìn)行學(xué)習(xí)。同時,模型還加入了一個輕量級的shallow tower結(jié)構(gòu),專門用來消除推薦中的選擇偏差問題,尤其是位置偏差。

參考資料
[1] Jiaqi Ma, Zhe Zhao, Xinyang Yi, Jilin Chen, Lichan Hong, and Ed H Chi. 2018.
Modeling task relationships in multi-task learning with multi-gate mixture-of?experts. In Proceedings of the 24th ACM SIGKDD International Conference on
Knowledge Discovery & Data Mining. ACM, 1930–1939.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容