YouTube的推薦系統是是世界上規(guī)模最大,、最復雜的推薦系統之一,。最近Google的研究人員公布了他們投到今年ACM會議的一篇文章,詳細介紹了他們最近利用深度神經網絡實現YouTube推薦系統的技術細節(jié),。相關會議也會將于本月15號至19號在美國波士頓召開,。 YouTube的全球用戶已經超過十億,,每秒上傳的視頻長度以小時計。 視頻“語料”庫存日益增長,,就需要一個推薦系統及時,、準確地將用戶感興趣的視頻不斷推薦給用戶。 相比其他商業(yè)推薦系統,,Youtube推薦系統面臨三個主要的挑戰(zhàn):
因此YouTube推薦引擎很難獲得用戶滿意度的真實信息,,取而代之的是使用帶有噪聲的反饋信號建模分析,。 此外,與視頻內容相關的元數據通常結構不良,、沒有明確定義的本體,,這也對推薦算法的魯棒性很有挑戰(zhàn)。 YouTube網頁推薦效果示意圖:
整個模型的深度網絡配置大概需要學習十億個參數,,并且使用了數千億的數據進行訓練。 YouTube推薦系統主要由兩個深度神經網絡組成: 第一個神經網絡用來生成候選視頻列表,; 第二個神經網絡用來對輸入視頻列表打分排名,,以便將排名靠前的視頻推薦給用戶。 候選視頻生成是依靠協同過濾算法產生一個寬泛的針對用戶的個性化推薦候選名單,。排名神經網絡是基于第一個候選生成網絡的列表,,提供更精細的區(qū)分細化,從來達到較高的推薦命中率。通過定義目標函數來提供一系列描述視頻和用戶的特征,,排名網絡則根據目標函數來給每一個視頻打分,。分數最高的一組視頻就被推薦給用戶。 兩級推薦系統的好處是可以處理海量(百萬量級)視頻,,且保證推薦給用戶的視頻是個性化的或者有吸引力的,。 此外,這種分級設計可以使用其他來源產生的候選視頻,,而不必完全依賴于來自第一個神經網絡的輸出,。 推薦系統在開發(fā)和訓練階段也和其他深度學習技術一樣,采用了各種量化指標,,如準確率,、覆蓋率、排名損耗等等,。但是為了最終確定算法或者模型的有效性,,Google團隊還采用了A/B測試。通過A/B測試,,可以衡量例如鼠標點擊率、觀看時間以及其他量化指標的微妙變化和聯系,。這一點相當重要,,因為很多時候A/B測試跟離線實驗并不相關。 在候選生成階段,,針對每個用戶,,上百個相關的視頻從YouTube的視頻語料庫中被選出。推薦過程可以看作是基于排名損失的矩陣分解,。Youtube推薦系統早期的迭代是使用淺神經網路,,根據用戶觀看記錄,模仿矩陣分解的過程,。 現在的手段則可以看作是矩陣分解的非線性實現,。 實際上目前很常用的基于協同過濾的推薦算法,本質上就是針對高維度的輸入數據進行矩陣分解,。而YouTube推薦系統中的候選推薦生成網絡,,恰好高效準確的模擬出矩陣分解的非線性實現了。這也恰好體現了深度學習在實際工程應用里的普適性,。 至于為什么很多視頻網站尚未采用深度學習推薦算法,,而Google卻如此著急地在任何需要機器學習的應用場合都嘗試深度學習,想必原因也是一目了然:很多人可能認為:“深度學習只是一個噱頭,,沒有什么實質性的幫助“,,而YouTube推薦系統的工程師以行動代替說辭:“因為我能”。 玩笑而已,不要忘了上文提到的研發(fā)背景:常規(guī)推薦算法無法及時地分析處理YouTube量級的視頻并準確地針對獨立用戶作出推薦,。YouTube推薦系統的團隊其實是利用深度學習解決了這一海量視頻分析推薦的痛點,。相信其他視頻網站即使業(yè)務量比YouTube略小,類似的痛點一定也存在,。 以分類方式進行推薦: YouTube推薦系統中的推薦過程被當作極多種類的分類來處理,。模型中含有幾百萬個種類,要從中選出N個視頻,,整個過程僅耗時幾十微秒,。 模型架構: 受NLP中連續(xù)詞包的啟發(fā),推薦系統在固定詞匯表里獲取每個視頻的高維嵌入,,再將這些嵌入輸入進一個前向傳輸神經網絡,。嵌入是通過其他網絡參數共同學習的,通過正常的梯度下降后向傳輸來更新模型參數,。 異質信號: 使用深度神經網路來實現矩陣分解一般功能的關鍵好處之一是:任意連續(xù)的特征和分類特征都可以隨時加進模型中,。搜索歷史與觀看歷史同樣處理——每一個查詢用單字組和雙字組標記,每一個標記都被嵌入,。 嵌入后的用戶查詢代表了總結過的密集搜索歷史記錄,。人口分布信息則為新用戶推薦提供先驗信息。用戶的地理位置和設備信息都嵌入并鏈接在一起,。 標簽與上下文選擇: 自然的視頻消費模式一般會導致非對稱的共同觀看概率,。 針對特征與網絡深度的實驗: 增加特征和網絡深度會顯著改善推薦系統性能。 排名神經網絡的主要作用就是根據印象數據,,針對特定用戶定制和校準推薦,。采用了預期觀看時間建模測試推薦效果,正對隱藏層的實驗表明:更深更寬的ReLU層顯著減小了錯誤預測的比例,。 YouTube推薦系統被分成兩部分來處理兩個截然不同的問題:候選生成和排名,。這種深度協同過濾可以有效的吸收多種信號,并且通過深層網絡對信號間的相互作用建模學習,。 候選生成網絡的性能優(yōu)化可以從離線量化測試和在線A/B測試看出,。排名網絡的性能提升,相比之前線性或樹狀方法,,對觀看時長的預測更為準確,。深度網絡能供有效針對上百種特征間的非線性相互作用建模分析。 對數回歸被稍作修改:用于訓練的正面例子以觀看時間加權,,反面例子被設為單元值,。這種方法相比于直接預測點擊率能更準確的基于觀看時間加權排名評估指標。 大數據雜談 ID:BigdataTina2016 |
|