今天我們一起回顧一下近3年來的所有主流深度學(xué)習(xí)CTR模型,也是我工作之余的知識總結(jié),希望能幫大家梳理推薦系統(tǒng)、計算廣告領(lǐng)域在深度學(xué)習(xí)方面的前沿進展。
隨著微軟的Deep Crossing,Google的Wide&Deep,以及FNN,PNN等一大批優(yōu)秀的深度學(xué)習(xí)CTR預(yù)估模型在2016年被提出,計算廣告和推薦系統(tǒng)領(lǐng)域全面進入了深度學(xué)習(xí)時代,時至今日,深度學(xué)習(xí)CTR模型已經(jīng)成為廣告和推薦領(lǐng)域毫無疑問的主流。在進入深度學(xué)習(xí)時代之后,CTR模型不僅在表達能力、模型效果上有了質(zhì)的提升,而且大量借鑒并融合了深度學(xué)習(xí)在圖像、語音以及自然語言處理方向的成果,在模型結(jié)構(gòu)上進行了快速的演化。
本文總結(jié)了廣告、推薦領(lǐng)域最為流行的10個深度學(xué)習(xí)CTR模型的結(jié)構(gòu)特點,構(gòu)建了它們之間的演化圖譜。選擇模型的標(biāo)準(zhǔn)盡量遵循下面三個原則:
模型的在業(yè)界影響力較大的;
已經(jīng)被Google,微軟,阿里等知名互聯(lián)網(wǎng)公司成功應(yīng)用的;
工程導(dǎo)向的,而不是僅用實驗數(shù)據(jù)驗證或?qū)W術(shù)創(chuàng)新用的。
下面首先列出這張深度學(xué)習(xí)CTR模型的演化圖譜,再對其進行逐一介紹:
圖1 深度學(xué)習(xí)CTR模型演化圖譜
一、微軟Deep Crossing(2016年)——深度學(xué)習(xí)CTR模型的base model
圖2 微軟Deep Crossing模型架構(gòu)圖
微軟于2016年提出的Deep Crossing可以說是深度學(xué)習(xí)CTR模型的最典型和基礎(chǔ)性的模型。如圖2的模型結(jié)構(gòu)圖所示,它涵蓋了深度CTR模型最典型的要素,即通過加入embedding層將稀疏特征轉(zhuǎn)化為低維稠密特征,用stacking layer,或者叫做concat layer將分段的特征向量連接起來,再通過多層神經(jīng)網(wǎng)絡(luò)完成特征的組合、轉(zhuǎn)換,最終用scoring layer完成CTR的計算。跟經(jīng)典DNN有所不同的是,Deep crossing采用的multilayer perceptron是由殘差網(wǎng)絡(luò)組成的,這無疑得益于MSRA著名研究員何愷明提出的著名的152層ResNet。
論文:[Deep Crossing] Deep Crossing - Web-Scale Modeling without Manually Crafted Combinatorial Features (Microsoft 2016)
二、FNN(2016年)——用FM的隱向量完成Embedding初始化
圖3 FNN模型架構(gòu)圖
FNN相比Deep Crossing的創(chuàng)新在于使用FM的隱層向量作為user和item的Embedding,從而避免了完全從隨機狀態(tài)訓(xùn)練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)驗。
論文:[FNN] Deep Learning over Multi-field Categorical Data (UCL 2016)
三、PNN (2016年)——豐富特征交叉的方式
圖4 PNN模型架構(gòu)圖
PNN的全稱是Product-based Neural Network,PNN的關(guān)鍵在于在embedding層和全連接層之間加入了Product layer。傳統(tǒng)的DNN是直接通過多層全連接層完成特征的交叉和組合的,但這樣的方式缺乏一定的“針對性”。首先全連接層并沒有針對不同特征域之間進行交叉;其次,全連接層的操作也并不是直接針對特征交叉設(shè)計的。但在實際問題中,特征交叉的重要性不言而喻,比如年齡與性別的交叉是非常重要的分組特征,包含了大量高價值的信息,我們急需深度學(xué)習(xí)網(wǎng)絡(luò)能夠有針對性的結(jié)構(gòu)能夠表征這些信息。因此PNN通過加入Product layer完成了針對性的特征交叉,其product操作在不同特征域之間進行特征組合。并定義了inner product,outer product等多種product的操作捕捉不同的交叉信息,增強模型表征不同數(shù)據(jù)模式的能力 。
論文:[PNN] Product-based Neural Networks for User Response Prediction (SJTU 2016)
四、Google Wide&Deep(2016年)——記憶能力和泛化能力的綜合權(quán)衡
圖5 Google Wide&Deep模型架構(gòu)圖
Google Wide&Deep模型的主要思路正如其名,把單輸入層的Wide部分和經(jīng)過多層感知機的Deep部分連接起來,一起輸入最終的輸出層。其中Wide部分的主要作用是讓模型具有記憶性(Memorization),單層的Wide部分善于處理大量稀疏的id類特征,便于讓模型直接“記住”用戶的大量歷史信息;Deep部分的主要作用是讓模型具有“泛化性”(Generalization),利用DNN表達能力強的特點,挖掘藏在特征后面的數(shù)據(jù)模式。最終利用LR輸出層將Wide部分和Deep部分組合起來,形成統(tǒng)一的模型。Wide&Deep對之后模型的影響在于——大量深度學(xué)習(xí)模型采用了兩部分甚至多部分組合的形式,利用不同網(wǎng)絡(luò)結(jié)構(gòu)挖掘不同的信息后進行組合,充分利用和結(jié)合了不同網(wǎng)絡(luò)結(jié)構(gòu)的特點。
論文:[Wide&Deep] Wide & Deep Learning for Recommender Systems (Google 2016)
五、華為 DeepFM (2017年)——用FM代替Wide部分
圖6 華為DeepFM模型架構(gòu)圖
在Wide&Deep之后,諸多模型延續(xù)了雙網(wǎng)絡(luò)組合的結(jié)構(gòu),DeepFM就是其中之一。DeepFM對Wide&Deep的改進之處在于,它用FM替換掉了原來的Wide部分,加強了淺層網(wǎng)絡(luò)部分特征組合的能力。事實上,由于FM本身就是由一階部分和二階部分組成的,DeepFM相當(dāng)于同時組合了原Wide部分+二階特征交叉部分+Deep部分三種結(jié)構(gòu),無疑進一步增強了模型的表達能力。
論文:[DeepFM] A Factorization-Machine based Neural Network for CTR Prediction (HIT-Huawei 2017)
六、Google Deep&Cross(2017年)——使用Cross網(wǎng)絡(luò)代替Wide部分
圖7 Google Deep Cross Network模型架構(gòu)圖
Google 2017年發(fā)表的Deep&Cross Network(DCN)同樣是對Wide&Deep的進一步改進,主要的思路使用Cross網(wǎng)絡(luò)替代了原來的Wide部分。其中設(shè)計Cross網(wǎng)絡(luò)的基本動機是為了增加特征之間的交互力度,使用多層cross layer對輸入向量進行特征交叉。單層cross layer的基本操作是將cross layer的輸入向量xl與原始的輸入向量x0進行交叉,并加入bias向量和原始xl輸入向量。DCN本質(zhì)上還是對Wide&Deep Wide部分表達能力不足的問題進行改進,與DeepFM的思路非常類似。
論文:[DCN] Deep & Cross Network for Ad Click Predictions (Stanford 2017)
七、NFM(2017年)——對Deep部分的改進
圖8 NFM的深度網(wǎng)絡(luò)部分模型架構(gòu)圖
相對于DeepFM和DCN對于Wide&Deep Wide部分的改進,NFM可以看作是對Deep部分的改進。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部分變成了二階隱向量相乘的形式。再進一步,NFM從修改FM二階部分的角度出發(fā),用一個帶Bi-interaction Pooling層的DNN替換了FM的特征交叉部分,形成了獨特的Wide&Deep架構(gòu)。其中Bi-interaction Pooling可以看作是不同特征embedding的element-wise product的形式。這也是NFM相比Google Wide&Deep的創(chuàng)新之處。
論文:[NFM] Neural Factorization Machines for Sparse Predictive Analytics (NUS 2017)
八、AFM(2017年)——引入Attention機制的FM
圖9 AFM模型架構(gòu)圖
AFM的全稱是Attentional Factorization Machines,通過前面的介紹我們很清楚的知道,F(xiàn)M其實就是經(jīng)典的Wide&Deep結(jié)構(gòu),其中Wide部分是FM的一階部分,Deep部分是FM的二階部分,而AFM顧名思義,就是引入Attention機制的FM,具體到模型結(jié)構(gòu)上,AFM其實是對FM的二階部分的每個交叉特征賦予了權(quán)重,這個權(quán)重控制了交叉特征對最后結(jié)果的影響,也就非常類似于NLP領(lǐng)域的注意力機制(Attention Mechanism)。為了訓(xùn)練Attention權(quán)重,AFM加入了Attention Net,利用Attention Net訓(xùn)練好Attention權(quán)重后,再反向作用于FM二階交叉特征之上,使FM獲得根據(jù)樣本特點調(diào)整特征權(quán)重的能力。
論文:[AFM] Attentional Factorization Machines - Learning the Weight of Feature Interactions via Attention Networks (ZJU 2017)
九、阿里DIN(2018年)——阿里加入Attention機制的深度學(xué)習(xí)網(wǎng)絡(luò)
圖10 阿里DIN模型與Base模型的架構(gòu)圖
AFM在FM中加入了Attention機制,2018年,阿里巴巴正式提出了融合了Attention機制的深度學(xué)習(xí)模型——Deep Interest Network。與AFM將Attention與FM結(jié)合不同的是,DIN將Attention機制作用于深度神經(jīng)網(wǎng)絡(luò),在模型的embedding layer和concatenate layer之間加入了attention unit,使模型能夠根據(jù)候選商品的不同,調(diào)整不同特征的權(quán)重。
論文:[DIN] Deep Interest Network for Click-Through Rate Prediction (Alibaba 2018)
十、阿里DIEN(2018年)——DIN的“進化”
阿里DIEN模型架構(gòu)圖
DIEN的全稱為Deep Interest Evolution Network,它不僅是對DIN的進一步“進化”,更重要的是DIEN通過引入序列模型 AUGRU模擬了用戶興趣進化的過程。具體來講模型的主要特點是在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)起來,形成興趣進化的鏈條。最終再把當(dāng)前時刻的“興趣向量”輸入上層的多層全連接網(wǎng)絡(luò),與其他特征一起進行最終的CTR預(yù)估。
論文:[DIEN] Deep Interest Evolution Network for Click-Through Rate Prediction (Alibaba 2019)
總結(jié)—— CTR模型的深度學(xué)習(xí)時代
文章的最后,我再次強調(diào)這張深度學(xué)習(xí)CTR模型演化圖,可以毫不夸張的說,這張演化圖包括了近年來所有主流的深度學(xué)習(xí)CTR模型的結(jié)構(gòu)特點以及它們之間的演化關(guān)系。希望能夠幫助推薦、廣告、搜索領(lǐng)域的算法工程師們建立起完整的知識體系,能夠駕輕就熟的針對業(yè)務(wù)特點應(yīng)用并比較不同模型的效果,從而用最適合當(dāng)前數(shù)據(jù)模式的模型驅(qū)動公司業(yè)務(wù)。
結(jié)合自己的工作經(jīng)驗,關(guān)于深度學(xué)習(xí)模型我想再分享兩點內(nèi)容:
沒有銀彈。從來沒有一個深度學(xué)習(xí)模型能夠在所有數(shù)據(jù)集上都表現(xiàn)最優(yōu),特別是推薦、廣告領(lǐng)域,各家的數(shù)據(jù)集,數(shù)據(jù)pattern、業(yè)務(wù)領(lǐng)域差異巨大,不存在能夠解決一切問題的“銀彈”模型。比如,阿里的DIEN對于數(shù)據(jù)質(zhì)量、用戶整個life cycle行為完整性的要求很高,如果在某些DSP場景下運用這個模型,預(yù)計不會收到良好的效果。再比如Google 的Deep&Cross,我們也要考慮自己的數(shù)據(jù)集需不需要如此復(fù)雜的特征交叉方式,在一些百萬量級的數(shù)據(jù)集上,也許淺層神經(jīng)網(wǎng)絡(luò)的表現(xiàn)更好。
算法工程師永遠要在理想和現(xiàn)實間做trade off。有一種思想要避免,就是我為了要上某個模型就要強轉(zhuǎn)團隊的技術(shù)棧,強買某些硬件設(shè)備。模型的更新過程一定是迭代的,一定是從簡單到復(fù)雜的,一定是你證明了某個模型是work的,然后在此基礎(chǔ)上做改進的。這也是我們要熟悉所有模型演化關(guān)系的原因。
就在我們熟悉這些已有模型的時候,深度學(xué)習(xí)CTR模型的發(fā)展從沒有停下它的腳步。從阿里的多模態(tài)、多目標(biāo)的深度學(xué)習(xí)模型,到Y(jié)ouTube基于RNN等序列模型的推薦系統(tǒng),再到Airbnb使用Embedding技術(shù)構(gòu)建的搜索推薦模型,深度學(xué)習(xí)的應(yīng)用不僅越來越廣泛,而且得到了越來越快的進化。在今后的專欄文章中,我們不僅會更深入的介紹深度學(xué)習(xí)CTR模型的知識,而且會更加關(guān)注深度學(xué)習(xí)CTR模型的應(yīng)用與落地,期待與大家一同學(xué)習(xí)。
-
微軟
+關(guān)注
關(guān)注
4文章
6598瀏覽量
104066 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11155瀏覽量
103315 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121170
原文標(biāo)題:谷歌、阿里們的殺手锏:三大領(lǐng)域,十大深度學(xué)習(xí)CTR模型演化圖譜
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論