深度學(xué)習(xí)CTR模型的演化圖譜
一么库、Factorization Machines(2010年)——FM系列開(kāi)山之作
介紹了分解機(jī)器(FM)傻丝,它是一種新的模型類,它結(jié)合了支持向量機(jī)(SVM)和分解模型的優(yōu)點(diǎn)诉儒。與SVM一樣葡缰,FM是使用任何實(shí)值特征向量的一般預(yù)測(cè)器。與SVM相比,F(xiàn)M使用分解參數(shù)模擬變量之間的所有交互泛释。因此滤愕,即使在SVM失敗的巨大稀疏性(如推薦系統(tǒng))的問(wèn)題中,他們也能夠估計(jì)相互作用怜校。我們證明了FM的模型方程可以在線性時(shí)間內(nèi)計(jì)算间影,因此FM可以直接優(yōu)化。因此茄茁,與非線性SVM不同宇智,不需要雙重形式的變換,并且可以直接估計(jì)模型參數(shù)胰丁,而無(wú)需解決方案中的任何支持向量。我們展示了與SVM的關(guān)系以及FM在稀疏設(shè)置中進(jìn)行參數(shù)估計(jì)的優(yōu)勢(shì)喂分。另一方面锦庸,有許多不同的因子分解模型,如矩陣分解蒲祈,并行因子分析或?qū)S媚P透氏簦鏢VD ++,PITF或FPMC梆掸。這些模型的缺點(diǎn)是它們不適用于一般預(yù)測(cè)任務(wù)扬卷,但僅適用于特殊輸入數(shù)據(jù)。此外酸钦,他們的模型方程和優(yōu)化算法是針對(duì)每個(gè)任務(wù)單獨(dú)導(dǎo)出的怪得。我們通過(guò)指定輸入數(shù)據(jù)(即特征向量)顯示FM可以模仿這些模型。這使得即使對(duì)于沒(méi)有分解模型專業(yè)知識(shí)的用戶卑硫,F(xiàn)M也很容易適用徒恋。
論文:Factorization Machines
代碼:libfm
二、FFM(2017年)——對(duì)FM按照f(shuō)ield改進(jìn)
FM算法將所有特征歸結(jié)到一個(gè)field欢伏,而FFM算法則按照f(shuō)ield對(duì)不同特征進(jìn)行區(qū)分入挣,主要體現(xiàn)在交叉項(xiàng)中。在FM算法中user這個(gè)特征對(duì)應(yīng)的latent vector不論是對(duì)price硝拧、genre還是movie都是相同的径筏,而FFM算法中則對(duì)特征進(jìn)行歸類,latent vector會(huì)區(qū)分交叉filed障陶,模型參數(shù)個(gè)數(shù)n(n-1)/2滋恬。可以看出來(lái)FM算法時(shí)FFM算法的一個(gè)特例咸这,但是隨著FFM算法對(duì)latent vector的細(xì)化夷恍,F(xiàn)M算法中交叉簡(jiǎn)化將不再適用.
論文:Field-aware Factorization Machines for CTR Prediction
代碼:CTR_Prediction
三、微軟Deep Crossing(2016年)——深度學(xué)習(xí)CTR模型的base model
微軟于2016年提出的Deep Crossing可以說(shuō)是深度學(xué)習(xí)CTR模型的最典型和基礎(chǔ)性的模型。它涵蓋了深度CTR模型最典型的要素酿雪,即通過(guò)加入embedding層將稀疏特征轉(zhuǎn)化為低維稠密特征遏暴,用stacking layer,或者叫做concat layer將分段的特征向量連接起來(lái)指黎,再通過(guò)多層神經(jīng)網(wǎng)絡(luò)完成特征的組合朋凉、轉(zhuǎn)換,最終用scoring layer完成CTR的計(jì)算醋安。跟經(jīng)典DNN有所不同的是杂彭,Deep crossing采用的multilayer perceptron是由殘差網(wǎng)絡(luò)組成的。
論文:Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features
四吓揪、FNN(2016年)——用FM的隱向量完成Embedding初始化
FNN相比Deep Crossing的創(chuàng)新在于使用FM的隱層向量作為user和item的Embedding亲怠,從而避免了完全從隨機(jī)狀態(tài)訓(xùn)練Embedding。由于id類特征大量采用one-hot的編碼方式柠辞,導(dǎo)致其維度極大团秽,向量極稀疏,所以Embedding層與輸入層的連接極多叭首,梯度下降的效率很低习勤,這大大增加了模型的訓(xùn)練時(shí)間和Embedding的不穩(wěn)定性,使用pre train的方法完成Embedding層的訓(xùn)練焙格,無(wú)疑是降低深度學(xué)習(xí)模型復(fù)雜度和訓(xùn)練不穩(wěn)定性的有效工程經(jīng)驗(yàn)图毕。
論文:Deep Learning over Multi-field Categorical Data
代碼:dnn_ctr
五、CCPM(2015年)——輸入實(shí)例中提取本地全局關(guān)鍵特征
提出了一種新的模型眷唉,基于卷積神經(jīng)網(wǎng)絡(luò)的卷積點(diǎn)擊預(yù)測(cè)模型(CCPM)予颤。CCPM可以從具有不同元素的輸入實(shí)例中提取本地全局關(guān)鍵特征,這不僅可以實(shí)現(xiàn)單個(gè)廣告展示冬阳,還可以實(shí)現(xiàn)順序廣告展示荣瑟。
論文:A Convolutional Click Prediction Model
代碼:DeepCTR
六、PNN (2016年)——豐富特征交叉的方式
PNN的全稱是Product-based Neural Network摩泪,PNN的關(guān)鍵在于在embedding層和全連接層之間加入了Product layer笆焰。傳統(tǒng)的DNN是直接通過(guò)多層全連接層完成特征的交叉和組合的,但這樣的方式缺乏一定的“針對(duì)性”见坑。首先全連接層并沒(méi)有針對(duì)不同特征域之間進(jìn)行交叉嚷掠;其次,全連接層的操作也并不是直接針對(duì)特征交叉設(shè)計(jì)的荞驴。但在實(shí)際問(wèn)題中不皆,特征交叉的重要性不言而喻,比如年齡與性別的交叉是非常重要的分組特征熊楼,包含了大量高價(jià)值的信息霹娄,我們急需深度學(xué)習(xí)網(wǎng)絡(luò)能夠有針對(duì)性的結(jié)構(gòu)能夠表征這些信息。因此PNN通過(guò)加入Product layer完成了針對(duì)性的特征交叉,其product操作在不同特征域之間進(jìn)行特征組合犬耻。并定義了inner product踩晶,outer product等多種product的操作捕捉不同的交叉信息,增強(qiáng)模型表征不同數(shù)據(jù)模式的能力 枕磁。
論文:Product-based Neural Networks for User Response Prediction
代碼:product-nets
七渡蜻、Google Wide&Deep(2016年)——記憶能力和泛化能力的綜合權(quán)衡
Google Wide&Deep模型的主要思路正如其名,把單輸入層的Wide部分和經(jīng)過(guò)多層感知機(jī)的Deep部分連接起來(lái)计济,一起輸入最終的輸出層茸苇。其中Wide部分的主要作用是讓模型具有記憶性(Memorization),單層的Wide部分善于處理大量稀疏的id類特征沦寂,便于讓模型直接“記住”用戶的大量歷史信息学密;Deep部分的主要作用是讓模型具有“泛化性”(Generalization),利用DNN表達(dá)能力強(qiáng)的特點(diǎn)传藏,挖掘藏在特征后面的數(shù)據(jù)模式则果。最終利用LR輸出層將Wide部分和Deep部分組合起來(lái),形成統(tǒng)一的模型漩氨。Wide&Deep對(duì)之后模型的影響在于——大量深度學(xué)習(xí)模型采用了兩部分甚至多部分組合的形式,利用不同網(wǎng)絡(luò)結(jié)構(gòu)挖掘不同的信息后進(jìn)行組合遗增,充分利用和結(jié)合了不同網(wǎng)絡(luò)結(jié)構(gòu)的特點(diǎn)叫惊。
論文:Wide & Deep Learning for Recommender Systems
代碼:wide_deep
八、華為 DeepFM (2017年)——用FM代替Wide部分
在Wide&Deep之后做修,諸多模型延續(xù)了雙網(wǎng)絡(luò)組合的結(jié)構(gòu)霍狰,DeepFM就是其中之一。DeepFM對(duì)Wide&Deep的改進(jìn)之處在于饰及,它用FM替換掉了原來(lái)的Wide部分蔗坯,加強(qiáng)了淺層網(wǎng)絡(luò)部分特征組合的能力。事實(shí)上燎含,由于FM本身就是由一階部分和二階部分組成的宾濒,DeepFM相當(dāng)于同時(shí)組合了原Wide部分+二階特征交叉部分+Deep部分三種結(jié)構(gòu),無(wú)疑進(jìn)一步增強(qiáng)了模型的表達(dá)能力屏箍。
論文:A Factorization-Machine based Neural Network for CTR Prediction
代碼tensorflow-DeepFM
九绘梦、Google Deep&Cross(2017年)——使用Cross網(wǎng)絡(luò)代替Wide部分
Google 2017年發(fā)表的Deep&Cross Network(DCN)同樣是對(duì)Wide&Deep的進(jìn)一步改進(jìn),主要的思路使用Cross網(wǎng)絡(luò)替代了原來(lái)的Wide部分赴魁。其中設(shè)計(jì)Cross網(wǎng)絡(luò)的基本動(dòng)機(jī)是為了增加特征之間的交互力度卸奉,使用多層cross layer對(duì)輸入向量進(jìn)行特征交叉。單層cross layer的基本操作是將cross layer的輸入向量xl與原始的輸入向量x0進(jìn)行交叉颖御,并加入bias向量和原始xl輸入向量榄棵。DCN本質(zhì)上還是對(duì)Wide&Deep Wide部分表達(dá)能力不足的問(wèn)題進(jìn)行改進(jìn),與DeepFM的思路非常類似。
論文:Deep & Cross Network for Ad Click Predictions
代碼:Deep-and-Cross-Keras
十疹鳄、xDeepFM(2018年)——一種新穎的壓縮交互網(wǎng)絡(luò)
提出了一種新穎的壓縮交互網(wǎng)絡(luò)(CIN)拧略,其目的是以明確的方式和向量級(jí)別生成特征交互。我們證明了CIN與卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)共享一些功能尚辑。我們進(jìn)一步將CIN和經(jīng)典DNN組合成一個(gè)統(tǒng)一的模型辑鲤,并將這個(gè)新模型命名為eXtreme Deep Factorization Machine(xDeepFM)。一方面杠茬,xDeepFM能夠明確地學(xué)習(xí)某些有界度特征交互; 另一方面月褥,它可以隱含地學(xué)習(xí)任意低階和高階特征交互。
論文:xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems
代碼:xDeepFM
十一瓢喉、NFM(2017年)——對(duì)Deep部分的改進(jìn)
相對(duì)于DeepFM和DCN對(duì)于Wide&Deep Wide部分的改進(jìn)宁赤,NFM可以看作是對(duì)Deep部分的改進(jìn)。NFM的全稱是Neural Factorization Machines栓票,如果我們從深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)的角度看待FM决左,F(xiàn)M也可以看作是由單層LR與二階特征交叉組成的Wide&Deep的架構(gòu),與經(jīng)典W&D的不同之處僅在于Deep部分變成了二階隱向量相乘的形式走贪。再進(jìn)一步佛猛,NFM從修改FM二階部分的角度出發(fā),用一個(gè)帶Bi-interaction Pooling層的DNN替換了FM的特征交叉部分坠狡,形成了獨(dú)特的Wide&Deep架構(gòu)继找。其中Bi-interaction Pooling可以看作是不同特征embedding的element-wise product的形式。這也是NFM相比Google Wide&Deep的創(chuàng)新之處逃沿。
論文:Neural Factorization Machines for Sparse Predictive Analytics
代碼:dnn_ctr
十二婴渡、AFM(2017年)——引入Attention機(jī)制的FM
AFM的全稱是Attentional Factorization Machines,通過(guò)前面的介紹我們很清楚的知道凯亮,F(xiàn)M其實(shí)就是經(jīng)典的Wide&Deep結(jié)構(gòu)边臼,其中Wide部分是FM的一階部分,Deep部分是FM的二階部分假消,而AFM顧名思義柠并,就是引入Attention機(jī)制的FM,具體到模型結(jié)構(gòu)上富拗,AFM其實(shí)是對(duì)FM的二階部分的每個(gè)交叉特征賦予了權(quán)重堂鲤,這個(gè)權(quán)重控制了交叉特征對(duì)最后結(jié)果的影響,也就非常類似于NLP領(lǐng)域的注意力機(jī)制(Attention Mechanism)媒峡。為了訓(xùn)練Attention權(quán)重瘟栖,AFM加入了Attention Net,利用Attention Net訓(xùn)練好Attention權(quán)重后谅阿,再反向作用于FM二階交叉特征之上半哟,使FM獲得根據(jù)樣本特點(diǎn)調(diào)整特征權(quán)重的能力酬滤。
論文:Attentional Factorization Machines - Learning the Weight of Feature Interactions via Attention Networks
代碼:DeepCTR
十三、阿里DIN(2018年)——加入Attention機(jī)制的深度學(xué)習(xí)網(wǎng)絡(luò)
AFM在FM中加入了Attention機(jī)制寓涨,2018年盯串,阿里巴巴正式提出了融合了Attention機(jī)制的深度學(xué)習(xí)模型——Deep Interest Network。與AFM將Attention與FM結(jié)合不同的是戒良,DIN將Attention機(jī)制作用于深度神經(jīng)網(wǎng)絡(luò)体捏,在模型的embedding layer和concatenate layer之間加入了attention unit,使模型能夠根據(jù)候選商品的不同糯崎,調(diào)整不同特征的權(quán)重几缭。
論文:Deep Interest Network for Click-Through Rate Prediction
代碼:DeepCTR
十四、阿里DIEN(2018年)——DIN的“進(jìn)化”
DIEN的全稱為Deep Interest Evolution Network沃呢,它不僅是對(duì)DIN的進(jìn)一步“進(jìn)化”年栓,更重要的是DIEN通過(guò)引入序列模型 AUGRU模擬了用戶興趣進(jìn)化的過(guò)程。具體來(lái)講模型的主要特點(diǎn)是在Embedding layer和Concatenate layer之間加入了生成興趣的Interest Extractor Layer和模擬興趣演化的Interest Evolving layer薄霜。其中Interest Extractor Layer使用了DIN的結(jié)構(gòu)抽取了每一個(gè)時(shí)間片內(nèi)用戶的興趣某抓,Interest Evolving layer則利用序列模型AUGRU的結(jié)構(gòu)將不同時(shí)間的用戶興趣串聯(lián)起來(lái),形成興趣進(jìn)化的鏈條惰瓜。最終再把當(dāng)前時(shí)刻的“興趣向量”輸入上層的多層全連接網(wǎng)絡(luò)否副,與其他特征一起進(jìn)行最終的CTR預(yù)估。
論文:Deep Interest Evolution Network for Click-Through Rate Prediction
代碼:dien
參考文獻(xiàn)
https://zhuanlan.zhihu.com/p/63186101
http://www.reibang.com/p/df942b145dcf