2016-《Wide&Deep Learning for Recommenders Systems》論文筆記

1. 背景

??本文提出Wide&Deep模型侦鹏,旨在使得訓(xùn)練得到的模型能過同時獲得記憶(memorization)和泛化(generalization)能力:

??(若只有Wide部分俩功,推薦具有極高的相關(guān)性而缺少泛化內(nèi)容荣病;若只有Deep部分布疙,推薦存在過度泛化和推薦缺乏相關(guān)性的問題;所以將兩者相結(jié)合使模型同時獲得記憶和泛化能力尝偎。)

??- 記憶(memorization)即從歷史數(shù)據(jù)中發(fā)現(xiàn)item或者特征之間的相關(guān)性重归。

??- 泛化(generalization)即相關(guān)性的傳遞,發(fā)現(xiàn)在歷史數(shù)據(jù)中很少或者沒有出現(xiàn)的新的特征組合减噪。

??在推薦系統(tǒng)中短绸,記憶體現(xiàn)的準(zhǔn)確性而泛化體現(xiàn)的是新穎性。

??在本文中筹裕,利用Wide & Deep模型醋闭,使訓(xùn)練出來的模型能夠同時擁有上述的兩種特性。


2. 模型整體架構(gòu)

推薦系統(tǒng)整體架構(gòu)

??推薦系統(tǒng)的整體架構(gòu)朝卒,由兩個部分組成证逻,檢索系統(tǒng)(或者說候選生成系統(tǒng)排序系統(tǒng)(排序網(wǎng)絡(luò))

??用檢索(retrieval) 的方法對大數(shù)據(jù)集進(jìn)行初步篩選抗斤,返回最匹配query的一部分物品列表囚企,這里的檢索通常會結(jié)合采用機器學(xué)習(xí)模型(machine-learned models)人工定義規(guī)則(human-defined rules)兩種方法丈咐。從大規(guī)模樣本中召回最佳候選集之后,再使用排序系統(tǒng)對每個物品進(jìn)行算分龙宏、排序棵逊,分?jǐn)?shù)P(y|x),y是用戶采取的行動(比如說下載行為),x是特征银酗,包括:

??- User features:

??eg:country, language, demographics;

??- Contextual features:

??eg:device, hour of the day, day of the week;

??- Impression features

??eg:app age, historical statistics of an app;

??Wide & Deep Model就是用在排序系統(tǒng)中辆影。


3. Wide & Deep模型

??簡單來說,人腦就是一個不斷記憶(memorization)并且歸納(generalization)的過程黍特,而這篇論文的思想蛙讥,就是將寬線性模型(Wide Model,用于記憶灭衷,下圖左側(cè))和深度神經(jīng)網(wǎng)絡(luò)模型(Deep Model键菱,用于歸納,下圖右側(cè))結(jié)合今布,汲取各自優(yōu)勢形成了 Wide & Deep 模型用于推薦排序(下圖中間)经备。

Wide & Deep模型

3.1 Wide Model

Memorization can be loosely defined as learning the frequent co-occurrence of items or features and exploiting the correlation available in the historical data.

??要理解的概念是 Memorization,主要是學(xué)習(xí)特征的共性或者說相關(guān)性部默,產(chǎn)生的推薦是和已經(jīng)有用戶行為的物品直接相關(guān)的物品侵蒙。

??用的模型是 邏輯回歸(logistic regression, LR),LR 的優(yōu)點就是簡單(simple)傅蹂、容易規(guī)姆坠耄化(scalable)、可解釋性強(interpretable)份蝴。LR 的特征往往是二值且稀疏的(binary and sparse)犁功,這里同樣采用 one-hot 編碼,如 “user_installed_app=netflix”婚夫,如果用戶安裝了 Netflix浸卦,這個特征的值為 1,否則為 0案糙。

??為了達(dá)到 Memorization限嫌,我們對稀疏的特征采取 cross-product transformation,比如說 AND(user_installed_app=netflix, impression_app=pandora”) 這個特征时捌,只有 Netflix 和 Pandora 兩個條件都達(dá)到了怒医,值才為 1,這類 feature 解釋了 co-occurrence 和 target label 之間的關(guān)系奢讨。一個 cross-product transformation 的局限在于稚叹,對于在訓(xùn)練集里沒有出現(xiàn)過的 query-item pair,它不能進(jìn)行泛化(Generalization)

??到此,總結(jié)一下扒袖,寬度模型的輸入是用戶安裝應(yīng)用(installation)和為用戶展示(impression)的應(yīng)用間的向量積(叉乘)塞茅,模型通常訓(xùn)練 one-hot 編碼后的二值特征,這種操作不會歸納出訓(xùn)練集中未出現(xiàn)的特征對僚稿。

??Linear model 大家都很熟悉了

??x=[x1,x2,…,xd]是包含了 d 個特征的向量凡桥,w=[w1,w2,…,wd]是模型參數(shù),b 是偏置蚀同。最終在y的基礎(chǔ)上增加Sigmoid函數(shù)作為最終的輸出缅刽。也即是LR。

??特征包括了原始的輸入特征以及 cross-product transformation 特征蠢络,cross-product transformation 的式子如下:

??ckj是一個布爾變量衰猛,如果第 i 個特征是第 k 個 transformation φk 的一部分,那么值就為 1刹孔,否則為 0啡省,作用:

This captures the interactions between the binary features, and adds nonlinearity to the generalized linear model.

3.2 Deep Model

Generalization is based on transitivity of correlation and explores new feature combinations that have never or rarely occurred in the past.

??要理解的概念是 Generalization,可以理解為相關(guān)性的傳遞(transitivity)髓霞,會學(xué)習(xí)新的特征組合卦睹,來提高推薦物品的多樣性,或者說提供泛化能力(Generalization)

??泛化往往是通過學(xué)習(xí) low-dimensional dense embeddings 來探索過去從未或很少出現(xiàn)的新的特征組合來實現(xiàn)的方库,通常的 embedding-based model 有 Factorization Machines(FM) 和 Deep Neural Networks(DNN)结序。特殊興趣或者小眾愛好的用戶,query-item matrix 非常稀疏纵潦,很難學(xué)習(xí)徐鹤,然而 dense embedding 的方法還是可以得到對所有 query-item pair 非零的預(yù)測,這就會導(dǎo)致 over-generalize邀层,推薦不怎么相關(guān)的物品返敬。這點和 LR 正好互補,因為 LR 只能記住很少的特征組合寥院。

??為了達(dá)到 Generalization劲赠,我們會引入新的小顆粒特征,如類別特征(安裝了視頻類應(yīng)用只磷,展示的是音樂類應(yīng)用经磅,等等)AND(user_installed_category=video, impression_category=music),這些高維稀疏的類別特征(如人口學(xué)特征和設(shè)備類別)映射為低緯稠密的向量后钮追,與其他連續(xù)特征(用戶年齡、應(yīng)用安裝數(shù)等)拼接在一起阿迈,輸入 MLP 中元媚,最后輸入邏輯輸出單元。

??一開始嵌入向量(embedding vectors)被隨機初始化,然后訓(xùn)練過程中通過最小化損失函數(shù)來優(yōu)化模型刊棕。每一個隱層(hidden-layer)做這樣的計算:

??f 是激活函數(shù)(通常用 ReLU)炭晒,l 是層數(shù)。

??總結(jié)一下甥角,基于 embedding 的深度模型的輸入是 類別特征(產(chǎn)生embedding)+連續(xù)特征网严。

3.3 Joint Training

??對兩個模型的輸出算 log odds ratio 然后加權(quán)求和,作為預(yù)測嗤无。

??Joint Training vs Ensemble

??- Joint Training 同時訓(xùn)練 wide & deep 模型震束,優(yōu)化的參數(shù)包括兩個模型各自的參數(shù)以及 weights of sum;

??- Ensemble 中的模型是分別獨立訓(xùn)練的,互不干擾当犯,只有在預(yù)測時才會聯(lián)系在一起;

??用 mini-batch stochastic optimization 來進(jìn)行訓(xùn)練垢村。

??在論文提到的實驗中,訓(xùn)練時 Wide Model 部分用了 Follow-the-regularized-learder(FTRL)+ L1 正則嚎卫,Deep Model 用了 AdaGrad嘉栓。對于邏輯回歸,模型預(yù)測如下:


4 System Implementation

??pipeline 如下圖

4.1 Data Generation

??Label: 標(biāo)準(zhǔn)是 app acquisition拓诸,用戶下載為 1侵佃,否則為 0

??Vocabularies: 將類別特征(categorical features)映射為整型的 id,連續(xù)的實值先用累計分布函數(shù)CDF歸一化到[0,1]奠支,再劃檔離散化馋辈。

??Continuous real-valued features are normalized to [0, 1] by mapping a feature value x to its cumulative distribution function P(X ≤ x), divided into nq quantiles. The normalized value is (i?1)/(nq?1) for values in the i-th quantiles.

4.2 Model Training

??訓(xùn)練數(shù)據(jù)有 500 billion examples, Input layer 會同時產(chǎn)生稀疏(sparse)的和稠密(dense)的特征胚宦,具體的 Model 上面已經(jīng)討論過了首有。需要注意的是,當(dāng)新的訓(xùn)練數(shù)據(jù)來臨的時候枢劝,我們用的是熱啟動(warm-starting)方式井联,也就是從之前的模型中讀取 embeddings 以及 linear model weights 來初始化一個新模型,而不是全部推倒重新訓(xùn)練您旁。

4.3 Model Serving

??當(dāng)模型訓(xùn)練并且優(yōu)化好之后烙常,我們將它載入服務(wù)器,對每一個 request鹤盒,排序系統(tǒng)從檢索系統(tǒng)接收候選列表以及用戶特征蚕脏,來為每一個 app 算分排序,分?jǐn)?shù)就是前向傳播的值(forward inference)啦侦锯,可以并行訓(xùn)練提高 performance驼鞭。








Reference:

  1. 簡單易學(xué)的深度學(xué)習(xí)算法——Wide & Deep Learning

  2. 論文筆記 - Wide and Deep Learning for Recommender Systems

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市尺碰,隨后出現(xiàn)的幾起案子挣棕,更是在濱河造成了極大的恐慌译隘,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洛心,死亡現(xiàn)場離奇詭異固耘,居然都是意外死亡,警方通過查閱死者的電腦和手機词身,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門厅目,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人法严,你說我怎么就攤上這事损敷。” “怎么了渐夸?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵嗤锉,是天一觀的道長。 經(jīng)常有香客問我墓塌,道長瘟忱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任苫幢,我火速辦了婚禮访诱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘韩肝。我一直安慰自己触菜,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布哀峻。 她就那樣靜靜地躺著涡相,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剩蟀。 梳的紋絲不亂的頭發(fā)上催蝗,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音育特,去河邊找鬼丙号。 笑死,一個胖子當(dāng)著我的面吹牛缰冤,可吹牛的內(nèi)容都是我干的犬缨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼棉浸,長吁一口氣:“原來是場噩夢啊……” “哼怀薛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起迷郑,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤乾戏,失蹤者是張志新(化名)和其女友劉穎迂苛,沒想到半個月后三热,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鼓择,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年就漾,在試婚紗的時候發(fā)現(xiàn)自己被綠了呐能。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡抑堡,死狀恐怖摆出,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情首妖,我是刑警寧澤偎漫,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站有缆,受9級特大地震影響象踊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜棚壁,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一杯矩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袖外,春花似錦史隆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鬓照,卻和暖如春熔酷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颖杏。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工纯陨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人留储。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓翼抠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親获讳。 傳聞我的和親對象是個殘疾皇子阴颖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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

  • 該文章為轉(zhuǎn)載文章,作者簡介:汪劍丐膝,現(xiàn)在在出門問問負(fù)責(zé)推薦與個性化量愧。曾在微軟雅虎工作钾菊,從事過搜索和推薦相關(guān)工作。 T...
    名字真的不重要閱讀 5,286評論 0 3
  • 不知不覺居然有一個月沒寫簡書了偎肃,不來簡書的日子總會有那么一刻覺得心有點空煞烫。今天抽時間把近一個月的早餐整理出來,做個...
    xyz心若幽蘭閱讀 769評論 2 6
  • 何謂小品?以小見大紊馏,寥寥數(shù)筆一方天地料饥。觀止頓生“清風(fēng)出岫,明月入懷”之感朱监。 畫上說岸啡,不是小畫就是小品,寥寥數(shù)筆是從...
    畫苑閱讀 630評論 0 2
  • 菲諾完全看不到馬老和孫德勝眼中驚駭?shù)哪抗夂毡啵劬锶际切⌒切恰?孫德勝的眼里同菲諾一樣完全看不到別人的表情巡蘸,只見他...
    展煲閱讀 283評論 0 0
  • 最近和英語杠上了,開始的時候覺得自己的發(fā)音還可以沛慢,但是聽了專業(yè)課之后才發(fā)現(xiàn)其實很多發(fā)音只是聽起來像赡若,實際發(fā)音其實是...
    湉湉丫頭閱讀 237評論 0 1