摘要
YouTube所使用的推薦系統(tǒng)是現(xiàn)在最大規(guī)模的、最先進(jìn)的業(yè)界的推薦系統(tǒng)之一。在這篇論文中,我們在較高層面上描述這個(gè)系統(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ù)一個(gè)帶有巨量面向用戶的影響的巨型推薦系統(tǒng),我們還提供了實(shí)用的經(jīng)驗(yàn)教訓(xùn)和見解。
系統(tǒng)概述
我們的推薦系統(tǒng)的整體結(jié)構(gòu)如圖2所示。系統(tǒng)由兩個(gè)神經(jīng)網(wǎng)絡(luò)組成:一個(gè)用于候選生成,一個(gè)用于排名。其中候選生成網(wǎng)絡(luò)從用戶的YouTube活動(dòng)歷史中提取事件作為輸入,然后從一個(gè)大的視頻庫中檢索出一個(gè)小數(shù)據(jù)集(上百個(gè)視頻)。這些候選被認(rèn)為通常與用戶有很精準(zhǔn)的相關(guān)性。這個(gè)候選生成網(wǎng)絡(luò)僅通過協(xié)同過濾(collaborative filtering)提供廣泛的個(gè)性化。用戶之間的相似性可以通過粗粒度特征(例如視頻觀看的ID、搜索查詢單詞以及人口特征統(tǒng)計(jì))表達(dá)。
一個(gè)推薦列表中出現(xiàn)的一些「最好」的推薦需要一種良好的表征,以在具有高召回率(recall)的候選集中區(qū)分相對的重要性。排名網(wǎng)絡(luò)通過使用一個(gè)描述視頻與用戶的特征集合的期望目標(biāo)函數(shù)來給每個(gè)視頻打分,從而完成排名的任務(wù)。根據(jù)它們的得分,然后將最高分的視頻展現(xiàn)給用戶。
兩階段的推薦方法允許我們從一個(gè)很大(數(shù)百萬)的語料庫中進(jìn)行推薦,與此同時(shí)還仍有在設(shè)備上出現(xiàn)的少量視頻是個(gè)性化的吸引用戶的內(nèi)容。此外,這個(gè)設(shè)計(jì)能夠和其他源生成的候選進(jìn)行混合,例如在這一項(xiàng)早期工作[3]中描述的。
在開發(fā)過程中,我們廣泛地使用了非網(wǎng)絡(luò)的指標(biāo)(準(zhǔn)確度、召回率、ranking loss)來引導(dǎo)我們的系統(tǒng)的迭代改進(jìn)。然而,為了最終測定一個(gè)算法或模型的效果,我們依靠于通過實(shí)時(shí)實(shí)驗(yàn)進(jìn)行A/B測試。在一個(gè)實(shí)時(shí)實(shí)驗(yàn)中,我們能度量在點(diǎn)擊率、觀看時(shí)間與許多度量用戶參與度的指標(biāo)中不易察覺的變化。這是非常重要的,因?yàn)閷?shí)時(shí)A/B測試結(jié)果不總是與離線實(shí)驗(yàn)有相關(guān)性。
圖2:推薦系統(tǒng)架構(gòu):候選視頻通過「漏斗」?fàn)畹牧鞒虖拇罅恳曨l中被檢索出來并進(jìn)行排名,然后再將其中一小部分展示給用戶。
圖3:深度候選生成模型架構(gòu):嵌入的稀疏特征是和稠密特征連結(jié)在一起的。在級(jí)聯(lián)(concatenation)將可變大小的稀疏ID轉(zhuǎn)換成適合隱藏層輸入的固定寬度的向量之前,嵌入被取了平均。所有隱藏層是全連接的。在訓(xùn)練中,使用取樣的softmax的輸出之上的梯度下降對交叉熵?fù)p失進(jìn)行最小化。在服務(wù)中,用一個(gè)近似最近鄰(approximate nearest neighbor )查詢生成數(shù)以百計(jì)的候選視頻推薦。
圖4:對于一個(gè)給定的視頻,模型用樣本年齡(example age)作為一個(gè)特征訓(xùn)練,能夠精準(zhǔn)表達(dá)出數(shù)據(jù)中的上傳時(shí)間和依賴時(shí)間的受歡迎程度。如果沒有這一特征,該模型會(huì)在訓(xùn)練窗口近似地預(yù)測平均似然( average likelihood)。
圖5:給模型選擇標(biāo)簽和輸入上下文對離線評(píng)估來說很有挑戰(zhàn)性,但是對實(shí)時(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ù)中的最大觀測時(shí)間。
圖6:描繪了嵌入的分類特征(包括一價(jià)特征和多價(jià)特征)