你有沒有好奇過,YouTube 到底如何透過深度學習推薦影片的?

【我們為什麼挑選這篇文章】你有沒有曾經好奇過,YouTube 到底是怎麼決定推薦影片的?它背後的機器學習系統又是怎麼負荷全球用戶的個人推薦? Google 兩位軟體工程師在這篇文章中完整介紹了 YouTube 的神經網絡系統使用情況以及 算法細節。這是第一次 YouTube 演算法如此明確詳細的公開解釋,真的很值得一讀! (責任編輯:劉庭瑋)

本文經 AI 科技大本營(公眾號 ID:rgznai100)授權轉載,轉載請聯繫出處

2016 年 9 月 18 日,在波士頓舉辦的第 10 屆 ACM 推薦系統大會(ACM’s RecSys ’16)上,來自 Google 的一個研究團隊公佈了 YouTube 推薦系統的深度學習論文:Deep Neural Networks for YouTube Recommendations。

論文網址:https://research.google.com/pubs/pub45530.html

論文作者是 Google 的軟體工程師 Jay Adams 與高級軟體工程師 Paul Covington、Embre Sargin,他們 向業界展示了 YouTube 在機器學習推薦算法上的深度神經網絡使用情況。 該論文涉及到一些非常技術、非常高級的細節,但它最大的意義是為我們完整描繪了 YouTube 推薦算法的工作原理!!該論文細緻、審慎地描述了 YouTube 檢索、篩選並推薦影片時的大量細節。

算法論文解析

YouTube 工程師發佈在 ACM 上的算法論文,目標受眾顯然不是我們這些上傳影片的用戶。但為了流量,閱讀並理解該算法的內容,並讓它來為我們服務就顯得義不容辭了。接下來就看我們如何從會上傳影片用戶角度來解析這篇算法論文。

在論文公佈之前,我們上一篇分析 YouTube 算法的文章(詳見 TO 文章:《  你的孩子被設計了你知道嗎?YouTube 演算法如何讓孩子沉迷到不可自拔  》),關注的主要是觀看時長這一個因素,因為我們只能從自己上傳的影片數據中來反推 YouTube 算法的工作原理,這肯定要受限於我們影片的內容和受眾。我們之所以了解 YouTube 的算法,是因為我們解決了做影片路上碰到的這個問題:「為什麼我們的這個影片就能成功呢?」為此,我們盡最大努力來分析已有的訊息,但最初的結果並不理想。儘管我 100%支持我們的結論,但我們先前的方法存在兩大問題:

  1. 僅用影片指標的一部分來做反推,意味著我們在數據上存在巨大的盲點,畢竟我們無法訪問競爭性指標、對話指標與點擊率。
  2. 對於那些基於上傳者的指標,YouTube 算法所給的權重非常小。它更關心的是觀眾以及單個影片的指標。 換句話說,該算法並不關心你所上傳的影片,而是關心你和其他人正在看的影片。 但在我們寫最初那篇文章的時候,YouTube 或 Google 數年來都沒公佈過有關該算法的任何訊息。所以,我們只有自己動手。有了 Google 新近公佈的這篇論文,我們就可以一窺它推薦機制的究竟,並找出其中的重要指標。希望這能回答一個讓我們更為辛酸的問題,「為什麼有些影片能取得成功?」

深度學習是個無底洞

論文簡介部分最大的亮點是 YouTube 確實在用深度學習來驅動推薦算法。這種做法不新鮮,但此次確認證實了大家此前的猜測。作者在論文開頭是這樣說的:

在本論文中,我們將集中介紹深度學習對 YouTube 影片推薦系統的全面影響……跟 Google 其他領域的產品一樣,YouTube 同樣經歷了用深度學習來解決所有通用學習問題的根本性範式轉變。

這就意味著,今後人工調整算法、人工權衡這些調整併將其部署上世界最大的影片分享網站的機會將越來越少。而是 由算法即時來讀取數據、為影片排名,然後基於這些排名來推薦影片。 所以,當 YouTube 表示他們不知道算法為什麼那樣做時,有可能他們確實不知道。

兩大神經網絡

該論文以算法的基本架構作為開篇,下面是作者的圖示:

基於 YouTube 用戶的個人觀看紀錄與觀看時長,加上相似用戶的瀏覽記錄,這稱作「協同過濾」。

本質上這就是兩個大的過濾器,各自有著不同的輸入。作者寫道:

該系統由兩大神經網絡組成,一個用於生成候選視頻,一個用來對其排名。

這兩個過濾器及其輸入內容,基本上決定了用戶在 YouTubes 上能看到的每一個影片:建議你播放的下一個、推薦給你的影片列表、你所瀏覽的影片列表……

第一個過濾器是候選生成器。論文中解釋,候選是基於用戶的 YouTube 活動記錄產生的,也就是用戶的觀看歷史與觀看時長。候選生成器還會考慮相似用戶的瀏覽記錄,這一點被稱為協同過濾。相似用戶是算法透過影片 ID、搜尋關鍵詞及相關的用戶統計訊息決定出來的。

候選生成器的通過率僅為屬百分之一, 換言之,如果某個影片能從數百個中脫穎而出成為你的候選影片,它必定是跟你的觀看記錄有關,同時還有一個跟你相似的用戶已經看過它。

第二個是排名過濾器。該論文對排名過濾器進行了大量的深度解析,並列舉出不少有趣的因素。作者寫道,排名過濾器是這樣給影片排名的:

基於描述影片和用戶的豐富特徵,目標期望函數會給每個影片設定分數。根據分數排名,得分最高的影片將被展示給用戶。

由於觀看時長是 YouTube 為用戶設定的首要目標,我們只好假定這就是「目標期望函數」的意義。 因此,考慮到各種不同的用戶輸入,該分數的意義就是某影片能夠轉化成用戶觀看時長的程度。但不幸的是,事情沒有那麼簡單。根據作者透露,該算法還會考慮很多其他的因素。

我們在排名過濾器中用到了數百種特徵。

如何對影片進行排名這一塊的數學原理非常複雜。論文既沒有詳述排名過濾器所用的數百項因素,又沒有提及他們是如何加權的。但它列舉了其中的三大主要因素:瀏覽記錄、搜尋記錄、觀看人數,以及包括新鮮程度在內的其他影片元素。

每一秒鐘都有大量的影片上傳到 YouTube。向用戶推薦這些最新上傳的新鮮內容,對 YouTube 來說極其重要。我們長期觀察的結果是,用戶喜歡新鮮的內容,即便有些內容跟他的關聯程度並不大。

論文中提到的比較有趣的一點,是算法並不總會受用戶所看的上一個影片的影響,除非你的觀看記錄極其有限。

我們會優先使用用戶的隨機觀看和關鍵詞搜尋記錄,然後才會考慮上一個觀看影片的數據。

在論文後面討論影片封面圖和標題的時候,他們提到了點擊率的問題:

舉例來說,用戶有很大的機率來觀看系統推薦的影片,但不太可能基於封面圖的選擇而去點擊其主頁…… 我們最終的排名會根據實時 A/B 測試的結果不斷調整 ,它大體上就是一個用於 預測用戶觀看時長的簡單函數。

在這裡提出點擊率的問題其實並未出乎預料。為了能生成更多觀看時間,一個影片必須先讓人看到才成,其中最好的辦法就是做出一個很讚的縮略圖並相出一個很讚的標題。這讓很多影片上傳者都認為點擊率對於影片在算法中的排名極其重要。

但 YouTube 知道點擊率是可以人為衝上去的,所以他們也給出了應對之策。他們在論文中是這麼承認的:

通過點擊率進行排名往往會變相鼓勵誘導性的影片內容,用戶即便點進去也很少看完視頻,因而 觀看時長更能反映出影片的好壞。

起碼這一機制還算鼓舞人心,作者接下來寫到:

如果用戶並未觀看最近推薦的影片,頁面下一次加載時模型就會自動降低該影片的排名。

這就說明,如果用戶沒有點擊特定的影片,該算法就不再將其推薦給相似的用戶。頻道推薦的情況也一樣,論文中的證據如下:

我們觀察到的最為重要的信號是用來描述用戶此前跟某個影片及其他相似影片的交互的……舉例來說,考慮一下用戶跟某個頻道已經被算法打分過的影片的交互記錄:該頻道有多少影片被該用戶看過?該用戶觀看同類話題的上一個影片是在什麼時間?此類描述用戶過往活動的數據特別強大……

此外,該論文還指出,算法在訓練時考慮了 YouTube 影片所有的觀看方式,包括那些推薦算法觸及不到的地方:

訓練數據生成自所有觀看方式的 YouTube 影片(包括內嵌在其他網頁中的那些),而非僅用我們自己所生成推薦影片。否則,新內容將很難登上推薦榜單,而推薦系統又將過於依賴過往影片的數據。如果用戶通過內容查找到的影片不同於我們的推薦,我們就需要能迅速通過推薦系統把該發現傳播給其他用戶。

最終,這一切又回到了算法所用的觀看時間。正如我們在論文開頭所看到的,該算法在設計之初就是一個「目標期望函數」,作者總結「我們的目標就是為了預測用戶的觀看時長」,「我們最終的排名會根據實時 A/B 測試的結果不斷調整,它大體上就是一個用於預測用戶觀看時長的簡單函數。 」

這也再一次說明了影片觀看時間之於算法的重要性,該算法的目的就是為了 YouTube 網站上能有更多、更長的影片以及更多、更長的用戶觀看時間。

一個簡單的回顧

講了這麼多,讓我們簡單回顧一下:

1. YouTube 使用三個主要的觀看因素來推薦影片,它們是用戶的觀看歷史、搜尋記錄以及相關的用戶統計訊息

2. 推薦影片是透過 候選生成器 排名過濾器 的篩選出來的,這兩大過濾器決定了 YouTube 如何讀取、篩選影片,如何生成推薦列表。

3. 排名過濾器主要是基於用戶輸入的因素,其他因素還包括影片的「新鮮程度」和點擊率。

4. 推薦算法的設計初衷是持續增加用戶在 YouTube 網站的觀看時長,其方法是 持續把影片 A/B 測試的實時結果不斷反饋給神經網絡 ,從而使 YouTube 能不斷為用戶推薦它大體上就是一個用於預測用戶觀看時長的簡單函數。

YouTube 算法的實際案例

如果你還不明白,咱們就再舉一個例子

我們用一個實例來說明這個推薦系統具體是如何運作的:

比如說,小明很喜歡 YouTube,他有 YouTube 帳號相關的一切。每天瀏覽 YouTube 時,他都會在瀏覽器登錄。 一旦登錄,YouTube 便給小明此次瀏覽的內容創建三個 token:瀏覽記錄、搜尋記錄以及關於他的統計訊息。 小明可能壓根就不知道這三種數據的存在。

然後輪到候選生成器上場了。YouTube 拿這三個 token 的值跟觀看記錄類似於小明的用戶進行對比,由此篩選出小明可能會喜歡的數百個影片,過濾掉 YouTube 影片庫中數以百萬計的其他內容。

接下來,基於影片和小明的相關性,這些影片被排名算法排序。排序時該算法會考慮這樣一些問題:小明有多大的可能會打開這個影片?這個影片有沒有可能讓小明在 YouTube 上打發更多時間?這個影片的新鮮程度如何?小明最近在 YouTube 上的活動程度如何?還有數百個其他的問題。

經過 YouTube 算法的讀取、篩选和推薦後,排名最高的影片將被推薦給小明。之後小明看與不看的選擇數據都會反饋給神經網絡,以供算法後續使用。影片被點開,並吸引小明在 YouTube 上打發更多時間的目標,則一直持續下去。那些小明沒有點開的推薦影片,等他下次登錄網站時則有可能通不過候選生成器。

總結

Deep Neural Networks for YouTube Recommendations 這篇論文讀起來很棒,它第一次讓人從源頭直擊 YouTube 推薦算法的內幕!!我們希望能接觸到更多的論文,以便在為這個平台製作內容的時候能做出更好的選擇。這也是願意花時間來寫這些內容的根本原因。畢竟,更適合該平台的內容就意味著更多的瀏覽量、更高的收入,從而讓我們能有更多的資源來為數以十億計的用戶製作出品質更高、更有吸引力的內容。

(本文經 AI 科技大本營    授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈原來 YouTube 推薦系統的內幕是這樣……〉。)

延伸閱讀

其實我們都被綁架了!Google 前核心設計師力譴:YouTube、臉書毫無道德得讓我們成癮
你的孩子被設計了你知道嗎?YouTube 演算法如何讓孩子沉迷到不可自拔
【再也不能把 YouTube 轉成 MP3】產出全球 40% 盜版音樂!最大音樂翻錄網站 YouTube-MP3 死掉了
21 世紀最強訊息監控者:Youtube 用 AI 清理暴力影片,速度快人類 2 倍


《TO》品牌活動「CONNECT」登場!

本周主打「Marketing Intelligance」專題,看企業如何激發數據無限錢力! 馬上報名 獲取最新深度報導。    

點關鍵字看更多相關文章: