最近陸續(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所示。

首先將不同的預(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)所示。

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ù) ,預(yù)測輸出為
,最后一層hidden layer
,含有n個experts的MMoE層的輸出
可以寫作:
此處是hidden layer輸出的低階embedding,
是任務(wù)
的gating network,
,
是
個gating入口,
是第
個expert. 這里的gating network是簡單的線性函數(shù)加上softmax層:
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)系。

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.