論文筆記 | RecSys2016 | Deep Neural Networks for YouTube Recommendations

youtube-dnn-title.png

論文地址:https://research.google.com/pubs/archive/45530.pdf

一 為什么讀這篇

其實(shí)當(dāng)年在微博做視頻推薦時(shí)就這篇?jiǎng)偝鰜頃r(shí)就看過,只不過那時(shí)剛接觸深度學(xué)習(xí)准颓,有好多點(diǎn)也沒get到该默,現(xiàn)在經(jīng)過一些沉淀骗村,知道dl是怎么玩的了帝美,另外以現(xiàn)在這個(gè)時(shí)間點(diǎn)看般婆,才知道這篇的工作是非常有影響力的涉枫,現(xiàn)在很多上了深度學(xué)習(xí)推薦系統(tǒng)的公司都參考了該文孽鸡,所以重新補(bǔ)補(bǔ)課哪轿。后續(xù)將youtube有關(guān)推薦系統(tǒng)的文章都看了盈魁。

二 截止閱讀時(shí)這篇論文的引用次數(shù)

2019.5.29 444次。比wide & deep 還多點(diǎn)窃诉,在推薦領(lǐng)域里算不少了杨耙。

三 相關(guān)背景介紹

投在16年9月的RecSys會(huì)議上,比wide & deep晚一點(diǎn)飘痛,看來16年真是dl和推薦系統(tǒng)結(jié)合的元年珊膜,出了一大堆東西。

一作Paul Covington14年加入google宣脉,之前是05–09UC伯克利的本科车柠,斯坦福的碩士,貌似博士肄業(yè)?加入google之前在Jawbone干過竹祷,還做過CV的東西谈跛。看來牛逼的人做什么領(lǐng)域都行溶褪。另外币旧,也是kaggle的master。二作的資料沒找到猿妈,三作更資深一點(diǎn)吹菱,也是搞過CV和NLP。

四 關(guān)鍵詞

DNN

video recommendations

五 論文的主要貢獻(xiàn)

1 算是工業(yè)界上把DNN用在推薦系統(tǒng)的先驅(qū)了

2 候選生成和排序都用DNN來做

3 需要哪些特征彭则,需要對(duì)特征做什么處理鳍刷,優(yōu)化目標(biāo)應(yīng)該是什么都有介紹

六 詳細(xì)解讀

0 摘要

本文從深度召回和深度排序兩個(gè)階段講,并分享設(shè)計(jì)俯抖,迭代和維護(hù)大規(guī)模推薦系統(tǒng)的實(shí)踐經(jīng)驗(yàn)输瓜。

1 介紹

youtube-dnn-fig1.png

YouTube視頻推薦主要有3個(gè)方面的挑戰(zhàn):

規(guī)模:在小數(shù)據(jù)集規(guī)模下的現(xiàn)存算法在YouTube這個(gè)規(guī)模下都fail了。

新鮮度:可以從E/E的角度理解將新內(nèi)容與完善的視頻進(jìn)行平衡芬萍。

噪聲:幾個(gè)方面尤揣。1 由于YouTube上歷史用戶行為的稀疏性以及一系列不可測外部因素導(dǎo)致預(yù)測在本質(zhì)上是很難的。2 很難得知真實(shí)的用戶滿意度柬祠,而只能用有噪聲的隱式反饋信號(hào)替代北戏。3 與內(nèi)容相關(guān)聯(lián)的元數(shù)據(jù)結(jié)構(gòu)很差,沒有明確的定義漫蛔。

在上千億的樣本上訓(xùn)練了接近數(shù)10億參數(shù)的模型嗜愈。

2 系統(tǒng)概述

youtube-dnn-fig2.png

如圖2所示,系統(tǒng)由負(fù)責(zé)候選生成和負(fù)責(zé)排序的兩個(gè)網(wǎng)絡(luò)組成莽龟。

3 候選生成

3.1 將推薦視為分類

本文將推薦視為極限多分類問題蠕嫁,基于用戶U和上下文C,從含有上百萬視頻i(classes)的語料庫V中分類在某個(gè)時(shí)刻t具體觀看的視頻w_{t}毯盈。
P\left(w_{t}=i | U, C\right)=\frac{e^{v_{i} u}}{\sum_{j \in V} e^{v_{j} u}}
其中u \in \mathbb{R}^{N}表示高維用戶embedding剃毒,v_{j} \in \mathbb{R}^{N}表示高維候選視頻embedding。深度神經(jīng)網(wǎng)絡(luò)的任務(wù)是根據(jù)用戶的歷史和上下文來學(xué)習(xí)用戶embedding u奶镶,這對(duì)于用softmax分類器區(qū)分視頻是有用的迟赃。

盡管YouTube有顯式反饋機(jī)制(點(diǎn)贊/取消贊等)存在,不過因?yàn)槠湎∈栊运杂?xùn)練時(shí)用隱式反饋厂镇,將用戶完整播放完的視頻視為正樣本纤壁。

有效的極限多分類

為了有效訓(xùn)練上百萬的類別,參考《On using very large target vocabulary for neural machine translation》捺信,采用了從背景分布(候選采樣)采樣負(fù)類的技術(shù)酌媒,然后通過權(quán)重重要性校正這種采樣欠痴。實(shí)踐中,對(duì)上千個(gè)負(fù)樣本采樣秒咨,相當(dāng)于傳統(tǒng)softmax的100倍以上喇辽。還有一種選擇是用分級(jí)softmax。

在服務(wù)階段為了選擇提供給用戶的topN需要計(jì)算最相似的N個(gè)類(視頻)雨席。在數(shù)十毫秒的嚴(yán)格服務(wù)延遲下對(duì)數(shù)百萬視頻進(jìn)行評(píng)分需要在類的數(shù)量上具有次線性的近似評(píng)分方案菩咨。本文用了之前YouTube系統(tǒng)中《Label partitioning for sublinear ranking》的hashing技術(shù)。因?yàn)樵诜?wù)階段不需要校準(zhǔn)softmax輸出層的似然度陡厘,所以評(píng)分問題可以簡化為在點(diǎn)積空間中進(jìn)行最近鄰搜索抽米,這個(gè)用通用庫就可以完成。通過A/B實(shí)驗(yàn)發(fā)現(xiàn)最近鄰搜索算法的選擇并不敏感糙置。

3.2 模型架構(gòu)

受word2vec啟發(fā)云茸,學(xué)習(xí)每個(gè)視頻的高維embedding,并將這些embedding輸入網(wǎng)絡(luò)谤饭。一個(gè)用戶的觀看歷史表示為稀疏視頻IDs的向量表示的可變序列标捺。網(wǎng)絡(luò)需要固定大小的稠密輸入,并且通過執(zhí)行最佳策略(總和揉抵,分量最大等)之一來簡單地平均embedding亡容。重要的是,embedding通過其他模型參數(shù)聯(lián)合學(xué)習(xí)冤今。輸出還有非觀看視頻特征萍倡,如圖3所示。

youtube-dnn-fig3.png

3.3 異構(gòu)信號(hào)

使用深度神經(jīng)網(wǎng)絡(luò)作為矩陣分解的推廣的一個(gè)關(guān)鍵優(yōu)勢就是可以輕松地將任意連續(xù)特征和分類特征添加到模型中辟汰。搜索歷史可以視為和觀看歷史相似的處理。統(tǒng)計(jì)學(xué)特征提供了重要的先驗(yàn)阱佛,以便推薦行為對(duì)于新用戶也是合理的帖汞。用戶的地理區(qū)域和設(shè)備做嵌入后拼接。簡單的二元特征和連續(xù)特征(如用戶性別凑术,登錄狀態(tài)翩蘸,年齡)歸一化到[0, 1]后直接輸入網(wǎng)絡(luò)。

"Example age"特征

本文觀察到用戶更喜歡新鮮內(nèi)容淮逊,但不以犧牲相關(guān)性為代價(jià)催首。機(jī)器學(xué)習(xí)系統(tǒng)通常表現(xiàn)出朝過去的隱式偏見,因?yàn)樗鼈兪峭ㄟ^訓(xùn)練歷史樣本來預(yù)測未來行為泄鹏。視頻流行度的分布是非常不穩(wěn)定的郎任,但是由推薦系統(tǒng)生成的語料庫上的多項(xiàng)分布反映了在用幾周訓(xùn)練窗口中的平均觀看似然度。為了校正這個(gè)問題备籽,本文在訓(xùn)練期間將訓(xùn)練樣本的age作為一個(gè)特征輸入舶治。在服務(wù)階段,這個(gè)特征設(shè)置為0(或小的負(fù)值),以表示模型在訓(xùn)練窗口的最后進(jìn)行預(yù)測霉猛。

youtube-dnn-fig4.png

3.4 標(biāo)簽和上下文選擇

這一節(jié)講了很多在面對(duì)業(yè)務(wù)問題時(shí)的trick尺锚。

非常需要強(qiáng)調(diào)的一點(diǎn)是推薦經(jīng)常涉及解決"替代問題",并將結(jié)果轉(zhuǎn)移到特定上下文惜浅。一個(gè)經(jīng)典例子就是更精準(zhǔn)的預(yù)測分?jǐn)?shù)會(huì)產(chǎn)生更有效的電影推薦《Building industrial-scale real-world recommender systems》瘫辩。

訓(xùn)練樣本是從YouTube全站得到的,而不僅僅來自于推薦引擎坛悉。否則伐厌,新視頻將很難浮現(xiàn)并使推薦偏向利用這一側(cè)。改進(jìn)實(shí)時(shí)指標(biāo)的另一個(gè)關(guān)鍵見解是為每個(gè)用戶生成固定數(shù)量的訓(xùn)練樣本吹散,從而在損失函數(shù)中對(duì)用戶均等的加權(quán)弧械。 這阻止了一小部分高度活躍的用戶占據(jù)主要損失。

這里作者舉了一個(gè)例子空民,一個(gè)用戶剛搜索完霉霉刃唐,如果給用戶的最后一個(gè)搜索頁作為主頁推薦肯定非常糟。通過丟棄序列信息并用無序的詞條表示搜索查詢界轩,分類器將不再直接意識(shí)到標(biāo)簽的來源画饥。

視頻的自然消費(fèi)模式通常會(huì)導(dǎo)致非常不對(duì)稱的共同觀看概率。比如電視劇通常是按順序觀看的浊猾,用戶發(fā)現(xiàn)的明星通常先大眾抖甘,再小眾。本文發(fā)現(xiàn)預(yù)測用戶的下一次觀看比預(yù)測一個(gè)隨機(jī)的held-out觀看要好的多葫慎,如圖5所示衔彻。

youtube-dnn-fig5.png

許多協(xié)同過濾系統(tǒng)隱式的選擇了標(biāo)簽和上下文,通過hold-out來實(shí)現(xiàn)(如圖5a)偷办,而這泄露了未來的信息并忽略了任意非對(duì)稱消費(fèi)模式艰额。作為對(duì)比,本文用圖5b的模式椒涯,即不會(huì)用到未來的信息柄沮。(這一節(jié)講了時(shí)間序列預(yù)估問題中,在建模時(shí)很重要的特征穿越問題)

3.5 特征和深度的實(shí)驗(yàn)

youtube-dnn-fig6.png

本實(shí)驗(yàn)中废岂,用100w的視頻和100w的搜索詞條祖搓,embedding維度為256,最大包括近50次觀看和近50次搜索湖苞。網(wǎng)絡(luò)結(jié)構(gòu)用塔模式(不斷減半)拯欧。

youtube-dnn-tower.png

4 排序

youtube-dnn-fig7.png

排序目標(biāo)函數(shù)是期望觀看時(shí)長,因?yàn)閏tr通常會(huì)鼓勵(lì)用戶并未完成的欺騙性視頻("clickbait")财骨,而觀看時(shí)長更能捕獲參與度哈扮。

4.1 特征表示

分類特征在其基數(shù)上有很大差異纬纪,一些是二元的(如用戶是否登錄),一些有上百萬的值(如用戶上一次搜索的query)滑肉。根據(jù)特征是僅有一個(gè)值還是多個(gè)值對(duì)特征進(jìn)一步劃分包各。

特征工程

在排序模型中使用上百個(gè)特征。主要挑戰(zhàn)在于表示用戶行為的時(shí)間序列以及這些行為與曝光視頻的相關(guān)性靶庙。

本文觀察到的最重要的信號(hào)是描述用戶之前與物品本身和其他相似物品交互的信號(hào)问畅,這與排序廣告中的經(jīng)驗(yàn)也相匹配(FB GBDT+LR)。舉個(gè)栗子六荒,考慮用戶過去使用上傳視頻得分的頻道的歷史記錄护姆,用戶在此頻道觀看的視頻數(shù)是多少?用戶最后一次觀看有關(guān)此主題的視頻是什么時(shí)候掏击?這些描述過去用戶對(duì)相關(guān)物品的行為的連續(xù)特征非常有用卵皂,因?yàn)樗鼈兛梢院芎玫財(cái)U(kuò)展到不同的物品。本文還發(fā)現(xiàn)砚亭,將生成候選的信息以特征的形式傳遞給排序也非常重要灯变,舉個(gè)栗子,哪些源提名這個(gè)視頻候選捅膘?它們分配了什么分?jǐn)?shù)添祸?

描述過去視頻曝光次數(shù)的特征對(duì)于在推薦中引入"流失"也很重要(后續(xù)請(qǐng)求不會(huì)返回相同的列表)。如果給用戶最近推薦了一個(gè)視頻寻仗,但沒觀看刃泌,那么模型會(huì)在下一頁加載時(shí)自然降低該曝光。

嵌入分類特征

分類特征的嵌入維數(shù)與唯一值的數(shù)量的對(duì)數(shù)成比例地增加署尤。非常大基礎(chǔ)的ID空間(如視頻IDs耙替,搜索query)通過點(diǎn)擊曝光的頻率topN排序后截?cái)唷3鲈~匯表的值簡單的映射為0嵌入曹体。

很重要的一點(diǎn)是林艘,同一ID空間中的分類特征也共享底層的嵌入。

歸一化連續(xù)特征

神經(jīng)網(wǎng)絡(luò)對(duì)其輸入的擴(kuò)展和分布非常敏感(BN指出)混坞,而諸如決策樹集合之類的方法對(duì)于單個(gè)特征的縮放是不變的。通過使用累積分布钢坦,\tilde{x}=\int_{-\infty}^{x} \mathrmfqumaya f,將x均勻分不到[0, 1]究孕。為了讓網(wǎng)絡(luò)有力的表達(dá)super和sub-linear,除了原始?xì)w一化特征\tilde{x}爹凹,還有\tilde{x}^{2}\sqrt{\tilde{x}}厨诸。

4.2 對(duì)預(yù)期觀看時(shí)長建模

為了預(yù)測預(yù)期觀看時(shí)長,使用weighted logistic regression禾酱。
\frac{\sum T_{i}}{N-k}
N為訓(xùn)練樣本數(shù)微酬,k為正樣本绘趋,T_{i}為第i次曝光的觀看時(shí)長。

4.3 隱層實(shí)驗(yàn)

youtube-dnn-table1.png

七 小結(jié)

這篇文章真該早看颗管,非常的成系統(tǒng)成體系陷遮,方方面面都講到了,看完后有種自己也能做個(gè)YouTube推薦系統(tǒng)的幻覺垦江。帽馋。料非常足,從體系架構(gòu)比吭,到細(xì)節(jié)的特征采集绽族,特征變換,優(yōu)化目標(biāo)衩藤,非常值得深挖吧慢。

素質(zhì)四連

要解決什么問題

用深度學(xué)習(xí)做大規(guī)模推薦系統(tǒng)

用了什么方法解決

候選生成和排序模型都用DNN+各種tricks(也許叫工程經(jīng)驗(yàn)更合適)

效果如何

貌似沒有和其他方法的對(duì)比,只是自己和自己比赏表。检诗。

還存在什么問題

DNN比較常規(guī),還沒上各種騷套路

八 補(bǔ)充

看Youtube怎么利用深度學(xué)習(xí)做推薦

下面這3篇王喆的解讀非常值得一看底哗,一些評(píng)論也很有價(jià)值

重讀Youtube深度學(xué)習(xí)推薦系統(tǒng)論文岁诉,字字珠璣,驚為神文

YouTube深度學(xué)習(xí)推薦系統(tǒng)的十大工程問題

揭開YouTube深度推薦系統(tǒng)模型Serving之謎

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跋选,一起剝皮案震驚了整個(gè)濱河市涕癣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌前标,老刑警劉巖坠韩,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異炼列,居然都是意外死亡只搁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門俭尖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氢惋,“玉大人,你說我怎么就攤上這事稽犁⊙嫱” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵已亥,是天一觀的道長熊赖。 經(jīng)常有香客問我,道長虑椎,這世上最難降的妖魔是什么震鹉? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任俱笛,我火速辦了婚禮,結(jié)果婚禮上传趾,老公的妹妹穿的比我還像新娘迎膜。我一直安慰自己,他們只是感情好墨缘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布星虹。 她就那樣靜靜地躺著,像睡著了一般镊讼。 火紅的嫁衣襯著肌膚如雪宽涌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天蝶棋,我揣著相機(jī)與錄音卸亮,去河邊找鬼。 笑死玩裙,一個(gè)胖子當(dāng)著我的面吹牛兼贸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吃溅,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼溶诞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了决侈?” 一聲冷哼從身側(cè)響起螺垢,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赖歌,沒想到半個(gè)月后枉圃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡庐冯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年孽亲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片展父。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡返劲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出栖茉,到底是詐尸還是另有隱情篮绿,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布衡载,位于F島的核電站,受9級(jí)特大地震影響隙袁,放射性物質(zhì)發(fā)生泄漏痰娱。R本人自食惡果不足惜弃榨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梨睁。 院中可真熱鬧鲸睛,春花似錦、人聲如沸坡贺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遍坟。三九已至拳亿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間愿伴,已是汗流浹背肺魁。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留隔节,地道東北人鹅经。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像怎诫,于是被迫代替她去往敵國和親瘾晃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容