論文筆記 | DLRS2016 | Wide & Deep Learning for Recommender Systems

wide-deep-title.png

論文地址:https://arxiv.org/abs/1606.07792

一 為什么讀這篇

自從打算重新搞推薦以來,看了各種各樣的資料,收集了一堆TODO論文,發(fā)現(xiàn)這篇出現(xiàn)頻率十分之高,是深度學(xué)習(xí)與推薦系統(tǒng)相結(jié)合的必讀論文之一,因為很多新出的模型都是在這個架構(gòu)的基礎(chǔ)上進行迭代的。而且有g(shù)oogle的實際產(chǎn)品背書,工程上大概率是實用的。

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

2019.5.27 396次。本篇算是推薦領(lǐng)域里的經(jīng)典論文,引用次數(shù)都不過比CV里那些動輒引用上千的paper,確實有差距,不過也從側(cè)面說明CV更能灌水?

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

15年12月掛到arXiv上,中了16年的ECCV。一作劉偉是北卡羅來納大學(xué)教堂山分校的PHD,也是GoogLeNet的的二作。其他幾個作者都有Google背景,包括Szegedy大神,所以SSD差不多算是Google系的。本篇提出時間比Faster R-CNN和YOLO v1晚半年。

16年6月掛到arXiv上,中了16年ACM下的Deep Learning for Recommender Systems Workshop。有16個共同作者。。。

一作Heng-Tze Cheng是個臺灣小哥,13年CMU博士畢業(yè),畢業(yè)后就去G家了。本篇提出時間比FNN晚半年,比DeepFM,DIN,AFM,NFM,DCN早差不多一年。

四 關(guān)鍵詞

Wide & Deep

memorization

generalization

cross-product feature

五 論文的主要貢獻

提出Wide & Deep架構(gòu),挖了一個好坑,等著后續(xù)各種模型來填

六 詳細解讀

0 摘要

具有非線性特征變換的廣義線性模型被廣泛應(yīng)用于具有稀疏輸入的大規(guī)?;貧w和分類問題。通過a wide set of交叉特征變換來記住特征交互是有效且可解釋的,然而泛化則需要更多的特征工程工作;與此相反,不用過多的特征工程,深度神經(jīng)網(wǎng)絡(luò)可以通過對稀疏特征學(xué)習(xí)到的低維稠密嵌入來更好地泛化到未曾見過的特征組合。然而,當(dāng)用戶物品交互行為是稀疏且高秩時,具有嵌入的深度神經(jīng)網(wǎng)絡(luò)會過度泛化并推薦不太相關(guān)的物品。本文提出的Wide & Deep學(xué)習(xí)統(tǒng)一訓(xùn)練寬的線性模型和深度神經(jīng)網(wǎng)絡(luò),這樣就結(jié)合了記憶(memorization)與泛化(generalization)的優(yōu)勢。用有超過10億用戶行為,百萬apps上的Google Play上進行試驗。

1 介紹

推薦系統(tǒng)可以被視為是搜索排序系統(tǒng),其輸入query是用戶和上下文信息,輸出是排好序的物品列表。記憶(memorization)定義為學(xué)習(xí)與物品或特征頻繁共現(xiàn)的東西,并利用歷史數(shù)據(jù)中可用的相關(guān)性。然而泛化(generalization)是基于相關(guān)的傳遞性,并探索過去從未或很少發(fā)生的新特征組合?;谟洃浀耐扑]通常更與主題相關(guān),并且與用戶已經(jīng)有過行為的物品直接相關(guān)。泛化傾向于改進推薦物品的多樣性。

廣義線性模型的優(yōu)勢是簡單,可擴展,可解釋。記憶通過使用在稀疏特征上的叉積變換來實現(xiàn),泛化通過使用更粗粒度的特征來實現(xiàn),但是手動特征工程是必不可少的。叉積變換的一個限制是無法泛化出沒出現(xiàn)在訓(xùn)練樣本中的query-item特征對。

基于嵌入的模型(FM,DNN)通過學(xué)習(xí)低維稠密嵌入向量來泛化到之前未見過的query-item特征對,然而當(dāng)潛在的query-item矩陣稀疏并有很高的秩時(例如用戶有特殊的偏好,或者物品有狹隘的吸引力),很難學(xué)習(xí)有效的低維表示。在這種情況下,絕大多數(shù)query-item對應(yīng)該沒有交互,然而稠密嵌入將對所有的query-item對進行非零值預(yù)測,因此會過度泛化并作出不太相關(guān)的推薦。從另一方面講,使用叉積特征變換的廣義線性模型能夠用更少的參數(shù)記住這些例外規(guī)則。

wide-deep-fig1.png

本文主要貢獻:

1 Wide & Deep框架,聯(lián)合訓(xùn)練有嵌入的前向神經(jīng)網(wǎng)絡(luò)和有特征變換的線性模型

2 在Google Play上實現(xiàn)并評估Wide & Deep

3 在TensorFlow上開源了高階API的實現(xiàn)

2 推薦系統(tǒng)概述

wide-deep-fig2.png

query通常包括不同的用戶和上下文特征。

本篇的Wide & Deep聚焦于排序模型那塊。

3 Wide & Deep學(xué)習(xí)

3.1 Wide部分

特征集合包括原始輸入特征和變換特征,其中最重要的變換的叉積變換,定義如下:
\phi_{k}(\mathbf{x})=\prod_{i=1}^u0z1t8os x_{i}^{c_{k i}} \quad c_{k i} \in\{0,1\}
這樣捕獲了二元特征間的交互,并為廣義線性模型增加了非線性。

3.2 Deep部分

將稀疏,高維的分類特征,首先轉(zhuǎn)化為低維,稠密的實數(shù)向量,即嵌入向量,嵌入維度通常是10到100。

3.3 聯(lián)合訓(xùn)練Wide & Deep模型

聯(lián)合訓(xùn)練和Ensemble的不同,聯(lián)合訓(xùn)練的wide部分只需要通過少量的叉積特征變換來補充deep部分的不足,而不用全尺寸的wide模型。本文用FTRL(Follow-the-regularized-leader)優(yōu)化模型的wide部分,AdaGrad優(yōu)化深度部分(這為什么??)。
P(Y=1 | \mathbf{x})=\sigma\left(\mathbf{w}_{w i d e}^{T}[\mathbf{x}, \phi(\mathbf{x})]+\mathbf{w}_{d e e p}^{T} a^{\left(l_{f}\right)}+b\right)

4 系統(tǒng)實現(xiàn)

wide-deep-fig3.png

4.1 數(shù)據(jù)生成

Vocabularies,用來將分類特征字符串映射為整數(shù)IDs。連續(xù)實數(shù)特征歸一化到[0, 1]。

4.2 模型訓(xùn)練

wide-deep-fig4.png

wide部分由用戶安裝的apps和曝光的apps的叉積變換組成。對于deep部分,每個分類特征學(xué)習(xí)32維的嵌入向量。模型在5000億的樣本上訓(xùn)練。。。

4.3 模型服務(wù)

為了優(yōu)化速度(每個請求10ms內(nèi)),沒有用一個batch,而是用多線程并行跑多個小batch。

5 實驗結(jié)果

5.1 APP獲取

AB試驗做了3周,控制組為LR,實驗組為Wide & Deep,兩者特征一樣。

wide-deep-table1.png

5.2 服務(wù)性能

在峰值時,每秒為1000w apps打分。這里有個trick就是用多線程把大batch拆為幾個小batch。

wide-deep-table2.png

6 相關(guān)工作

本文受FM的啟發(fā),不同的是把FM的點積用神經(jīng)網(wǎng)絡(luò)的嵌入代替。剩下的部分就是硬湊。。

七 小結(jié)

還是看原文爽,僅僅讀了摘要和介紹部分,就明白了模型是為什么要這么做。這也是看原文的好處,背景介紹的非常清楚,會告訴你為什么有這個idea。感覺推薦和CV的風(fēng)格差異還是挺大的,貌似推薦的要易讀一點?也可能是這篇相對易懂,內(nèi)容很短,只有4頁,看完后懂了為什么要這么多作者,合著是把一個項目組的人都拉進來了。。。另外從最后的實驗結(jié)果來看,提升并沒有特別的高,看來模型側(cè)的改進真沒有想象中那么有效。

素質(zhì)四連

要解決什么問題

LR泛化能力不足,DNN泛化能力過強導(dǎo)致的無關(guān)推薦

用了什么方法解決

結(jié)合LR和DNN

效果如何

相比LR,AUC提升不多,但線上提升較多

還存在什么問題

本篇只是搭了架構(gòu),還有各種花式技巧,魔改網(wǎng)絡(luò)結(jié)構(gòu)沒有用上

八 補充

一作在17年TensorFlow峰會上的視頻

google ai官博

看Google如何實現(xiàn)Wide & Deep模型(1) 2.1 2.2 3

用NumPy手工打造 Wide & Deep

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容