論文地址: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視頻推薦主要有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)概述
如圖2所示,系統(tǒng)由負(fù)責(zé)候選生成和負(fù)責(zé)排序的兩個(gè)網(wǎng)絡(luò)組成莽龟。
3 候選生成
3.1 將推薦視為分類
本文將推薦視為極限多分類問題蠕嫁,基于用戶和上下文
,從含有上百萬視頻
(classes)的語料庫
中分類在某個(gè)時(shí)刻
具體觀看的視頻
毯盈。
其中表示高維用戶embedding剃毒,
表示高維候選視頻embedding。深度神經(jīng)網(wǎng)絡(luò)的任務(wù)是根據(jù)用戶的歷史和上下文來學(xué)習(xí)用戶embedding
奶镶,這對(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所示。
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ù)測霉猛。
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所示衔彻。
許多協(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)
本實(shí)驗(yàn)中废岂,用100w的視頻和100w的搜索詞條祖搓,embedding維度為256,最大包括近50次觀看和近50次搜索湖苞。網(wǎng)絡(luò)結(jié)構(gòu)用塔模式(不斷減半)拯欧。
4 排序
排序目標(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è)特征的縮放是不變的。通過使用累積分布钢坦,,將x均勻分不到[0, 1]究孕。為了讓網(wǎng)絡(luò)有力的表達(dá)super和sub-linear,除了原始?xì)w一化特征
爹凹,還有
和
厨诸。
4.2 對(duì)預(yù)期觀看時(shí)長建模
為了預(yù)測預(yù)期觀看時(shí)長,使用weighted logistic regression禾酱。
N為訓(xùn)練樣本數(shù)微酬,k為正樣本绘趋,為第i次曝光的觀看時(shí)長。
4.3 隱層實(shí)驗(yàn)
七 小結(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ǔ)充
下面這3篇王喆的解讀非常值得一看底哗,一些評(píng)論也很有價(jià)值
重讀Youtube深度學(xué)習(xí)推薦系統(tǒng)論文岁诉,字字珠璣,驚為神文