YouTube深度推薦系統(tǒng)

來源: 知乎
作者:一天到晚游泳的魚
時間:2021-11-04
16024
本論文將youtube深度推薦系統(tǒng)分為兩個部分:candidate generation和ranking。

1.模型介紹

推薦系統(tǒng)主要包含兩個模型,candidate generation model(召回)和ranking model(排序)。系統(tǒng)架構(gòu)圖如下圖所示:

v2-b0f13dce7a0d22404556f5897b1a19b6_720w.jpg

Candidate generation model

將用戶在youtube上的行為歷史作為輸入,從中篩選出一個較小的候選視頻集。選出來的視頻一般都是與用戶高度相關(guān)的。這里一般使用一些粗粒度的特征,如觀看視頻的ID,搜索歷史,用戶側(cè)統(tǒng)計特征等。

Ranking model

會為上一步選出來的候選視頻集中的每個視頻進(jìn)行打分,打分最高的視頻就會被展示給用戶,排在第一的就是系統(tǒng)認(rèn)為用戶最感興趣的視頻。與candidate generation model不同,ranking model會用到用戶和視頻更加精細(xì)的特征。

模型迭代時會用許多離線指標(biāo),如precision,recall等等,但最終評價模型的標(biāo)準(zhǔn)采用線上的a/b test實驗,因為離線和在線值表不總是相符,而且離線指標(biāo)無法反應(yīng)用戶行為的變化。

模型主要解決的問題:

·大規(guī)模數(shù)據(jù)

Youtube是世界上最大的視頻分享網(wǎng)站,其推薦系統(tǒng)必須使用分布式算法以及高效率的在線serving系統(tǒng)。

·時效性

Youtube的語料庫每秒鐘都會更新許多視頻,推薦系統(tǒng)必須能夠?qū)π律蟼鞯囊曨l以及用戶最新的動作做出及時反饋。

·噪音

用戶的歷史行為特征十分稀疏,模型很難學(xué)習(xí)到用戶真正的喜好,往往會學(xué)到更多的噪音。

2.Candidate generation model

模型結(jié)構(gòu)采用embedding+DNN模式,對序列特征采用average pooling。

v2-f75b48273f5348cb30f5ec957ab4a374_720w.jpg

2.1分類模型

召回模型將推薦系統(tǒng)抽象為一個多分類問題,即預(yù)測某個用戶(以及相應(yīng)的context)在某個時刻t觀看的某些視頻屬于哪一類,用公式表示如下:

1636008404(1).png

式(1)是一個softmax函數(shù)的形式,其中表示pair的embedding,表示候選視頻(candidate video)的embedding。DNN的任務(wù)就是學(xué)習(xí)一個用戶歷史和context到用戶embeding的映射,用于式(1)的softmax函數(shù)對videos分類。

訓(xùn)練模型使用的輸入是用戶觀看的歷史,這是一種隱式(implicit)的特征。雖然youtube數(shù)據(jù)中有許多顯式的(explicit)特征(如用戶上滑/下滑,參與調(diào)查等),但這些特征往往非常稀疏,很難反映用戶興趣的長尾部分。召回的模型更注重涵蓋用戶的各種行為興趣,因此使用隱式的特征來訓(xùn)練模型。

海量數(shù)據(jù)的處理方式:

由于該模型面對的是數(shù)十億計的用戶和視頻輸入以及數(shù)百萬計的類別總數(shù),性能問題是工程實踐的重點。youtube采用了以下方案來解決性能問題:

·負(fù)采樣(negative sampling)

youtube的樣本集中,正樣本被定義為用戶完整地觀看一個視頻,而負(fù)樣本的數(shù)量遠(yuǎn)遠(yuǎn)多于正樣本。這里根據(jù)負(fù)樣本的分布特征進(jìn)行采樣,然后在給樣本以權(quán)重來修復(fù)這一采樣操作。正負(fù)樣本都是用cross entropy作為損失函數(shù)。實際中,與傳統(tǒng)的softmax相比,這一負(fù)采樣操作可以加快100倍以上的速度。

·serving時使用KNN代替softmax

在線serving的時候,我們需要計算出top N個candidate video展現(xiàn)給用戶。同時給百萬甚至更高級別的item打分對模型性能要求很高,因此在serving時使用了KNN方法來代替softmax。

2.2特征和模型探索

"Example Age"特征

youtube用戶往往會對新鮮的,剛發(fā)布的視頻感興趣,但模型是基于歷史數(shù)據(jù)訓(xùn)練的,因此會產(chǎn)生偏差,打分會更偏向訓(xùn)練數(shù)據(jù)時間窗口的平均值,而不會著重為用戶推薦新鮮的視頻。因此模型訓(xùn)練時加入了"example age"的特征,標(biāo)識了每個video已經(jīng)上傳了多久。線上serving時,會著重為用戶推薦新上傳的視頻。

特征和模型深度

DNN采用了用戶最近觀看和最近搜索作為主要特征embedding維度是256,序列長度選擇了最近50次。論文嘗試了不同的DNN深度和寬度,發(fā)現(xiàn)使用復(fù)雜的DNN結(jié)構(gòu),其預(yù)測精度也會隨之上升。

3.Ranking

排序的首要功能就是使用曝光數(shù)據(jù)來對candidate generation的結(jié)果進(jìn)行篩選和校正。排序的模型結(jié)構(gòu)與召回類似,但使用了更多細(xì)粒度的特征,這是因為排序只需要對召回的數(shù)百個視頻進(jìn)行打分,是更加精細(xì)化的預(yù)測。

A/B test中使用的排序指標(biāo)是用戶的觀看時長。之所以不用點擊率,是因為一些“標(biāo)題黨”的視頻可能會有很高的點擊,但用戶并不感興趣。

排序模型結(jié)構(gòu)如圖3所示,與candidate generation類似,只是輸入特征更多,而且輸出用了logistic regression。

v2-380e6edb70b0278aab21b07f8cc7d2e4_720w.jpg

3.1特征處理

Ranking model使用了多種維度的特征,binary/多維特征都有涉及。特征被分為item和user/context兩類,在serving時前者計算多次,后者只計算一次。

特征工程

特征工程的難點是如何對用戶序列進(jìn)行利用。其中用戶上次的行為是最重要的一個特征,如用戶上一次觀看的視頻ID。另外一個重要特征是某個視頻在該用戶下的曝光頻率。舉個例子,如果最近曝光給用戶但未點擊的視頻,在下次觀看時就不會出現(xiàn)在推薦列表中。

類目特征的embedding處理

對于每個類目特征(categorical feature),embedding size的大小與其vocabulary的大小為正相關(guān)。特征空間中的unique values越多,embedding size越大。對于video ID,搜索詞條等較大的ID空間,會對所有的ID進(jìn)行一個簡單的點擊頻率排序,選出TOP N個ID進(jìn)行embedding,其余的直接映射為0。

模型還采用了share embedding,如用到video ID的所有特種都會share,這樣有助于提升模型的泛化能力,加速訓(xùn)練以及減小模型存儲空間。

連續(xù)特征的歸一化

神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)的分布十分敏感。對于連續(xù)性特征,會將其歸一化到[0,1)區(qū)間內(nèi)。同時,對于特征還會并行輸入和,以讓模型可以從不同的空間學(xué)習(xí)特征,增強(qiáng)模型的表達(dá)能力。實驗證明歸一化的離線指標(biāo)會有收益。

3.2 對觀看時長進(jìn)行建模

Ranking模型的正負(fù)樣本是按照是否點擊來劃分的(這點與candidate generation不同)。模型使用weighted logistic regression作為輸出,cross entropy作為損失函數(shù)進(jìn)行訓(xùn)練。這里的weighted是指用播放時長來為所有的正樣本加權(quán),而負(fù)樣本給以相同的權(quán)重。這樣學(xué)習(xí)到的odds就是播放時長的期望(具體推導(dǎo)見論文4.2節(jié))

3.3 DNN寬度和深度

結(jié)果表明DNN的寬度和深度對模型效果都有影響。

4.總結(jié)

本論文將youtube深度推薦系統(tǒng)分為兩個部分:candidate generation和ranking。

candidate generation面對的是數(shù)以億計的視頻語料庫,其目標(biāo)是從中篩選出與用戶高度相關(guān)的子集供排序部分進(jìn)一步優(yōu)化。對于海量數(shù)據(jù)采用了負(fù)采樣的方式,提升了訓(xùn)練效率;模型方面采用了經(jīng)典的embedding+DNN結(jié)構(gòu),并在serving時將softmax換成了KNN以提高打分效率。訓(xùn)練數(shù)據(jù)只使用了user watch和user query特征以及部分context特征,同時加入了example age的權(quán)重,提升了推薦的時效性。

Ranking模型面對的是hundreds數(shù)量級的視頻打分,采用了更精細(xì)化的特征。相關(guān)特征間會share embedding,對連續(xù)性特征會采用歸一化。模型結(jié)構(gòu)與candidate generation類似,但用了logistic regression作為輸出函數(shù),并在serving時使用簡單的指數(shù)函數(shù)來打分。candidate generation和ranking的模型都對深度和寬度敏感。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于知乎,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家