“ 解讀YouTube、Airbnb、Alibaba的三篇經(jīng)典論文,總結(jié)Embedding在工業(yè)界的一些用法和技巧,這三篇論文亮點(diǎn)眾多,提供的經(jīng)驗(yàn)非常值得我們?nèi)ゼ?xì)細(xì)品味和借鑒。這篇文章篇幅較多(2w字),幾乎把三篇論文的重要內(nèi)容都進(jìn)行了解讀和總結(jié),需花點(diǎn)時間去研讀,文中難免有錯誤和理解不對的地方,歡迎指正討論!” 作者:盧明冬,個人博客:https:///engineering-practice-of-embedding-in-recommendation-scenario.html YouTubeDeep Neural Networks for YouTube Recommendations YouTube的這篇論文發(fā)表在2016年9月的RecSys會議上,是一篇非常經(jīng)典的推薦系統(tǒng)工程論文。在這篇論文中,不但嘗試將DNN用在推薦系統(tǒng)上,更是講述了眾多工程經(jīng)驗(yàn),論文處處有亮點(diǎn),處處可借鑒,如今該論文的中的一些工程經(jīng)驗(yàn)已被各大互聯(lián)網(wǎng)公司參考引入自己的推薦系統(tǒng)。 YouTube的推薦系統(tǒng)架構(gòu)使用經(jīng)典的**召回(Match 或 Candidate Generation)「和」排序(Ranking)**經(jīng)典的二級架構(gòu):
「不管是召回階段還是排序階段,模型架構(gòu)上都是DNN的基本結(jié)構(gòu),不同的是輸入特征和優(yōu)化目標(biāo)不同?!?/strong> 「召回階段」 召回階段模型(也稱候選生成模型,Candidate Generation Model)的架構(gòu)如下圖: 這個模型雖然是一個深度神經(jīng)網(wǎng)絡(luò),但其實(shí)「可將DNN看作是普通的矩陣分解(MF)的一種泛化」,這里把推薦問題建模成一個“超大規(guī)模”多分類問題。即在時刻,為用戶(上下文信息)在視頻庫中精準(zhǔn)地預(yù)測出下一次觀看(next watch)視頻的類別(每個具體的視頻視為一個類別,即為一個類別,觀看完成的視頻則視為正例),用一個Softmax公式表示這個條件概率: 其中,向量是 <user, context> 信息的高維Embedding,而向量則表示每個候選視頻的Embedding。「所以DNN的目標(biāo)就是在用戶信息和上下文信息為輸入條件下學(xué)習(xí)用戶的Embedding向量」,用公式表達(dá)DNN就是在擬合函數(shù)。 接下來,我們總結(jié)在召回階段使用的一些工程技巧。
「排序階段」 排序階段的模型結(jié)構(gòu)和召回階段非常類似,可見下圖:
與召回階段不同的是,排序階段需要處理計(jì)算的數(shù)據(jù)量僅僅是百數(shù)量級的,為了提高預(yù)測精度,排序階段使用了更多精細(xì)的特征。除此之外,排序階段本身就可以整合多源召回,上面提到的召回模型可能僅僅是一種召回策略,通常召回階段的來源往往很多。 我們來看看排序階段這篇論文又提到了哪些經(jīng)典的工程經(jīng)驗(yàn)。
AirbnbReal-time Personalization using Embeddings for Search Ranking at Airbnb Airbnb這篇論文獲得了KDD 2018的Best Paper,和上一小節(jié)介紹的YouTube論文類似,也是一篇充滿工程實(shí)踐經(jīng)驗(yàn)的論文,其中Embedding在Airbnb業(yè)務(wù)中的整合和靈活應(yīng)用,非常值得我們解讀借鑒。 先來了解一下Airbnb的業(yè)務(wù)背景。 Airbnb是全球最大的短租平臺,平臺包含數(shù)百萬種不同的房源,為了能夠幫助用戶找到自己心儀的短租屋,Airbnb主要通過兩種方式來為用戶推薦合適的住房。 一個是「搜索推薦」,即用戶輸入地點(diǎn)、日期、人數(shù)進(jìn)行搜索,系統(tǒng)通過復(fù)雜的機(jī)器學(xué)習(xí)模型使用上百種信號對搜索結(jié)果中的房源進(jìn)行排序,然后根據(jù)你的需求推薦你可能會感興趣的房源: 另外一個是「相似房源推薦」,接入在房源詳情頁底部,會推薦和當(dāng)前房源相似的房源,以圖文滑動窗格的形式展示: Airbnb表示,平臺 99% 的房源預(yù)訂來自于搜索推薦和相似房源推薦[^4],由此可見算法在業(yè)務(wù)中起到的關(guān)鍵作用。 Airbnb論文中將短租房源的item稱為listing,其Embedding稱為「房源嵌入(Listing Embedding)」,為了與論文保持一致,本文會延用該稱謂,大家當(dāng)作item理解即可。 接下來我們詳細(xì)看看論文中提到的一些優(yōu)秀的工程經(jīng)驗(yàn)。
AlibabaLearning and Transferring IDs Representation in E-commerce 這篇論文也是發(fā)表在KDD 2018上的,論文的重點(diǎn)是介紹了一種ID類特征的表示方法。該方法基于item2vec方式,同時考慮了不同ID類特征之間的連接結(jié)構(gòu),在盒馬鮮生app上進(jìn)行了遷移應(yīng)用且取得了不錯的效果。 「ID類特征是一種比較特殊的數(shù)據(jù),通常可能只是一個長整型數(shù)。表面上來看并不帶任何信息,但實(shí)際上通過行為的匯總其承載了豐富的信息,所以ID類特征的處理其實(shí)是特征工程中非常重要的一部分」。ID類最初的處理方法是使用One-Hot編碼,這種方式有兩個缺點(diǎn):一個是高維帶來的稀疏問題,模型具有足夠置信度的話需要的樣本量指數(shù)級增加;另一個是無法表示ID之間的關(guān)系,比如通過One-Hot編碼無法度量兩個ID對應(yīng)item的相似性。[^5] 因此,Embedding理所當(dāng)然的成了替代One-Hot的最佳方案。 接下來,我們來看看這篇文論中比較tricks的亮點(diǎn)經(jīng)驗(yàn)。
總結(jié)本文解讀了三篇干貨滿滿的Embedding應(yīng)用實(shí)踐的論文,總結(jié)他們在不同業(yè)務(wù)場景下一些優(yōu)秀的Embedding應(yīng)用實(shí)踐經(jīng)驗(yàn),論文很多地方都充滿了工程化實(shí)踐的亮點(diǎn)。 文章最后,我們簡單總結(jié)一下Embedding的應(yīng)用經(jīng)驗(yàn):
參考資料[^1]: 黃昕等. 推薦系統(tǒng)與深度學(xué)習(xí). 清華大學(xué)出版社 |
|