wide & deep learning for recommender systems論文翻譯

摘要

處理非線性特征的廣義線性模型在高維稀疏輸入的回歸和分類(lèi)問(wèn)題中被廣泛使用的倍奢。
通過(guò)cross-product特征模型具有很好的可解釋性七芭,但意味著特征工程的工作量非常巨大片习。使用很少的特征匪凉,深度學(xué)習(xí)網(wǎng)絡(luò)通過(guò)低維向量embeddings操作后會(huì)比大量特征產(chǎn)生更好的效果枪眉。不過(guò),在用戶交互稀疏和高排名的情況下再层,使用embedding的深度學(xué)習(xí)網(wǎng)絡(luò)可能高度概括特征信息贸铜,使得推薦相關(guān)性較小的item 給用戶。
在這篇文章中聂受,我們提出了wide&deep學(xué)習(xí)框架 —一起訓(xùn)練廣度線性模型和深度線性模型 在推薦系統(tǒng)中同時(shí)發(fā)揮模型的記憶和概括的優(yōu)勢(shì)

核心概念

機(jī)器學(xué)習(xí) 神經(jīng)網(wǎng)絡(luò) 監(jiān)督學(xué)習(xí) 信息系統(tǒng) 推薦系統(tǒng)

關(guān)鍵詞

wide & deep learning 推薦系統(tǒng)

1.前言

推薦系統(tǒng)可以被看做是搜索排序系統(tǒng)蒿秦,輸入是用戶和上下文信息,輸出是items的排序
考慮一個(gè)query 推薦系統(tǒng)的任務(wù)是在數(shù)據(jù)庫(kù)中找到相關(guān)的items蛋济,然后基于某種指標(biāo)棍鳖,比如點(diǎn)擊率和購(gòu)買(mǎi)率去排序items。

推薦系統(tǒng)的一個(gè)難點(diǎn)和通常搜索排序問(wèn)題相同瘫俊,如何實(shí)現(xiàn)記憶和概括功能鹊杖。
記憶功能 粗略的被定義為學(xué)習(xí)頻繁相關(guān)的items悴灵、特征,在歷史數(shù)據(jù)中能夠利用這些相關(guān)性骂蓖。
概括功能 基于記憶功能的相關(guān)傳遞性去探索在過(guò)去沒(méi)有出現(xiàn)過(guò)积瞒、出現(xiàn)過(guò)很少的新特征。
基于
記憶功能
的推薦系統(tǒng)通常和用戶表現(xiàn)過(guò)過(guò)行為具有直接相關(guān)性和主題性登下。相比較記憶功能茫孔,
概括功能*傾向于提高推薦系統(tǒng)的多樣性。
paper中被芳,我們聚焦谷歌軟件商城的推薦問(wèn)題缰贝,不過(guò)我們的方法應(yīng)該是能被應(yīng)用到廣泛的推薦系統(tǒng)中。

對(duì)于大部分工業(yè)界在線推薦和排序系統(tǒng)畔濒,廣義線性模型比如邏輯回歸被廣泛應(yīng)用剩晴,因?yàn)閘r是簡(jiǎn)單、擴(kuò)展性強(qiáng)侵状、可解釋強(qiáng)赞弥。線性模型經(jīng)常使用one-hot編碼 訓(xùn)練二值化稀疏特征。比如趣兄,特征user_installed_app=netflix 如果安裝 value 1
在稀疏特征使用cross-product 能有效實(shí)現(xiàn)記憶功能
比如說(shuō)user_installed_app=netflix, impression_app=pandora”
如果用戶安裝netflix 的value 是1绽左,就會(huì)推薦pandora
這個(gè)很好的解釋了共現(xiàn)的特征點(diǎn)對(duì)和目標(biāo)標(biāo)簽的關(guān)系。
概括功能 可以使用粒度較小的特征 加入
比如特征user_installed_category=video, impression_category=music
但是需要很多人工特征工程艇潭。
cross-product(向量?jī)?nèi)積拼窥,叉乘) 轉(zhuǎn)換 的局限性是它不能概括在訓(xùn)練數(shù)據(jù)中沒(méi)有出現(xiàn)query-items 特征點(diǎn)對(duì)。

embeddings-based的模型蹋凝,比如因子分解和深度學(xué)習(xí)網(wǎng)絡(luò)鲁纠,在很小的特征工程量,通過(guò)學(xué)習(xí)低維緊湊embedding向量后能概括沒(méi)有出現(xiàn)查詢特征點(diǎn)對(duì)仙粱。然而房交,當(dāng)?shù)讓拥膓uery-items 矩陣稀疏和高排序,比如具有特定偏好的用戶以及吸引力較小的items伐割,學(xué)習(xí)query和items的有效低維表示形式是非常困難的候味。
在這種cases中,大部分query-items 之前是沒(méi)有交互關(guān)系的隔心,但是embedding會(huì)導(dǎo)致非0 預(yù)測(cè)這些關(guān)系白群,因此會(huì)過(guò)度概括和推薦不相關(guān)的items。從另一方面說(shuō)硬霍,使用cross-product 轉(zhuǎn)換的線性模型使用更少的參數(shù)就能記住這些規(guī)則帜慢。

paper中,我們提出wide&deep learning 框架在一個(gè)模型中去實(shí)現(xiàn)記憶和概括功能,通過(guò)一起訓(xùn)練線性和深度模型粱玲,如圖


image.png

這篇文章的主要貢獻(xiàn)是:
1躬柬、wide & deep learning 框架 :一起訓(xùn)練 使用embedding 的深度網(wǎng)絡(luò)和使用特征轉(zhuǎn)換的線性模型
2、實(shí)現(xiàn)和評(píng)估wide&deep 推薦系統(tǒng)在谷歌pay 上的表現(xiàn)
3.抽减、在開(kāi)源 TensorFlow 中提高高可用的API

idea 是非常簡(jiǎn)單的允青,我們展示wide& deep框架顯著提高了app 的下載量

2.推薦系統(tǒng)前言

一般app 推薦系統(tǒng)如圖展示,一個(gè)查詢卵沉,包含各種用戶和上下文信息颠锉,這些信息都是用戶瀏覽app stores 產(chǎn)生的。推薦系統(tǒng)返回一組apps 列表史汗,
這些用戶行為琼掠,伴隨著查詢和展示信息,會(huì)被記錄在日志中 作為訓(xùn)練數(shù)據(jù)


image.png

數(shù)據(jù)庫(kù)中存儲(chǔ)了數(shù)百億的apps停撞,在10ms 以內(nèi)對(duì)這次查詢所有的結(jié)果打分是非常困難的瓷蛙。因此第一步 是接收到查詢后檢索,基于不同的指標(biāo)(比如機(jī)器學(xué)習(xí)和自定義指標(biāo))怜森,檢索系統(tǒng)返回匹配的list -items速挑。降低候選集后谤牡,排序系統(tǒng)通過(guò)打分排序items副硅。評(píng)分是P(y|x),給定特征x,用戶行為y 標(biāo)簽的概率翅萤。特征x包含用戶信息(城市恐疲、語(yǔ)言),上下文(hour套么,week培己、設(shè)備),展示信息(app age胚泌,APP的歷史統(tǒng)計(jì)信息)省咨。這篇paper ,我們聚焦使用wide&deep的排序系統(tǒng)玷室。

3零蓉、wide&deep learning

3.1 the wide component

wide component 是一個(gè)廣義線性模型:


image.png


y是target穷缤,x是 特征向量敌蜂,w是model 參數(shù),b是bias津肛。特征集合包含原始輸入和轉(zhuǎn)換特征章喉。轉(zhuǎn)換特征最重要的部分是交叉轉(zhuǎn)換


image.png

cki 是bool值,1代表第i-th特征是k-th 的一部分

比如AND(gender=female, language=en
只有特征都為1,φk(x) 為1
這種特征cross-product秸脱,增加了非線性關(guān)系到廣義線性模型落包。

3.2 the deep component

the deep component 是一個(gè)前饋的神經(jīng)網(wǎng)絡(luò),如圖所示摊唇,對(duì)于categorical features原始輸入是 string 類(lèi)型妥色,高維稀疏的categorical features 首先轉(zhuǎn)換成低維緊密的向量,經(jīng)常提到是embedding vector遏片,embedding的維數(shù) 從100到10嘹害,embedding的維數(shù)首先隨機(jī)初始化,然后在訓(xùn)練過(guò)程中被訓(xùn)練到最小的誤差吮便。低維的embedding vector 喂到隱藏層笔呀,特別的,每個(gè)隱藏層的計(jì)算公式是:
image.png

l 是層數(shù)髓需,f是激活函數(shù)许师,通常是relu函數(shù) ,a 僚匆、b微渠、w 是神經(jīng)元 、偏差 和權(quán)重

3.3 交叉訓(xùn)練wide&deep model

The wide component and deep component 使用權(quán)重相加log(輸出)作為預(yù)測(cè)值咧擂,然后喂到邏輯回歸逞盆。值得注意的是,joint training and ensemble 的區(qū)別松申。在ensemble 中云芦,單個(gè)模型的訓(xùn)練是分開(kāi)的,他們的預(yù)測(cè)值在最后combine 贸桶。相反舅逸,joint training 優(yōu)化所有參數(shù)通過(guò)一起訓(xùn)練wide和deep part 。這在model size 也暗示了皇筛,對(duì)于ensemble 琉历,因?yàn)橛?xùn)練是分開(kāi)的,所以單個(gè)model size 比較大水醋。相反的是旗笔,對(duì)于wide&deep ,交叉訓(xùn)練使得wide部分僅僅只需要deep part 比較不善于處理的 cross-product 轉(zhuǎn)換信息离例,而不是全部size的特征集合换团。

wide&deep 的訓(xùn)練時(shí)候使用mini-batch 去優(yōu)化。在實(shí)驗(yàn)中宫蛆,使用FTRL 算法(L1正則化艘包、adaGrad)去訓(xùn)練deep

model的公式如下描述


image.png

Y是二值標(biāo)簽的猛,最終使用SIGMOD函數(shù)。

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

app推薦pipline 的實(shí)現(xiàn)有三個(gè)部分組成:數(shù)據(jù)生成想虎、模型訓(xùn)練卦尊、模型服務(wù)


image.png

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

這個(gè)環(huán)節(jié),用戶和app 一段時(shí)間內(nèi)的展示信息生成訓(xùn)練數(shù)據(jù)舌厨。比如label:app 安裝岂却,app 沒(méi)有安裝
將string類(lèi)型的特征轉(zhuǎn)換成整數(shù)類(lèi)型也是這個(gè)環(huán)節(jié),系統(tǒng)計(jì)算ID 空間裙椭。連續(xù)特征標(biāo)準(zhǔn)化到【0躏哩,1】

4.2 模型訓(xùn)練

image.png

模型結(jié)構(gòu)如圖四所示,在訓(xùn)練過(guò)程中揉燃,我們的輸入層的輸入是string特征和one-hot特征扫尺。wide部分 包含交叉信息。對(duì)于deep part 炊汤,32維的embedding vector從categorical 特征學(xué)習(xí)到正驻。我們連接所有embedding vector ,大概1200維抢腐,然后喂到3層relu 層姑曙,最后邏輯回歸輸出。
wide&deep model使用500億的樣本訓(xùn)練迈倍,每次新的樣本集伤靠,model 需要重新訓(xùn)練。每次重新訓(xùn)練模型是非常昂貴的授瘦,更新模型需要時(shí)間醋界。為了克服,我們實(shí)現(xiàn)了一個(gè)熱啟動(dòng)系統(tǒng)提完,初始化新模型
使用模型前,需要驗(yàn)證

4.3 模型服務(wù)

模型訓(xùn)練和驗(yàn)證后丘侠,我們加載模型到模型服務(wù)中徒欣。對(duì)于每次請(qǐng)求,服務(wù)接收到app檢索系統(tǒng)返回過(guò)來(lái)的候選集和用戶特征 蜗字,然后評(píng)分打肝。系統(tǒng)按分?jǐn)?shù)從高到低排序,然后展示給用戶挪捕,分?jǐn)?shù)由 wide&deep 模型給出粗梭。
為了響應(yīng)10ms 的請(qǐng)求,我們使用多線程并行運(yùn)行優(yōu)化性能级零。

5.實(shí)驗(yàn)結(jié)果

為了評(píng)估wide&deep在真實(shí)推薦系統(tǒng)的效果断医,我們?cè)诰€實(shí)驗(yàn)了模型和系統(tǒng)滞乙,指標(biāo)是:app 下載率和系統(tǒng)性能。

5.1 app 下載

我們比較在3周內(nèi)的A/B 測(cè)試結(jié)果鉴嗤。對(duì)于每個(gè)組斩启,1%的用戶被隨機(jī)選擇和展示排序結(jié)果,在實(shí)驗(yàn)中
wide%deep 比wide 提升了3.9%的下載率醉锅。
在表中還展示了離線的AUC兔簇。
wide&deep 在AUC 上面表現(xiàn)略好,在線流量中表現(xiàn)突出硬耍÷⑺觯可能原因是,離線的數(shù)據(jù)集合都是固定的经柴,在線系統(tǒng)能夠高度概括從新用戶中學(xué)習(xí)到的特征此虑。

5.2 服務(wù)性能

使用了多線程并發(fā) 和切分?jǐn)?shù)據(jù) 去提高響應(yīng)時(shí)間

6.相關(guān)工作

wide和deep 整合idea 來(lái)源因子分解機(jī)
在nlp 中,一起訓(xùn)練rnn 和最大信息熵模型已經(jīng)被提出口锭,來(lái)較低rnn 的復(fù)雜度朦前。在計(jì)算視覺(jué)中,殘差網(wǎng)絡(luò)用來(lái)降低訓(xùn)練難度和提高準(zhǔn)確率鹃操,一起訓(xùn)練的圖神經(jīng)網(wǎng)絡(luò)已經(jīng)被運(yùn)用到人類(lèi)姿勢(shì)識(shí)別中韭寸。在我們的工作中,我們一起訓(xùn)練前饋神經(jīng)網(wǎng)絡(luò)和線性模型荆隘。
在推薦系統(tǒng)的文獻(xiàn)中恩伺,有人探索了協(xié)同深度學(xué)習(xí),通過(guò)一個(gè)系統(tǒng)過(guò)濾矩陣和上下文信息并且在appJoy 中應(yīng)用椰拒。不同他們的工作晶渠,我們提出了wide&deep

結(jié)論

記憶和概括功能在推薦系統(tǒng)都非常重要,wide線性模型能有效記憶稀疏特征通過(guò)叉積轉(zhuǎn)換的信息燃观,同時(shí)deep 深度模型能夠概括之前沒(méi)有出現(xiàn)過(guò)特征褒脯。我們提出了wide&deep學(xué)習(xí)框架整合兩個(gè)模型的長(zhǎng)處,我們生產(chǎn)評(píng)估了推薦系統(tǒng)的效果缆毁,在線實(shí)驗(yàn)中wide&deep 比純wide 和純deep 效果都要好番川。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市脊框,隨后出現(xiàn)的幾起案子颁督,更是在濱河造成了極大的恐慌,老刑警劉巖浇雹,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沉御,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡昭灵,警方通過(guò)查閱死者的電腦和手機(jī)吠裆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)伐谈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人硫痰,你說(shuō)我怎么就攤上這事衩婚。” “怎么了效斑?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵非春,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我缓屠,道長(zhǎng)奇昙,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任敌完,我火速辦了婚禮储耐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘滨溉。我一直安慰自己什湘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布晦攒。 她就那樣靜靜地躺著闽撤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脯颜。 梳的紋絲不亂的頭發(fā)上哟旗,一...
    開(kāi)封第一講書(shū)人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音栋操,去河邊找鬼闸餐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛矾芙,可吹牛的內(nèi)容都是我干的舍沙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蠕啄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼场勤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起歼跟,我...
    開(kāi)封第一講書(shū)人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎格遭,沒(méi)想到半個(gè)月后哈街,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拒迅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年骚秦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了她倘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡作箍,死狀恐怖硬梁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胞得,我是刑警寧澤荧止,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站阶剑,受9級(jí)特大地震影響跃巡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜牧愁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一素邪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猪半,春花似錦兔朦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至俐填,卻和暖如春安接,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背英融。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工盏檐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驶悟。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓胡野,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親痕鳍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子硫豆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355