深度学习CTR模型最全演化图谱 [王喆观点]
畢業于清華大學計算機系的王喆學長回顧了近3年來的所有主流深度學習CTR (click through rate) 模型,并梳理推薦系統、計算廣告領域在深度學習方面的前沿進展。內容來源:https://zhuanlan.zhihu.com/p/63186101
隨著微軟的Deep Crossing,Google的Wide&Deep,以及FNN,PNN等一大批優秀的深度學習CTR預估模型在2016年被提出,計算廣告和推薦系統領域全面進入了深度學習時代,時至今日,深度學習CTR模型已經成為廣告和推薦領域毫無疑問的主流。進入深度學習時代之后,CTR模型不僅在表達能力、模型效果上有了質的提升,而且大量借鑒并融合了深度學習在圖像、語音以及自然語言處理方向的成果,在模型結構上進行了快速的演化。
本文總結了廣告、推薦領域最為流行的10個深度學習CTR模型的結構特點,構建了它們之間的演化圖譜。選擇模型的標準盡量遵循下面三個原則:
- 模型的在業界影響力較大的;
- 已經被Google,微軟,阿里等知名互聯網公司成功應用的;
- 工程導向的,而不是僅用實驗數據驗證或學術創新用的。
1.?Deep Crossing
微軟于2016年提出的Deep Crossing可以說是深度學習CTR模型的最典型和基礎性的模型。其模型結構如下圖所示;該模型基本涵蓋了深度CTR模型最典型的要素,即通過加入embedding層將稀疏特征轉化為低維稠密特征,用stacking layer,或者叫做concat layer將分段的特征向量連接起來,再通過多層神經網絡完成特征的組合、轉換,最終用scoring layer完成CTR的計算。跟經典DNN有所不同的是,Deep crossing采用的multilayer perceptron是由殘差網絡組成的,這無疑得益于MSRA著名研究員何愷明提出的著名的152層ResNet。
微軟Deep Crossing深度CTR模型框架手工制作的組合特征一直是許多成功模型背后的“秘密醬汁”。然而,對于Web規模的應用程序,多樣和海量的特征使得這些手工制作的特征在創建、維護和部署方面都很昂貴。本文提出了Deep Crossing模型,它實質是一種深度神經網絡,能自動地將特征結合起來,從而產生出更好的模型。Deep Crossing的輸入是一組單獨的特征,可以是密集的或稀疏的。由embedding和stacking以及Residual Units組成的網絡隱式地發現了重要的交叉特征。通過CNTK建模工具實現Deep Crossing。Deep Crossing能夠從零開始為一個付費搜索引擎構建網絡規模的模型,并且只使用生產模型中使用的一個子集就可以獲得更好的結果。結果表明了使用Deep Crossing作為通用建模范式可以改進現有產品以及加快新模型的開發的潛力,這些新模型的開銷僅占特征工程和獲得深度領域知識的一小部分。
論文:[Deep Crossing] Deep Crossing - Web-Scale Modeling without Manually Crafted Combinatorial Features (Microsoft 2016)
2.?FNN:Factorization-machine supported neural network
FNN相比Deep Crossing的創新在于使用FM的隱層向量作為user和item的Embedding,從而避免了完全從隨機狀態訓練Embedding。由于id類特征大量采用one-hot的編碼方式,導致其維度極大,向量極稀疏,所以Embedding層與輸入層的連接極多,梯度下降的效率很低,這大大增加了模型的訓練時間和Embedding的不穩定性,使用pre train的方法完成Embedding層的訓練,無疑是降低深度學習模型復雜度和訓練不穩定性的有效工程經驗。
四層的FNN模型結構預測用戶響應,如點擊率和轉換率,在許多Web應用程序中都是至關重要的,包括Web搜索、個性化推薦和在線廣告。與我們通常在圖像和音頻域中發現的連續原始特征不同,Web空間中的輸入特征通常是多字段的,并且大多是離散和分類的,而它們的依賴性卻鮮為人知。主要的用戶響應預測模型要么局限于線性模型,要么需要手動構建高階組合特征。前者失去了探索特征交互的能力,而后者在大特征空間中導致了大量的計算。為了解決這個問題,我們提出了兩個新的模型,使用深度神經網絡(dnns),從分類特征交互中自動學習有效的模式,并對用戶的廣告點擊進行預測。為了使我們的dnn有效地工作,我們建議利用三種特征轉換方法,即因子分解機(fms)、受限Boltzmann機(rbms)和去噪自動編碼器(daes)。本文介紹了該模型的結構及其有效的訓練算法。對實際數據的大規模實驗表明,我們的方法比主要的最先進的模型更有效。
論文:[FNN] Deep Learning over Multi-field Categorical Data (UCL 2016)
3.?PNN:Product based neural network
PNN的全稱是Product-based Neural Network,PNN的關鍵在于在embedding層和全連接層之間加入了Product layer。傳統的DNN是直接通過多層全連接層完成特征的交叉和組合的,但這樣的方式缺乏一定的“針對性”。首先全連接層并沒有針對不同特征域之間進行交叉;其次,全連接層的操作也并不是直接針對特征交叉設計的。但在實際問題中,特征交叉的重要性不言而喻,比如年齡與性別的交叉是非常重要的分組特征,包含了大量高價值的信息,我們急需深度學習網絡能夠有針對性的結構能夠表征這些信息。因此PNN通過加入Product layer完成了針對性的特征交叉,其product操作在不同特征域之間進行特征組合。并定義了inner product,outer product等多種product的操作捕捉不同的交叉信息,增強模型表征不同數據模式的能力 。
Product based neural netwrk 架構預測用戶的反應,如點擊和轉換,是非常重要的,并且已經發現它在許多網絡應用中的應用,包括推薦系統、網絡搜索和在線廣告。這些應用程序中的數據大多是分類的,包含多個字段;典型的表示方法是通過one-hot將其轉換為高維稀疏二進制特征表示。面對極端的稀疏性,傳統模型通過低階特征組來限制其從數據中挖掘淺層模式的能力。另一方面,像神經網絡這樣的深度模型,由于特征空間很大,不能直接應用于高維輸入。本文提出了一種基于product的神經網絡(PNN),它通過嵌入層來學習分類數據的分布式表示、捕獲域間類別之間交互模式的product層,以及進一步研究高階特征交互的全連接層。我們在兩個大型現實世界點擊數據集上的實驗結果表明,PNN在各種指標上始終優于最先進的模型。
論文:[PNN] Product-based Neural Networks for User Response Prediction (SJTU 2016)
4.?Wide&Deep
Google Wide&Deep模型的主要思路正如其名,把單輸入層的Wide部分和經過多層感知機的Deep部分連接起來,一起輸入最終的輸出層。其中Wide部分的主要作用是讓模型具有記憶性(Memorization),單層的Wide部分善于處理大量稀疏的id類特征,便于讓模型直接“記住”用戶的大量歷史信息;Deep部分的主要作用是讓模型具有“泛化性”(Generalization),利用DNN表達能力強的特點,挖掘藏在特征后面的數據模式。最終利用LR輸出層將Wide部分和Deep部分組合起來,形成統一的模型。Wide&Deep對之后模型的影響在于——大量深度學習模型采用了兩部分甚至多部分組合的形式,利用不同網絡結構挖掘不同的信息后進行組合,充分利用和結合了不同網絡結構的特點。
Wide&Deep 模型框架具有非線性特征變換的通用線性模型被廣泛應用于具有稀疏輸入的大規模回歸和分類問題。通過通用的跨產品特征轉換記憶特征交互是可選的和可解釋的,而泛化需要更多的特征工程工作。在特征工程較少的情況下,深度神經網絡可以通過為稀疏特征學習的低維密集嵌入更好地概括為看不見的特征組合。然而,當用戶項目交互稀疏且等級較高時,嵌入深度神經網絡可以過度概括和推薦不太相關的項目。在本文中,我們提出了寬深學習聯合訓練的寬線性模型和深神經網絡,以結合記憶和泛化對推薦系統的好處。我們在Google Play(擁有超過10億活躍用戶和超過100萬應用程序的商業移動應用商店)上生產和評估了該系統。在線實驗結果表明,與純寬型和純深型相比,寬深型顯著增加了應用程序的購買量。我們還在TensorFlow中開放源代碼實現。
論文:[Wide&Deep] Wide & Deep Learning for Recommender Systems (Google 2016)
5.?DeepFM: Deep factorization machine
在Wide&Deep之后,諸多模型延續了雙網絡組合的結構,DeepFM就是其中之一。DeepFM對Wide&Deep的改進之處在于,它用FM替換掉了原來的Wide部分,加強了淺層網絡部分特征組合的能力。事實上,由于FM本身就是由一階部分和二階部分組成的,DeepFM相當于同時組合了原Wide部分+二階特征交叉部分+Deep部分三種結構,無疑進一步增強了模型的表達能力。
Wide & deep architecture of DeepFM. The wide and deep component share the same input raw feature vector, which enables DeepFM to learn low- and high-order feature interactions simultaneously from the input raw features學習用戶行為背后復雜的特征交互對于最大化推薦系統的ctr至關重要。盡管取得了很大的進展,但現有的方法似乎對低階或高階交互有很大的偏向,或者需要專門的特性工程。在本文中,我們證明了可以推導一個強調低階和高階特征交互的端到端學習模型。該模型將因子分解機的推薦能力和特征學習的深度學習能力結合在一個新的神經網絡結構中。與google最新的寬深模型相比,deepfm對其“寬”和“深”部分有一個共享的輸入,除了原始特性外,不需要特性工程。通過綜合實驗,驗證了DEEPFM對現有的CTR預測模型在基準數據和商業數據上的有效性和有效性。
論文:[DeepFM] A Factorization-Machine based Neural Network for CTR Prediction (HIT-Huawei 2017)
6.?Deep&Cross : instead wide part by crossing
Google 2017年發表的Deep&Cross Network(DCN)同樣是對Wide&Deep的進一步改進,主要的思路使用Cross網絡替代了原來的Wide部分。其中設計Cross網絡的基本動機是為了增加特征之間的交互力度,使用多層cross layer對輸入向量進行特征交叉。單層cross layer的基本操作是將cross layer的輸入向量xl與原始的輸入向量x0進行交叉,并加入bias向量和原始xl輸入向量。DCN本質上還是對Wide&Deep Wide部分表達能力不足的問題進行改進,與DeepFM的思路非常類似。
Deep? &? Cross 網絡框架特征工程是許多預測模型成功的關鍵。然而,這一過程并不簡單,需要人工進行特征工程或徹底搜索。dnn能夠自動學習特征交互;但是,它們隱式地生成所有交互,并且不一定有效地學習所有類型的交叉特征。本文提出了一種保持DNN模型優點的深度交叉網絡(DCN),并在此基礎上,提出了一種能更有效地學習一定有界度特征交互的新型交叉網絡。特別是,DCN在每一層都顯式地應用了特征交叉,不需要人工進行特征工程,并且為DNN模型增加了可忽略的額外復雜性。我們的實驗結果表明,在模型精度和內存使用方面,它在ctr預測數據集和密集分類數據集上優于最先進的算法。
論文:[DCN] Deep & Cross Network for Ad Click Predictions (Stanford 2017)
7.?NFM:improve the presentation of deep part
相對于DeepFM和DCN對于Wide&Deep Wide部分的改進,NFM可以看作是對Deep部分的改進。NFM的全稱是Neural Factorization Machines,如果我們從深度學習網絡架構的角度看待FM,FM也可以看作是由單層LR與二階特征交叉組成的Wide&Deep的架構,與經典W&D的不同之處僅在于Deep部分變成了二階隱向量相乘的形式。再進一步,NFM從修改FM二階部分的角度出發,用一個帶Bi-interaction Pooling層的DNN替換了FM的特征交叉部分,形成了獨特的Wide&Deep架構。其中Bi-interaction Pooling可以看作是不同特征embedding的element-wise product的形式。這也是NFM相比Google Wide&Deep的創新之處。
NFM的深度網絡部分模型架構圖許多Web應用程序的預測任務需要對分類變量建模,例如用戶ID和人口統計學,如性別和職業。為了應用標準的機器學習技術,這些分類預測器總是通過one-hot編碼轉換成一組二進制特征,使得生成的特征向量高度稀疏。要有效地從這些稀疏的數據中學習,關鍵是要考慮特征之間的交互。因子分解機(factorization machines,FMS)是一種廣泛使用的解決方案,可以有效地利用二階特征交互。然而,FM模型以線性方式呈現交互,這對于捕獲現實數據的非線性和復雜的固有結構是不太合適的。雖然深度神經網絡最近已被應用于學習行業中的非線性特征交互,如谷歌的廣度和深度以及微軟的深度交叉,但其深層結構同時使其難以訓練。本文提出了一種新的模型神經因式分解機(NFM),用于稀疏環境下的預測。NFM在二階特征交互建模中無縫結合了FM的線性,在高階特征交互建模中無縫結合了神經網絡的非線性。從概念上講,NFM比FM更具表現力,因為FM可以看作是NFM的一種特殊情況,沒有隱藏層。兩個回歸任務的實證結果表明,僅使用一個隱藏層,NFM顯著優于FM,相對改善7.3%。與最新的深度學習方法相比,我們的NFM采用了較淺的結構,但提供了更好的性能,在實踐中更容易訓練和調優。
[NFM] Neural Factorization Machines for Sparse Predictive Analytics (NUS 2017)
8.?AFM: Factorization machine with attention machanism
AFM的全稱是Attentional Factorization Machines,通過前面的介紹我們很清楚的知道,FM其實就是經典的Wide&Deep結構,其中Wide部分是FM的一階部分,Deep部分是FM的二階部分,而AFM顧名思義,就是引入Attention機制的FM,具體到模型結構上,AFM其實是對FM的二階部分的每個交叉特征賦予了權重,這個權重控制了交叉特征對最后結果的影響,也就非常類似于NLP領域的注意力機制(Attention Mechanism)。為了訓練Attention權重,AFM加入了Attention Net,利用Attention Net訓練好Attention權重后,再反向作用于FM二階交叉特征之上,使FM獲得根據樣本特點調整特征權重的能力。
AFM模型架構圖因子分解機是一種有監督的學習方法,它通過結合二階特征交互來增強線性回歸模型。盡管有效,但是FM可以通過建模具有相同權重的所有特征交互而受到阻礙,因為并非所有特征交互都同樣有用且具有預測性。例如,與無用特性的交互甚至可能引入噪聲并對性能造成不利影響。在本文中,我們通過區分不同特征交互的重要性來改進FM。我們提出了一個新的模型,即注意因子分解機(AFM),它通過神經注意網絡從數據中學習每個特征交互的重要性。對兩個真實數據集進行的大量實驗證明了AFM的有效性。從經驗上看,它在回歸任務AFM Betters FM中表現出8.6%的相對改善,并且始終優于最先進的深度學習方法,具有更簡單的結構和更少的模型參數。https://github.com/hexiangnan/attentional factorization machine
論文:[AFM] Attentional Factorization Machines - Learning the Weight of Feature Interactions via Attention Networks (ZJU 2017)
9. DIN:Deep interest network
AFM在FM中加入了Attention機制,2018年,阿里巴巴正式提出了融合了Attention機制的深度學習模型——Deep Interest Network。與AFM將Attention與FM結合不同的是,DIN將Attention機制作用于深度神經網絡,在模型的embedding layer和concatenate layer之間加入了attention unit,使模型能夠根據候選商品的不同,調整不同特征的權重。
阿里DIN模型與Base模型的架構圖利用豐富的歷史行為數據,更好地提取用戶的興趣,對于構建電子商務行業在線廣告系統的點擊率預測模型至關重要。對用戶行為數據有兩個關鍵的觀察:i)多樣性。用戶在訪問電子商務網站時對不同種類的商品感興趣。ii)局部激活。用戶單擊或不單擊某個商品僅取決于其相關歷史行為的一部分。然而,大多數傳統的ctr模型缺乏捕獲這些行為數據結構的能力。本文介紹了一種在阿里巴巴展示廣告系統中開發和部署的新型深度興趣網絡(Din)。Din通過利益分配來代表用戶的多樣性利益,并根據候選廣告設計了一種關注度(如網絡結構)來局部激活相關利益,這被證明是有效的,并且顯著優于傳統模式。在大規模稀疏輸入的工業深網訓練中,容易遇到過擬合問題。我們仔細研究了這個問題,并提出了一種實用的自適應正則化技術。
論文:[DIN] Deep Interest Network for Click-Through Rate Prediction (Alibaba 2018)
10. DIEN : an evolution for DIN
DIEN的全稱為Deep Interest Evolution Network,它不僅是對DIN的進一步“進化”,更重要的是DIEN通過引入序列模型 AUGRU模擬了用戶興趣進化的過程。具體來講模型的主要特點是在Embedding layer和Concatenate layer之間加入了生成興趣的Interest Extractor Layer和模擬興趣演化的Interest Evolving layer。其中Interest Extractor Layer使用了DIN的結構抽取了每一個時間片內用戶的興趣,Interest Evolving layer則利用序列模型AUGRU的結構將不同時間的用戶興趣串聯起來,形成興趣進化的鏈條。最終再把當前時刻的“興趣向量”輸入上層的多層全連接網絡,與其他特征一起進行最終的CTR預估。
阿里DIEN模型架構圖論文:[DIEN] Deep Interest Evolution Network for Click-Through Rate Prediction (Alibaba 2019)
總結:
文章的最后,再次強調深度學習CTR模型演化圖,可以毫不夸張的說,這張演化圖包括了近年來所有主流的深度學習CTR模型的結構特點以及它們之間的演化關系。希望能夠幫助推薦、廣告、搜索領域的算法工程師們建立起完整的知識體系,能夠駕輕就熟的針對業務特點應用并比較不同模型的效果,從而用最適合當前數據模式的模型驅動公司業務。
結合自己的工作經驗,關于深度學習模型我想再分享兩點內容:
就在我們熟悉這些已有模型的時候,深度學習CTR模型的發展從沒有停下它的腳步。從阿里的多模態、多目標的深度學習模型,到YouTube基于RNN等序列模型的推薦系統,再到Airbnb使用Embedding技術構建的搜索推薦模型,深度學習的應用不僅越來越廣泛,而且得到了越來越快的進化。
總結
以上是生活随笔為你收集整理的深度学习CTR模型最全演化图谱 [王喆观点]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我最耻辱的一段代码
- 下一篇: EmEditor Professiona