在最近由Google研究人員發佈並在RecSys 2019(丹麥哥本哈根)上發表的論文[ 1 ]中,提供了關於他們的視頻平台Youtube如何推薦觀看哪些視頻的見解。在閱讀這篇文章後,我將嘗試總結我的發現。

問題

當用戶在Youtube上觀看視頻時,將顯示用戶可能會按特定順序喜歡的推薦視頻列表。本文着重於兩個目標:
1)需要優化不同的目標;尚未定義確切的目標功能,但將目標分為參與度目標(點擊次數,時間花費)和滿意度目標(喜歡率,解僱率)。
2)減少由於位置而使用戶隱式引入的選擇偏見,即使排名較低的視頻可能會帶來更高的參與度和滿意度,但由於該位置,用戶更有可能點擊第一個推薦。

如何有效地學習減少這種偏見是一個懸而未決的問題。

方法

模型的完整架構
圖1:模型的完整架構

本文中描述的模型着重於兩個主要目標。寬而深[ 2使用的模型架構結合了寬模型線性模型(記憶)和深層神經網絡(泛化)的功能。廣泛和深入的模型將為每個定義的目標(參與度和滿意度)生成預測。將目標歸類為二進制分類問題(即,是否喜歡視頻)和回歸問題(即,視頻的等級)。在此模型的頂部添加了一個單獨的排名模型。這只是作為不同預測目標的輸出向量的加權組合。手動調整這些權重以實現不同目標的最佳性能。提出了先進的方法,例如成對或成對的方法來提高性能,但是由於增加了計算時間,因此無法實現生產。

圖2:用MMoE替換共享底層
圖2:用MMoE替換共享底層

寬和深模型的深層部分是多門專家混合(MMoE)[ 3]模型被採用。輸入當前視頻的功能(內容,標題,主題,上傳時間等)和正在觀看的用戶(時間,用戶個人資料等)。MMoE模型背後的概念基於有效地共享不同目標的權重。共享的底層分為多個專家,所有專家都用於預測不同的目標。每個目標都有一個門功能。此選通功能是softmax功能,具有原始共享層和不同專家層的輸入。該softmax函數將確定哪些專家層對於不同目標很重要。如圖3所示,不同的專家對於不同的目標更為重要。

圖3:專家在YouTube上多項任務的利用情況
圖3:專家在YouTube上多項任務的利用情況

該模型的主要部分集中於減少推薦視頻位置所引入的系統選擇偏差。這個較寬的部分被稱為「淺塔」,它可以是簡單的線性模型,它使用簡單的功能(例如單擊位置視頻和用於觀看視頻的設備)。淺塔的輸出與MMoE模型的輸出相結合,後者是Wide&Deep模型體系結構的關鍵組成部分。這樣,模型將更加專註於視頻的位置。在訓練期間,使用10%的輟學率來防止位置特徵在模型中變得太重要。如果您不使用Wide&Deep架構,而是將位置添加為單個要素,則該模型可能根本不關注該要素。

結果

本文的結果表明,用MMoE替換共享底層可以提高模型的參與度(觀看推薦視頻所花費的時間)和滿意度(調查響應)的性能。MMoE專家的數量和乘法運算的增加進一步提高了模型的性能。由於計算限制,無法在實時設置中增加此數字。

進一步的結果表明,通過減少由於使用淺塔而導致的選擇偏差,可以提高接合度。與僅在MMoE模型中添加輸入功能相比,這是一個重大改進。

有趣的話

  • 儘管Google擁有強大的計算基礎架構,但在培訓和服務成本方面仍需謹慎。
  • 通過使用廣泛而深入的模型,您可以設計一個預定義對您而言很重要的功能的網絡。
  • 當您需要具有多目標的模型時,MMoE模型會非常有效。
  • 即使具有強大而複雜的模型架構,人類仍在手動調整最後一層的權重,以根據不同的客觀預測確定實際排名。

關於作者

Tim Elfrink是荷蘭數據科學諮詢公司Vantage AI的數據科學家。如果您需要幫助為數據創建機器學習模型,請隨時通過info@vantage-ai.com與我們聯繫。

資源

[1]原始論文:https//dl.acm.org/citation.cfm?id = 3346997
[2]深度學習的工作原理說明:https//ai.googleblog.com/2016/06/wide- deep-learning-better-together-with.html
[3]帶有視頻的MMoE解釋:https ://www.kdd.org/kdd2018/accepted-papers/view/modeling-task-relationships-in-multi-task- 多門混合學習

本文轉自 medium,原文地址