深度学习下的点击率预测:交互与建模
?作者 |?林子涵
學校 |?中國人民大學信息學院碩士
來源?|?RUC AI Box
引言
點擊率(Click-Through Rate,簡稱 CTR)預測任務在各類互聯網應用中大量存在,相關算法的表現好壞影響經濟效益和用戶體驗,而隨著深度學習方法的發展,各類最新的深度神經模型被提出并不斷刷新在此任務上的性能。本文簡單梳理 CTR 預測任務中深度模型的發展過程,從特征交互、用戶行為建模、自動化結構搜索三個方面對各個模型進行簡單的總結和介紹,并在最后給出本任務中亟待解決的幾個重大挑戰。
背景
個性化的在線服務自從互聯網誕生之時就出現了雛形,最近幾年隨著多媒體類互聯網應用的興起,電商平臺商品推薦、廣告精準投放、個性化搜索引擎等大量場景下會產生點擊率預測的任務。由于用戶的每一次點擊行為都可以看作是其偏好的一種展示,點擊率預測就是從存儲的用戶歷史數據中學習用戶的偏好,然后用其預測未來行為的過程。在此任務中,數據會被組織為表格的形式,每一行對應一條數據,每一列則為一個用戶或商品特征項,所有的訓練數據首先會經過特征工程模塊,對數值特征進行歸一化、離散化、哈希、索引等預處理,之后每一條數據都會變為僅僅包含標準特征的多維向量,其中標簽列為 0 或 1(0 代表用戶沒有點擊行為,1 代表有點擊行為),一組數據樣例展示如下圖:
由于標簽為 0 或 1,則本任務可以建模為一個二分類任務,常用的損失函數便是交叉熵損失:
其中, 為 sigmoid 函數, 為模型預測函數, 代表模型參數, 分別代表輸入的特征向量和標簽。
CTR 預測模型的發展可以分為兩個方面:自動的特征工程和提升模型能力。對于早期的 CTR 預測模型,受限于計算能力,大家更多的采用人工特征工程+簡單機器學習模型的方式,后來出現的神經網絡模型將人力從特征工程中解放了出來,但是隨著深層模型進入瓶頸,最近的研究又重新返回特征工程,使用可學習的參數化方法來完成特征構造的過程,將復雜的模型和可學習的特征工程相結合成為了目前研究的熱點。
由淺到深的 CTR 模型
針對二元分類任務,最簡單的模型便是線性的邏輯斯蒂回歸,其最大的優勢在于高效和易于部署,計算公式如下:
其中, 為模型參數, 為特征維度。這種模型的一個嚴重缺點就是無法處理不同特征間的組合問題,如中國人更加喜歡中餐館而非西餐館。因此一個直接的辦法就是手動的將特征之間進行組合形成新的交叉特征。
基于這種想法,POLY2 模型將所有特征兩兩組合并為每一個交叉項設置一個權重參數,由于總共需要 個參數,這樣的模型在數據稀疏時并不能很好的學習參數。另一種方式是使用梯度下降決策樹(GBDT)來學習特征的權重,但由于其無法并行,所以訓練效果依舊不好且無法大規模部署。
在這種場景下,因子分解機(Factorization Machine,簡稱FM)為每一個特征創建一個可學習的參數向量 并通過一種靈活的乘積方式計算特征交互:
其中每兩個特征項之間通過向量點積 的大小和正負來衡量,在具備高效的計算性能的同時又具備相當的可解釋性。沿著 FM 模型的思路,一系列升級版模型針對不同側重點進行了優化,如:FFM、GBFM、HOFM、FwFM等模型。從這些模型開始,繁重的人工特征工程逐漸被部分替代。
從 2015 年開始,受到 GPU 計算能力提升和神經網絡結果出色表現的影響,深度模型逐步開始使用在 CTR 預測任務中。由于神經網絡只能處理連續的數值型數據,所以需要將原本離散的特征向量轉換為連續實數向量,這一步也成為特征嵌入。完成轉換后,向量可以被連接后送入多層感知機(MLP)模型中來進行預測,工業界中也稱這樣的模型為DNN或SNN。這樣的模型可以自動提取不同特征之間的高層交互,但參數失去了可解釋性。后來,在同時考慮線性特征和深層交互特征的Wide&Deep中,DNN 和 LR 被同時使用來加強不同層級的建模能力,表示如下:值得說明的是,人工構造的一些強特征也可以作為向量輸入到深度模型中,這樣在模型中的深度部分作用相當于學習淺層模型與標簽之間的殘差。同樣實現類似功能的還有DeepCross模型,它通過一種隱式的交互來自動構建特征交互。
盡管這些早期的深度模型通過 MLP 來達到更好的特征交互,其劣勢也相當明顯,訓練一個好的神經網絡是十分困難的,不敏感梯度可能導致網絡無法刻畫離散的特征交互,同時使用 MLP 來模擬簡單的向量點積都是十分困難的。正是由于這些問題的存在,后續出現了很多結構上更加復雜也更加有效的網絡結構來試圖解決這些問題。它們可以被分為三類:(1)特征交互模型,這類模型關注于如何設計更加合理的方式來完成單個數據項內的不同特征間的交互。(2)用戶行為建模模型,這類模型以用戶為標準對數據分組,建模用戶的興趣在不同的行為數據項上的變化情況。(3)自動結構搜索方法,這類模型考慮使用神經網絡架構搜索(NAS)技術來同時解決上述兩個方面。下面對這三類方法簡單介紹。
特征交互
在深度神經網絡模型中,輸入的特征都已經轉換為獨熱向量,所有的向量會首先經過一個嵌入層轉換為連續向量,接下來會被輸入到一個特征表示學習層中,這一層通過顯式的特征交互,獲取高階的特征交互表示,神經網絡能夠學習到較好的表現往往直接取決于這一層得到的特征交互是否合適,沿著這樣的思路,很多模型可以被表達為:其中的 MLP 結構在這類模型中并不是必須的,接下來我們分為三類簡單介紹這類重點在特征交互的模型。
點積模型
為了直接的建模特征之間的二階交互,PNN模型首次引入在嵌入層和神經網絡層之間引入了一個點積層,這一層通過將不同特征之間的表示向量兩兩進行點積來顯式的獲得特征交互結果,根據使用點積類型的不同,其有兩種變種,分別是使用內積的IPNN和使用外積的OPNN,下圖展示了使用內積的點積層的結構。實驗顯示,加入點積層的深度模型能夠更好的收斂且效果更出色。在相似的動機下被設計的模型還有NFM,其加入了一個雙向交互層來成對的對特征進行交互并同樣取得了更好的訓練效果。但是這類模型的特征交互完全交由神經網絡進行黑盒訓練,無法控制交互的層級,Cross Network通過在每一層引入特征的交互來解決這個問題,這樣交互的階數與模型的層數就產生了關聯。更進一步,在Cross Network V2 中,特征交互向量被交互矩陣替代,模型的表達能力也進一步提高。采用顯式的點積特征交互結構的模型還有 CIN、KPNN、PIN等。
卷積模型
除了使用點積進行特征交互以外,一些模型也嘗試使用卷積神經網絡(CNN)和圖卷積網絡(GCN)來進行特征交互。最早的使用卷積的模型是CCPM,其將所有的特征向量拼接為二維矩陣,并使用卷積和池化操作提取其任意階的特征交互,其模型框架如下圖所示:這種直接在特征圖上使用卷積的方法受限于感受野的大小,其只能對相鄰的特征進行交互,為了解決這個問題,FGCNN引入了一個重聚合層來建模不相鄰的特征,同時其將 CNN 生成的高階特征交互與原始特征共同輸入到后續網絡中,極大的減輕了訓練深度網絡的難度。這類方法由于卷積自身的特點無法建模任意的特征交互,受到圖圖結構的啟發,FiGNN 將所有的特征作為圖上節點并為所有節點之間連邊形成一個全連接圖,之后使用 GCN 在圖上傳播來進行特征交互。
注意力模型
隨著注意力結構的興起,一些模型也嘗試在模型中引入注意力來進行特征交互。AFM使用注意力來加強FM模型,使得不同的特征交互對結果的貢獻不同。在每一次計算中,一對特征交互的結果會經過一個注意力網絡來計算其各自的權重,如下圖所示:這些權重會與交互向量相乘來作為對結果不同程度的貢獻。受到自然語言處理中自注意力結構的影響,AutoInt模型使用一個帶殘差鏈接的多頭注意力網絡來顯式的進行不同階的特征交互,同時其得到的權重賦予模型一定程度的可解釋性。在此基礎上,InterHAt模型將注意力結構升級為了 Transformer 模塊,使得訓練的效率進一步提高。
用戶行為建模
用戶的行為中包含了用戶的偏好模式,最近,對用戶的行為進行建模已經成為了 CTR 預測任務中的一個重要主題。通常,用戶的行為會被表示為一個多值向量,每個值代表其中的一個行為,行為一般按照時間順序進行排序,每一個行為中包含商品 ID 和相對應的商品特征,整體的結構如下圖所示:這其中最關鍵的部分便是設計一個有效的建模行為序列的函數來學習到行為特征的連續表示,之后此表示可以與其他的特征連接后輸入后續深度網絡中得到最終的預測。接下來我們簡單介紹其中的三類代表性方法。
注意力方法
DIN模型是第一個將注意力引入用戶行為建模的方法,其通過注意力模塊根據用戶的歷史行為與當前商品的相關度為其賦予不同的權值。由于用戶的偏好是隨著時間動態變化的,從用戶的行為中挖掘其時間特征就非常重要,這也是DIEN模型的出發點。其使用包含注意力機制的兩層 GRU 網絡,第一層負責提取用戶的偏好,第二層則刻畫偏好在時序上的動態性,同時其引入了輔助損失來監督每一步行為隱狀態的建模,讓其具備非常強的表達能力。除此之外,自注意力模塊同樣可以使用在行為建模中。BST模型直接使用一個多頭注意力層來提取序列行為之間的相關性。DSIN模型將用戶行為按照時間分為不同的節,在每一個節內使用自注意力得到精確的行為表示,在節之間使用雙向 LSTM 刻畫動態性。上述這些模型都是注意力方法在行為建模上的成功使用。
記憶網絡方法
由于在電商平臺中,一個用戶可能具有海量的歷史行為數據,所以處理長行為序列并挖掘長距離行為的聯系便十分重要。DIN和DIEN這類模型在面對長序列時計算的復雜度太高,因此記憶網絡成為一個很好的解決這個問題的辦法。在HPMN模型中,一個終身記憶單元被用來存儲用戶的偏好表示,同時隨著時間記憶狀態被不斷的用戶行為所更新。HPMN整體結構時多層的 GRU 結構,上層更新頻率慢于下層,因此其能夠建模長距離的時序信息。基于相同的出發點,在UIC模型中,十分耗時的行為表示模塊被分解在了實時預測當中,用戶的行為表示會在線下預先計算,當進行推理是直接從記憶單元中取出參與計算。由于用戶的偏好往往是多方面的,其使用一種多面用戶偏好存儲單元來計算用戶行為表示。相比于HPMN模型,UIC模型更加偏向于工業化的一種系統解決方法。
行為檢索方法
在上述的所有模型中,建模用戶偏好所使用的都是最近相鄰的行為,再配合復雜的結構來刻畫長序列信息,這給系統的負載帶來了很大的負擔。UBR4CTR模型提出了一種新的結構,其使用搜索引擎技術,從用戶的所有歷史行為中檢索出最相關的行為來參與計算,這樣在每一次推理中都只有一小部分行為參與計算。這種方法不僅極大的減少了時間開銷而且能夠有效的緩解長連續行為序列中的噪聲影響。此模型使用搜索引擎技術檢索最相關的 k 個歷史行為,查詢中包含當前目標商品的特征,因此整個檢索過程是可學習的,并且可以通過強化學習的方式進行優化。SIM模型是另外一種包含硬檢索和軟檢索的方法,對于硬檢索,其使用預定義的 ID 信息作為索引,而在軟檢索中,其使用嵌入向量進行局部敏感哈希實現檢索。上述兩種方法都已經在實際線上場景中得到應用。
自動結構搜索
在計算機視覺中,一些自動設計的網絡結構達到了跟人工設計的網絡相媲美的程度,所以推薦領域的研究者也在探索使用自動搜索的深度神經網絡結構來建模特征和行為。下面我們簡單介紹其中的三類代表性方法。
嵌入維度搜索
特征的嵌入表示在 CTR 預測中是一個十分關鍵的因素,其往往是模型參數的主要組成部分,嚴重決定模型的表現,因此一些工作嘗試為不同的特征自適應的搜索其合適的嵌入維度。NIS和ESAPN模型都使用了強化學習的方法來搜索混合嵌入維度。NIS模型首先將全局的維度空間根據經驗分為幾個快,然后使用強化學習來生成為不同特征選擇維度的決策序列,在反饋函數中同時考慮了最終的精度和內存消耗。ESAPN同樣使用了一些候選維度,但其使用一個策略網絡來為不同特征動態的選擇維度,動態網絡以當前維度為輸入判斷是否需要增加維度。
上述兩種方法都是從一系列候選維度中選擇特征嵌入維度,而DNIS和PEP模型考慮在一個連續的空間內進行搜索。具體的來說,DNIS模型為每一個特征塊構造一個二值索引矩陣來對應相應的維度,然后一個軟選擇層被用來將搜索空間對應到連續空間,最后使用一個預定義的閾值來控制篩選那些不重要的維度。然而,這個閾值的選擇非常困難,為此PEP模型進一步將這個閾值調整為根據數據自適應學習得出。
上述方法都是在搜索空間中選擇單一的結構,一些其他的模型考慮使用一種軟選擇策略,即多個嵌入維度共同作用,代表性的有AutoEmb和AutoDim模型,它們都是使用一種可學習的注意力權重來為不同的特征學習不同的維度權重,最終使用多個維度的聚合信息做預測。
特征交互搜索
正如前面提到的,特征交互在深度 CTR 預測模型中非常重要,因此自動的提取一些有用的特征交互就具有非常強的研究價值。AutoFIS模型能夠自動識別和選擇重要的特征交互輸入給因子分解模型,其枚舉所有的特征交互組合并使用一系列結構參數進行選擇,所有的參數都可以通過梯度進行優化,然而AutoFIS模型限制特征只能通過點積來進行交互,但是在之前的模型中一些發現一些其他的復雜結構能夠比點積更有效,所以自動的選擇交互方式同樣十分重要。基于這樣的原因SIF和AutoFeature模型被提出,SIF模型能夠根據數據集的不同自動的選擇合適的交互函數,包括 MLP 網絡和五個預定義的函數。AutoFeature模型更進一步,可以為不同的特征組合匹配不同的子網絡結構且整個過程通過進化算法進行優化。
然后上述的兩個模型都無法處理高階的特征組合,因為它們都需要枚舉所有的特征組合。為了避免這樣的暴力枚舉,AutoGroup模型嘗試為特征分組,每個特征初始都有 0.5 的概率進入任何一個組,組內的所有特征都可以進行交互,這個入選概率可以使用 CTR 任務的監督信號來進行訓練。上述的所有模型都是通過選擇或生成特征交互來完成自動搜索,而BP-FIS模型是第一個識別特征交互重要性的模型,其使用貝葉斯生成模型為每一個用戶識別個性化的特征重要性。
全局結構搜索
最后的一些工作則更加開放,它們嘗試對整個模型結構進行搜索以同時完成各個子任務。AutoCTR模型將整個模型分為兩個層級,首先所有的功能模塊被劃分為不同的塊,塊與塊之間連接成一個有向無環圖(DAG)外層負責搜索圖上的連接關系,而內層則搜索每一個塊內部的超參數,整個過程同樣可以使用進化算法優化。AMER模型可以同時對序列化的行為特征進行序列結構搜索和為普通特征進行結構搜索。一方面,其可以通過選擇不同的層完成結構的搜索,另一方面,其還可以通過逐漸增加特征交互的階數來篩選合適的特征交互。
總結與未來方向
本文簡單介紹了 CTR 預測任務的發展過程。通過顯式的進行特征交互,深度模型能夠更好的建模高階的特征信息并得到更好的性能。用戶的歷史行為同樣被注意力、記憶網絡等結構出色的建模來進一步豐富特征信息。同時一些最新的工作將神經結構搜索方法使用的模型中來讓整個過程更加自動化。
盡管最近幾年 CTR 預測任務發展迅速且取得了非常大的突破,依舊有一些挑戰還沒有被很好解決:
深度學習理論 盡管很多模型在效果上都非常好,但是大多模型都缺少對其原理的解釋和挖掘,包括采樣復雜度分析、特征交互原理、梯度分析等。
預訓練 在文本或者圖結構數據上的預訓練模型取得了很大的成功,同樣的,在離散特征數據上進行預訓練同樣是一個值得期待的方向,但目前還鮮有工作在這個方向做出成果。
多模態數據的使用 在現在信息系統中,存在大量的多模態數據可以利用,能夠充分利用這些數據可能是未來 CTR 預測模型進一步提升的關鍵所在。
策略化的數據處理 最近在用戶歷史行為處理上的深度模型給出了一種自動化數據處理的可能,在這方面還存在巨大的潛力值得挖掘,將數據處理過程變得可學習化是未來的一個潛在研究點。
參考文獻
[1] Deep Learning for Click-Through Rate Estimation. IJCAI 2021
[2] Factorization Machines. ICDM 2010
[3] DeepFM: A Factorization-Machine based Neural Network for CTR Prediction. IJCAI 2017
[4] Learnable Embedding Sizes for Recommender Systems. CoRR 2021
[5] User Behavior Retrieval for Click-Through Rate Prediction. SIGIR 2020
[6] Bayesian Personalized Feature Interaction Selection for Factorization Machines. SIGIR 2019
[7] Fi-GNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction. CIKM 2019
[8] Interpretable Click-Through Rate Prediction through Hierarchical Attention. WSDM 2020
[9] Product-Based Neural Networks for User Response Prediction over Multi-Field Categorical Data. ACM Trans. Inf. Syst. 2019
[10] AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks. CIKM 2019
[11] Predicting clicks: estimating the click-through rate for new ads. WWW 2007
[12] Training and Testing Low-degree Polynomial Data Mappings via Linear SVM. 2010
[13] Gradient boosting factorization machines. RecSys 2014
[14] Field-aware Factorization Machines for CTR Prediction. RecSys 2016
[15] Higher-Order Factorization Machines. NIPS 2016
[16] Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising. WWW 2018
[17] Wide&Deep Learning for Recommender Systems. RecSys 2016
[18] Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features. KDD 2016
[19] Neural Factorization Machines for Sparse Predictive Analytics. SIGIR 2017
[20] DCN-M: Improved Deep & Cross Network for Feature Cross Learning in Web-scale Learning to Rank Systems. CoRR 2020
[21] xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems. KDD 2018
[22] A Convolutional Click Prediction Model. CIKM 2015
[23] Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction. WWW 2019
[24] Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks. IJCAI 2017
[25] Deep Interest Network for Click-Through Rate Prediction. KDD 2018
[26] Deep Interest Evolution Network for Click-Through Rate Prediction. AAAI 2019
[27] Behavior Sequence Transformer for E-commerce Recommendation in Alibaba. CoRR 2019
[28] Deep Session Interest Network for Click-Through Rate Prediction. IJCAI 2019
[29] Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction. SIGIR 2019
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的深度学习下的点击率预测:交互与建模的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 郑州到潜江大巴车多少钱?
- 下一篇: 网上找车拉货上什么平台?我要找车拉货电话