1碍沐、前深度學(xué)習(xí)CTR預(yù)估模型的演化模型
在互聯(lián)網(wǎng)永不停歇的增長需求下斋陪,CTR預(yù)估模型發(fā)展可謂一日千里。從邏輯回歸進(jìn)化到因子分解機(jī)、梯度提升樹,再到深度學(xué)習(xí)的各種模型架構(gòu)男娄。LR尸折、FM等傳統(tǒng)CTR模型仍然憑借可解釋性強(qiáng)、輕量級的訓(xùn)練部署要求缴淋、便于在線學(xué)習(xí)等不可替代的優(yōu)勢,擁有大量適用的應(yīng)用場景重抖。中間位置的LR模型:向下為了解決特征交叉問題钟沛,演化出了PLOY2\FM\FFM等模型由捎;向右為了使用模型化心肪、自動化的手段解決之前的特征工程難題锭亏,F(xiàn)acebook將LR和GBDT進(jìn)行結(jié)合,提出GBDT+LR組合模型固该;向左Google從online learning的角度解決了模型的時效性問題锅减,提出了FTRL;向上阿里基于樣本分組的思路增加模型的非線性伐坏,提出了LS-PLM(MLR)模型怔匣。
(1)LR-CTR模型的核心和基礎(chǔ)
邏輯回歸的數(shù)學(xué)基礎(chǔ):邏輯回歸作為廣義線性模型的一種,它的假設(shè)是因變量服從伯努利分布桦沉,在點(diǎn)擊率預(yù)估這個事情上每瞒,點(diǎn)擊這個事件是否發(fā)生就是模型的因變量。
人類直覺和可解釋性:不同特征的重要程度
工程化的需要:LR模型也憑借其易于并行化纯露、模型簡單剿骨、訓(xùn)練開銷小等特點(diǎn)占據(jù)著工程領(lǐng)域的主流。
(2)PLOY2-特征交叉的開始
進(jìn)行所有特征的暴力組合埠褪,雖然一定程度解決了特征組合問題浓利,但本質(zhì)上仍是線性模型,但采用one-hot的方法處理id類數(shù)據(jù)组橄,致使特征向量極度稀疏荞膘,PLOY2進(jìn)行無選擇的特征交叉使原本稀疏的特征更加稀疏,使得大部分交叉特征的權(quán)重缺乏有效的數(shù)據(jù)進(jìn)行訓(xùn)練玉工,無法收斂羽资;權(quán)重參數(shù)由n上升到n^2,增加了訓(xùn)練的復(fù)雜度遵班。
(3)FM-隱向量特征交叉
FM為每一個特征學(xué)習(xí)一個隱向量屠升,利用兩個向量的內(nèi)積來取代權(quán)重潮改,減小了權(quán)重參數(shù),增強(qiáng)了泛化能力腹暖。
(4)FFM-引入特征域概念
FFM模型學(xué)習(xí)每個特征在f個域上的k維隱向量汇在,計(jì)算權(quán)重時取對方域的隱向量。
(5)GBDT+LR-特征工程模型化的開端
簡而言之脏答,F(xiàn)acebook提出了一種利用GBDT自動進(jìn)行特征篩選和組合糕殉,進(jìn)而生成新的離散特征向量,再把該特征向量當(dāng)作LR模型輸入殖告,預(yù)估CTR的模型結(jié)構(gòu)阿蝶。
需要強(qiáng)調(diào)的是,用GBDT構(gòu)建特征工程黄绩,和利用LR預(yù)估CTR兩步是獨(dú)立訓(xùn)練的羡洁。所以自然不存在如何將LR的梯度回傳到GBDT這類復(fù)雜的問題,而利用LR預(yù)估CTR的過程前面已經(jīng)有所介紹爽丹,在此不再贅述筑煮,下面著重講解如何利用GBDT構(gòu)建新的特征向量。
大家知道粤蝎,GBDT是由多棵回歸樹組成的樹林真仲,后一棵樹利用前面樹林的結(jié)果與真實(shí)結(jié)果的殘差做為擬合目標(biāo)。每棵樹生成的過程是一棵標(biāo)準(zhǔn)的回歸樹生成過程诽里,因此每個節(jié)點(diǎn)的分裂是一個自然的特征選擇的過程袒餐,而多層節(jié)點(diǎn)的結(jié)構(gòu)自然進(jìn)行了有效的特征組合飞蛹,也就非常高效的解決了過去非常棘手的特征選擇和特征組合的問題谤狡。
利用訓(xùn)練集訓(xùn)練好GBDT模型之后,就可以利用該模型完成從原始特征向量到新的離散型特征向量的轉(zhuǎn)化卧檐。具體過程是這樣的墓懂,一個訓(xùn)練樣本在輸入GBDT的某一子樹后,會根據(jù)每個節(jié)點(diǎn)的規(guī)則最終落入某一葉子節(jié)點(diǎn)霉囚,那么我們把該葉子節(jié)點(diǎn)置為1捕仔,其他葉子節(jié)點(diǎn)置為0,所有葉子節(jié)點(diǎn)組成的向量即形成了該棵樹的特征向量盈罐,把GBDT所有子樹的特征向量連接起來榜跌,即形成了后續(xù)LR輸入的特征向量。
GBDT生成特征向量的過程,舉例來說盅粪,如上圖所示钓葫,GBDT由三顆子樹構(gòu)成,每個子樹有4個葉子節(jié)點(diǎn)票顾,一個訓(xùn)練樣本進(jìn)來后础浮,先后落入“子樹1”的第3個葉節(jié)點(diǎn)中帆调,那么特征向量就是[0,0,1,0],“子樹2”的第1個葉節(jié)點(diǎn)豆同,特征向量為[1,0,0,0]番刊,“子樹3”的第4個葉節(jié)點(diǎn),特征向量為[0,0,0,1]影锈,最后連接所有特征向量芹务,形成最終的特征向量[0,0,1,0,1,0,0,0,0,0,0,1]。
由于決策樹的結(jié)構(gòu)特點(diǎn)鸭廷,事實(shí)上锄禽,決策樹的深度就決定了特征交叉的維度。如果決策樹的深度為4靴姿,通過三次節(jié)點(diǎn)分裂沃但,最終的葉節(jié)點(diǎn)實(shí)際上是進(jìn)行了3階特征組合后的結(jié)果,如此強(qiáng)的特征組合能力顯然是FM系的模型不具備的佛吓。但由于GBDT容易產(chǎn)生過擬合宵晚,以及GBDT這種特征轉(zhuǎn)換方式實(shí)際上丟失了大量特征的數(shù)值信息,因此我們不能簡單說GBDT由于特征交叉的能力更強(qiáng)维雇,效果就比FFM好淤刃,在模型的選擇和調(diào)試上,永遠(yuǎn)都是多種因素綜合作用的結(jié)果吱型。
GBDT+LR比FM重要的意義在于逸贾,它大大推進(jìn)了特征工程模型化這一重要趨勢,某種意義上來說津滞,之后深度學(xué)習(xí)的各類網(wǎng)絡(luò)結(jié)構(gòu)铝侵,以及embedding技術(shù)的應(yīng)用,都是這一趨勢的延續(xù)触徐。在之前所有的模型演化過程中咪鲜,實(shí)際上是從特征工程這一角度來推演的。
(6)FTRL-天下武功撞鹉,唯快不破
FTRL解決了模型精度(隨機(jī)梯度下降優(yōu)化)和模型稀疏性(權(quán)重減信北)兼顧的訓(xùn)練問題。
(7)LS-PLM-阿里曾經(jīng)的主流CTR模型
即MLR(mixed logistic regression)鸟雏,先對樣本進(jìn)行分片享郊,再在樣本分片中應(yīng)用LR進(jìn)行CTR預(yù)估。先用聚類函數(shù)進(jìn)行多分類(soft Max函數(shù))再用LR模型計(jì)算樣本在分片中具體的CTR孝鹊,然后將二者進(jìn)行相乘后加和炊琉。實(shí)現(xiàn)端到端的非線性學(xué)習(xí),在建模時加入L1L2范數(shù)可以使得最終訓(xùn)練出來的模型具有較高的稀疏性惶室,模型的學(xué)習(xí)和在線預(yù)測性能更好温自。
2玄货、?深度學(xué)習(xí)CTR模型演化
base model:微軟Deep Crossing
架構(gòu)優(yōu)化:PNN\FNN\BIN\DIEN
LR作為wide部分與MLP deep部分的結(jié)合,wide&deep悼泌;
Wide部分改進(jìn):DCN\DeepFM
Deep部分改進(jìn):AFM(在deep部分加入attention net)\NFM(將deep部分替換成有Bi-interaction層的MLP)
(1)微軟Deep Crossing(2016年)-深度學(xué)習(xí)的CTR模型的base model
Deep Crossing - Web-Scale Modeling without Manually Crafted Combinatorial Features
通過加入embedding層將稀疏特征轉(zhuǎn)化為低維稠密特征松捉,用stacking layer,或者叫做contact layer將分段的特征向量連接起來馆里,再通過多層殘差神經(jīng)網(wǎng)絡(luò)完成特征的組合隘世、轉(zhuǎn)換,最終用scoring layer完成CTR的計(jì)算鸠踪。
(2)FNN(2016年)-用FM的隱向量完成embedding初始化
Deep Learning over Multi-field Categorical Data?
FNN相比deep crossing的創(chuàng)新在于使用FM的隱層向量作為embedding丙者。由于ID類特征大量采用one-hot的編碼方式,導(dǎo)致其維度極大营密,向量極稀疏械媒,所以embedding層與輸入層的連接極多,梯度下降的效率很低评汰,這大大增加了模型訓(xùn)練的時間和embedding的不穩(wěn)定性纷捞,使用pre train的方法完成embedding層的訓(xùn)練,是降低深度學(xué)習(xí)模型復(fù)雜度和訓(xùn)練不穩(wěn)定性的有效工程經(jīng)驗(yàn)被去。
(3)PNN(2016年)-豐富特征交叉的方式
Product-based Neural Networks for User Response Prediction
PNN模型的embedding層學(xué)習(xí)種類特征的分布式表示主儡,product層捕獲種類特征之間的交互特征(學(xué)習(xí)filed之間的交互特征),全連接層捕獲高階交互特征惨缆。PNN的關(guān)鍵在于在embedding層和全連接層之間加了product layer糜值,完成針對性的特征交叉,并定義了inner product坯墨,outer product等多種product的操作捕捉不同的交叉信息寂汇,增強(qiáng)模型表征不同數(shù)據(jù)模式的能力。圖中Product層包括Z和P兩部分:
Z:在數(shù)據(jù)流中畅蹂,假設(shè)Field個數(shù)為N健无,那么經(jīng)過Embedding后的Field得到了N個Feature荣恐,將這N個Feature拿過來并排液斜,沒有經(jīng)過線性變換,就得到Z(參考Embedding Vector有兩種處理策略)叠穆。這部分代表的是對低維度特征少漆,或者說原始特征的建模。加入這一部分訓(xùn)練會變得穩(wěn)定硼被。
P:經(jīng)過Embedding后得到的N個Feature兩兩組合進(jìn)行Product操作示损,把結(jié)果放到一起就得到了p。N個向量兩兩組合嚷硫,會產(chǎn)生N(N-1)/2對組合检访。其中Product操作包括內(nèi)積運(yùn)算和外積運(yùn)算始鱼,內(nèi)積運(yùn)算:每個神經(jīng)元就是一個實(shí)數(shù)值,外積運(yùn)算:每個神經(jīng)元就是一個二維矩陣脆贵。
其中fi是field i經(jīng)過Embedding后得到的Feature医清。Pi,j = g(fi, fj)定義為Feature之間兩兩組合,PNN中操作方式的不同卖氨,g函數(shù)會不同会烙。
(4)Google wide&deep(2016年)-記憶能力和泛化能力的綜合權(quán)衡
Wide & Deep Learning for Recommender Systems?
把單輸入層的wide部分和經(jīng)過多層感知機(jī)的deep部分連接起來,一起輸入最終的輸出層筒捺。其中wide部分的主要作用是讓模型具有記憶性柏腻,單層的wide部分善于處理大量的歷史信息,deep部分的主要作用是讓模型具有泛化性系吭,利用DNN表達(dá)能力強(qiáng)的特點(diǎn)五嫂,挖掘藏在特征后面的數(shù)據(jù)模式。最終利用LR輸出層將wide部分和deep 部分組合起來肯尺,形成統(tǒng)一的模型贫导。
(5)華為deepFM(2017年)-用FM代替wide 部分
?Factorization-Machine based Neural Network for CTR Prediction(果然優(yōu)秀到讓一眼看過去就會覺得不一樣,哈哈)
deepFM用FM替換掉了原來的wide部分蟆盹,加強(qiáng)了淺層網(wǎng)絡(luò)部分特征組合的能力孩灯。事實(shí)上,由于FM本身就是由一階部分和二階部分組成的逾滥,deepFM相當(dāng)于同時組合了原wide部分+二階特征交叉部分+deep部分三種結(jié)構(gòu)峰档,進(jìn)一步增強(qiáng)了模型的表達(dá)能力。
(6)Google deep&cross(2017年)-使用cross網(wǎng)絡(luò)代替wide部分
Deep & Cross Network for Ad Click Predictions?
使用cross網(wǎng)絡(luò)替代了原來的wide部分寨昙,使用多層cross layer對輸入向量進(jìn)行特征交叉讥巡。
(7)NFM deepFM(2017年)-對deep部分的改進(jìn)
Neural Factorization Machines for Sparse Predictive Analytics?
deep部分變成了二階隱向量相乘的形式,NFM從修改FM二階部分的角度出發(fā)舔哪,用一個帶Bi-interaction Pooling層的DNN替換了FM的特征交叉部分欢顷,形成了獨(dú)特的wide&deep架構(gòu)。其中Bi-interaction Pooling可以看作是不同特征embedding的element-wise product的形式捉蚤,這也是NFM相比Google wide&deep的創(chuàng)新之處抬驴。
(8)AFM(2017年)-引入attention機(jī)制的FM
Attentional Factorization Machines - Learning the Weight of Feature Interactions via Attention Networks?
對FM的二階部分的每個特征交叉賦予了權(quán)重,這個權(quán)重控制了交叉特征對最后結(jié)果的影響缆巧,也就非常類似于NLP領(lǐng)域的注意力機(jī)制布持。
(9)阿里DIN(2018年)-阿里加入attention機(jī)制的深度學(xué)習(xí)網(wǎng)絡(luò)
Deep Interest Network for Click-Through Rate Prediction
deep interest network將attention機(jī)制作用于深度神經(jīng)網(wǎng)路,在模型的embedding layer和concatenate layer之間加入了attention unit陕悬,使模型能夠根據(jù)候選商品的不同题暖,調(diào)整不同特征的權(quán)重。
(10)阿里DIEN(2018年)-DIN的進(jìn)化
Deep Interest Evolution Network for Click-Through Rate Prediction
DIEN的全稱為Deep Interest Evolution Network,它不僅是對DIN的進(jìn)一步“進(jìn)化”胧卤,更重要的是DIEN通過引入序列模型 AUGRU模擬了用戶興趣進(jìn)化的過程唯绍。具體來講模型的主要特點(diǎn)是在Embedding layer和Concatenate layer之間加入了生成興趣的Interest Extractor Layer和模擬興趣演化的Interest Evolving layer。其中Interest Extractor Layer使用了DIN的結(jié)構(gòu)抽取了每一個時間片內(nèi)用戶的興趣枝誊,Interest Evolving layer則利用序列模型AUGRU的結(jié)構(gòu)將不同時間的用戶興趣串聯(lián)起來推捐,形成興趣進(jìn)化的鏈條。最終再把當(dāng)前時刻的“興趣向量”輸入上層的多層全連接網(wǎng)絡(luò)侧啼,與其他特征一起進(jìn)行最終的CTR預(yù)估牛柒。
參考資料
1、https://zhuanlan.zhihu.com/p/61154299?前深度學(xué)習(xí)時代CTR預(yù)估模型的演化之路
2痊乾、https://zhuanlan.zhihu.com/p/63186101?谷歌皮壁、阿里、微軟等10大深度學(xué)習(xí)CTR模型最全演化圖譜【推薦哪审、廣告蛾魄、搜索領(lǐng)域】?(包含各篇論文地址)