你以為Youtube還只是個簡單的視頻網(wǎng)站?
YouTube所使用的推薦系統(tǒng)是現(xiàn)在最大規(guī)模的、最先進(jìn)的業(yè)界的推薦系統(tǒng)之一。在這篇論文中,我們在較高層面上描述這個系統(tǒng),并重點(diǎn)關(guān)注了深度學(xué)習(xí)所帶來的巨大的性能提升。
本論文根據(jù)典型的兩階段信息檢索的二分法(two-stage information retrieval dichotomy)分為兩部分:首先,我們詳細(xì)描述了一種深度候選生成模型(deep candidate generation model),接著描述了一種分離的深度排名模型(deep ranking model)。通過設(shè)計(jì)、迭代、維護(hù)一個帶有巨量面向用戶的影響的巨型推薦系統(tǒng),我們還提供了實(shí)用的經(jīng)驗(yàn)教訓(xùn)和見解。
系統(tǒng)概述
我們的推薦系統(tǒng)的整體結(jié)構(gòu)如圖2所示。系統(tǒng)由兩個神經(jīng)網(wǎng)絡(luò)組成:一個用于候選生成,一個用于排名。其中候選生成網(wǎng)絡(luò)從用戶的YouTube活動歷史中提取事件作為輸入,然后從一個大的視頻庫中檢索出一個小數(shù)據(jù)集(上百個視頻)。這些候選被認(rèn)為通常與用戶有很精準(zhǔn)的相關(guān)性。這個候選生成網(wǎng)絡(luò)僅通過協(xié)同過濾(collaborative filtering)提供廣泛的個性化。用戶之間的相似性可以通過粗粒度特征(例如視頻觀看的ID、搜索查詢單詞以及人口特征統(tǒng)計(jì))表達(dá)。
一個推薦列表中出現(xiàn)的一些「最好」的推薦需要一種良好的表征,以在具有高召回率(recall)的候選集中區(qū)分相對的重要性。排名網(wǎng)絡(luò)通過使用一個描述視頻與用戶的特征集合的期望目標(biāo)函數(shù)來給每個視頻打分,從而完成排名的任務(wù)。根據(jù)它們的得分,然后將最高分的視頻展現(xiàn)給用戶。
兩階段的推薦方法允許我們從一個很大(數(shù)百萬)的語料庫中進(jìn)行推薦,與此同時還仍有在設(shè)備上出現(xiàn)的少量視頻是個性化的吸引用戶的內(nèi)容。此外,這個設(shè)計(jì)能夠和其他源生成的候選進(jìn)行混合,例如在這一項(xiàng)早期工作[3]中描述的。
在開發(fā)過程中,我們廣泛地使用了非網(wǎng)絡(luò)的指標(biāo)(準(zhǔn)確度、召回率、ranking loss)來引導(dǎo)我們的系統(tǒng)的迭代改進(jìn)。然而,為了最終測定一個算法或模型的效果,我們依靠于通過實(shí)時實(shí)驗(yàn)進(jìn)行A/B測試。在一個實(shí)時實(shí)驗(yàn)中,我們能度量在點(diǎn)擊率、觀看時間與許多度量用戶參與度的指標(biāo)中不易察覺的變化。這是非常重要的,因?yàn)閷?shí)時A/B測試結(jié)果不總是與離線實(shí)驗(yàn)有相關(guān)性。
圖2:推薦系統(tǒng)架構(gòu):候選視頻通過「漏斗」?fàn)畹牧鞒虖拇罅恳曨l中被檢索出來并進(jìn)行排名,然后再將其中一小部分展示給用戶。
圖3:深度候選生成模型架構(gòu):嵌入的稀疏特征是和稠密特征連結(jié)在一起的。在級聯(lián)(concatenation)將可變大小的稀疏ID轉(zhuǎn)換成適合隱藏層輸入的固定寬度的向量之前,嵌入被取了平均。所有隱藏層是全連接的。在訓(xùn)練中,使用取樣的softmax的輸出之上的梯度下降對交叉熵?fù)p失進(jìn)行最小化。在服務(wù)中,用一個近似最近鄰(approximate nearest neighbor)查詢生成數(shù)以百計(jì)的候選視頻推薦。
圖4:對于一個給定的視頻,模型用樣本年齡(example age)作為一個特征訓(xùn)練,能夠精準(zhǔn)表達(dá)出數(shù)據(jù)中的上傳時間和依賴時間的受歡迎程度。如果沒有這一特征,該模型會在訓(xùn)練窗口近似地預(yù)測平均似然(average likelihood)。
圖5:給模型選擇標(biāo)簽和輸入上下文對離線評估來說很有挑戰(zhàn)性,但是對實(shí)時性能有巨大的影響。如圖,實(shí)心圓點(diǎn)?是網(wǎng)絡(luò)的輸入特征,空心圓點(diǎn)?是被去除的。我們發(fā)現(xiàn)在A/B測試上預(yù)測未來觀看(5b)的表現(xiàn)更好。如5b所示,樣本年齡表示為tmax ? tN,其中tmax是訓(xùn)練數(shù)據(jù)中的最大觀測時間。
圖6:描繪了嵌入的分類特征(包括一價特征和多價特征)的深度排名系統(tǒng)架構(gòu),這些特征帶有共享的嵌入和規(guī)范化的連續(xù)特征的乘冪。所有層都是全連接的。在實(shí)踐中,需要給網(wǎng)絡(luò)饋送數(shù)百個特征。
結(jié)論
我們描述了我們用于推薦YouTube視頻的深度神經(jīng)網(wǎng)絡(luò)架構(gòu),劃分為兩個不同的問題:候選生成與排名。
我們的深度協(xié)同過濾模型能夠吸收很多信號并使用深度的層對它們的交互進(jìn)行建模,其性能優(yōu)于YouTube原來使用的矩陣分解方法。比起科學(xué),選擇推薦的代理問題(surrogate problem)更像是一門藝術(shù);而且我們發(fā)現(xiàn)通過獲取不對稱的聯(lián)合觀看行為(co-watch behavior)和預(yù)防未來信息的泄露,對未來觀看的分類可以在實(shí)時評估中表現(xiàn)良好。抑制來自分類器的判別信號也是獲得好的結(jié)果的關(guān)鍵,否則模型將會對代理問題過擬合,不能很好地轉(zhuǎn)換到主頁。
我們發(fā)現(xiàn)使用訓(xùn)練樣本的年齡作為輸入特征,移除了相對于過去的固有偏差(bias),并允許模型表達(dá)受歡迎視頻的時間依賴行為。這種改進(jìn)的離線保持了精確率,同時在A/B測試中顯著地增加了最近上傳視頻的觀看時間。
排名是更經(jīng)典的機(jī)器學(xué)習(xí)問題,但是我們深度學(xué)習(xí)方法在性能上超過了之前對觀看時間預(yù)測的線性與基于樹的方法。推薦系統(tǒng)尤其受益于用戶過去和事物之間的行為這樣專門的特征。深度神經(jīng)網(wǎng)絡(luò)需要對類別和連續(xù)特征的特殊表征,我們對其分別使用嵌入與分位數(shù)標(biāo)準(zhǔn)化(quantile normalization)進(jìn)行變換。我們發(fā)現(xiàn)深度的層可以有效地對數(shù)百個特征的非線性交互建模。
邏輯回歸(Logistic regression)根據(jù)給訓(xùn)練樣本賦予權(quán)重進(jìn)行修改,其中給觀看時間正樣本,沒有觀看的是負(fù)樣本,從而讓我們可以學(xué)習(xí)接近模型預(yù)期觀看時間的幾率。這種方式相比于直接預(yù)測點(diǎn)擊率,可以在觀看時間權(quán)重排名評估指標(biāo)上表現(xiàn)得遠(yuǎn)遠(yuǎn)更好。