YouTube視訊推薦系統為什麼那麼強?看了這篇文章你就知道了
選自Medium
作者:Tim Elfrink
機器之心編譯
參與:張倩
作為全球主流的視訊平臺,谷歌旗下視訊網站 YouTube 的成功離不開精準的視訊推薦系統。YouTube 的推薦系統有何亮點?他們解決了哪些問題?在一篇 RecSys 2019 論文中,谷歌研究者對這些問題做出瞭解釋。來自荷蘭的一位資料科學家對論文的內容進行了總結。
論文地址:https://dl.acm.org/citation.cfm?id=3346997
Youtube 的推薦系統解決了什麼問題?
在 Youtube 上觀看視訊時,頁面上會展示使用者可能喜歡的視訊推薦列表。該論文聚焦於以下兩大目標:
1)需要優化不用的目標。他們沒有定義確切的目標函式,而是將目標函式分為「參與度」(點選量、花的時間)目標和「滿意度」(點贊量、踩的量)目標;
2)減少系統引入的「選擇偏見」:使用者通常更傾向於點開排在第一位的推薦視訊,儘管後面的視訊可能參與度、滿意度更高。如何高效地減少這些偏見是一個亟待解決的問題。
用什麼方法解決?
圖 1:模型的完整架構。
論文中介紹的模型著眼於兩個主要的目標。他們用到了一個
寬度&深度模型框架
。寬度模型擁有強大的記憶能力,深度神經網路擁有泛化能力,寬度&深度模型則綜合了二者的優點。寬度&深度模型會為每一個定義的(參與度和滿意度)目標生成一個預測。這些目標函式可以分為二分類問題(是否喜歡某個視訊)和迴歸問題(為視訊評級)。這一模型之上還有一個單獨的排序模型。這只是一個輸出向量的加權組合,它們是不同的預測目標。這些權重是手動調整的,以實現不同目標的最佳效能。此外,研究者還提出了結對、列表等先進的方法,以提升模型的效能,但由於計算時間的增加,這些方法沒有被應用到生產中。
圖 2:用 MMoE 替換 shared-bottom 層。
在寬度&深度模型的深層部分,研究者利用了一個多工學習模型 MMoE。現有視訊的特徵(內容、標題、話題、上傳時間等)以及正在觀看的使用者的資訊(時間、使用者配置檔案等)被用作輸入。MMoE 模型可以在不同的目標之間高效地共享權重。共享的底層(shared bottom layer)被分為多個專家層,用於預測不同的目標。每個目標函式都有一個門函式(gate function)。這個門函式是一個 softmax 函式,接收來自原始共享層和不同專家層的輸入。該 softmax 函式將決定哪些專家層對於不同的目標函式是重要的。如下圖 3 所示,不同的專家層對於不同目標的重要程度存在差別。如果與 shared-bottom 架構相比,不同的目標相關度更低,則 MMoE 模型中的訓練受到的影響更小。
圖 3:在 Youtube 多個任務中的專家層應用情況。
該模型的寬度部分致力於解決系統中由視訊位置帶來的選擇偏見問題。研究者將該部分稱為「淺塔」(shallow tower),它可以是一種簡單的線性模型,使用簡單的特徵,如視訊被點選時所處的位置、使用者觀看視訊使用的裝置等。「淺塔」的輸出與 MMoE 模型的輸出相結合,這也是寬度&深度模型架構的關鍵組成部分。
如此一來,模型將更加關注視訊的位置。在訓練過程中,dropout 率被定為 10%,以防止位置特徵在模型中變得過於重要。如果不用寬度&深度模型,而是將位置新增為一個特徵,模型可能根本就不會注意到這個特徵。
結果
該論文的結果表明,用 MMoE 替換 shared-bottom 層可以在參與度(觀看推薦視訊花費的時間)和滿意度(調查反饋)兩個目標中提升模型的效能。增加 MMoE 中的專家層數量和乘法的數量可以進一步提升模型的效能。但由於計算上的限制,現實部署中無法實現這一點。
表 1:MMoE 模型的 YouTube 實時實驗結果。
進一步的研究結果表明,參與度度量可以通過使用「淺塔」降低選擇偏見來加以改進。與只在 MMoE 模型中新增特徵相比,這是一項顯著的改進。
表 2:建模視訊位置偏見的 YouTube 實時實驗結果。
有趣之處
- 儘管 Google 擁有強大的計算基礎設施,但在訓練和成本方面仍然非常謹慎;
- 通過使用深度&寬度模型,你可以在設計網路時預定義一些重要特徵;
- 當你需要多目標模型時,MMoE 模型會非常有效;
- 即使具有強大而複雜的模型架構,大家仍在手動調整最後一層的權重,從而根據不同的客觀預測確定實際排名。
原文連結:
https://medium.com/vantageai/how-youtube-is-recommending-your-next-video-7e5f1a6bd6d9
https://www.toutiao.com/i6747512998723584525/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2660343/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 簡訊介面怎麼對接?看完這篇文章你就知道了!
- 想理解JVM看了這篇文章,就知道了!(一)JVM
- 為什麼開發一款作業系統就那麼難?作業系統
- 音視訊開發:為什麼推薦使用Jetpack CameraX?Jetpack
- 推薦那麼準,除了模型,還有什麼。。。模型
- 雲原生技術是什麼?看完這篇文章你就懂了
- YouTube視訊的推薦演算法演算法
- 為什麼主流APP的推薦總能符合你口味?推薦系統瞭解一下APP
- 為什麼IDEA不推薦你使用@Autowired ?Idea
- 破解 YouTube 的視訊推薦演算法演算法
- 如何破解YouTube視訊推薦演算法演算法
- 為什麼 Django 後臺管理系統那麼“醜”?Django
- 原來YouTube推薦系統的內幕是這樣……
- 為什麼你要使用這麼強大的分散式訊息中介軟體——kafka分散式Kafka
- 為什麼那麼多人要學Java?這三個原因告訴你Java
- 推薦系統一——深入理解YouTube推薦系統演算法演算法
- 我為什麼不再推薦RxJavaRxJava
- 《推薦系統學習》之推薦系統那點事
- 同是容器管理系統,Kubernetes為什麼那麼火?
- 雲伺服器可以用來幹什麼?瞭解了這4點你就知道了伺服器
- 自媒體選什麼領域最掙錢?看完這組資料你就知道了!
- Java面試題:你知道Spring的IOC嗎?那麼,它為什麼這麼重要呢?Java面試題Spring
- Python那麼火,我只推薦這兩本書Python
- Redis為什麼那麼快?Redis
- 我為什麼推薦Nuxt3UX
- 為什麼java不推薦使用vectorJava
- 認證計費系統是什麼?不妨看看這篇文章
- MySQL查詢為什麼沒走索引?這篇文章帶你全面解析MySql索引
- 3.4 神經網路為什麼這麼強神經網路
- 人人學Python,為什麼就業拿高薪的那麼少?Python就業高薪
- 為什麼Python這麼火,就業前景如何?Python就業
- 推薦系統的那點事
- react router為什麼推薦使用browserHistory而不推薦hashHistory?React
- 【BERT】你儲存的BERT模型為什麼那麼大?模型
- QuestMobile:為什麼說小米不行了?看看流量資料就知道了
- 「推薦系統」 領域的最新進展你知道麼?
- Kafka為什麼速度那麼快?Kafka
- 人工智慧為什麼那麼火 Python就業薪資怎麼樣人工智慧Python就業