李遙 李燁



摘 要:廣告點擊率預測是互聯網廣告投放系統中的核心組件,用戶個性化廣告推薦的準確度對于提高商業系統回報率有著至關重要的作用。提出一種基于深度殘差網絡的DeepFM點擊率預測架構,將深度殘差網絡引入其中的深度神經網絡,解決其隨著網絡變深產生的梯度消失和模型性能退化問題,從而更有效地提取高階組合特征。為了避免過擬合引入Dropout機制,并且對輸入特征的預處理引入最大支持的維度參數,以避免獨熱碼映射時出現維度災難。基于Criteo公開數據集的研究表明,原生DeepFM的性能優于其它主流CTR預測模型,而提出的模型則具有更低的Logloss和更高的AUC,相比原生DeepFM分別改進了1.26%和0.93%。
關鍵詞:點擊率預測;DeepFM;因子分解機;深度神經網絡;深度殘差網絡;隨機失活
DOI:10. 11907/rjdk. 192670
中圖分類號:TP303 ? 文獻標識碼:A??????????????? 文章編號:1672-7800(2020)003-0074-05
A Click-through Rate Prediction Model of DeepFM
Based on Deep Residual Network
LI Yao, LI Ye
(School of Optical-Electrical & Computer Engineering, University of Shanghai for Science &Technology, Shanghai 200093, China)
Abstract: Advertising click-through rate prediction is a core component of Internet advertising system. The accuracy of user personalized recommendations is critical to improve the commercial income. This paper proposes a DeepFM CTR prediction model based on deep residual network. Deep residual network is introduced into the deep neural network to solve the problems of gradient disappearance and model performance degradation caused by the deepening of the network and consequently high-order feature interactions can be learned more effectively. In addition, the Dropout mechanism is adopted to prevent overfitting, and a maximum supported dimension parameter is used in the preprocessing of input features to avoid dimensional disasters. Studies on Criteo public data sets show that the native DeepFM model performs better than other mainstream CTR prediction models, while the proposed model has a lower Logloss and a higher AUC compared to native DeepFM, with improvements of 1.26% and 0.93%, respectively.
Key Words: click-through rate prediction; DeepFM; factorization machine; deep neural network; deep residual network; dropout
0 引言
用戶點擊率預測(Click-through Rate,CTR)研究是推薦系統中十分重要的組成模塊,也是程序化廣告交易框架中的智慧核心組件,學習和預測用戶行為模式對個性化推薦系統、智能信息檢索等領域都有著極其重要的意義。為了提升用戶點擊率預測準確率,過去數十年內不同的學者對這一領域提出了各種特征提取模型和用戶行為學習模型。構建好的特征對于機器學習任務而言至關重要。He等[1]將決策樹與Logistic回歸(Logistic Regression,LR)相結合,提出梯度提升決策樹(Gradient Boost Decision Tree,GBDT)模型,其研究表明,捕獲用戶和廣告歷史信息特征對于系統性能具有決定性影響;田嫦麗等[2]基于Hadoop大數據平臺研究了GBDT模型的多維特征提取方法;Qiu等[3]提出了一種采用多粒度級聯森林(gcForest)結合GBDT的集成學習方法,以提高CTR準確率并降低超參數調整工作量;潘書敏等[4]提出了基于用戶相似度和特征分化的CTR方法,根據混合高斯分布評估用戶相似度,將其劃分為多個群體,針對不同群體,分別構建子模型并進行有效組合,從而挖掘同一特征對不同群體的差異化影響。
交叉組合原始特征構成新的特征是有效的特征構建方法。匡俊等[5]的研究表明基于因子分解機(Factorization Machine,FM)模型和GBDT+LR模型的預測精度優于基于LR的模型,并且將用戶特征和視頻特征進行交叉組合能夠改進點擊率預測精度[6]。FM作為一種矩陣分解模型,能夠有效降低高維數據稀疏性,并且對噪聲和冗余不敏感,擁有良好的可擴展性[7];鄧路佳等[8]針對傳統單一模型對CTR預測效果較片面、且廣告日志數據存在稀疏性問題,提出一種將高斯混合模型(Gaussian Mixture Model,GMM)與因子分解機相結合的廣告點擊率預測模型;朱志北等[9]對訓練數據采用隱狄利克雷分配模型(Latent Dirichlet Allocation,LDA)進行主題分割,用于訓練多個因子分解機模型,然后依據廣告屬于各主題的概率對模型進行加權集成;JUAN等[10-11]引入場的概念,提出了場感知因子分解機(Field-aware Factorization Machines,FFM)模型,使得每兩組特征交叉的隱向量都是獨立的,取得了更好的組合效果;Pan等[12]很大程度減少了FFM模型的參數量,提高了算法計算效率,降低了存儲空間要求。這些方法都取得了不錯的效果,然而,FM類模型只能有效提取一階和二階特征,難以挖掘高階特征信息,限制了模型性能的進一步提升。
FM模型與深度學習模型的集成為傳統模型的深度擴展提供了思路[13],深度神經網絡(Deep Neural Network,DNN)通過構建深層網絡架構,可以逐級提取從淺層到深層的特征,從海量數據中挖掘豐富而有價值的信息,近幾年性能最顯著的CTR模型均是基于深度學習而構建的[14-21]。當前最具代表性的CTR預測架構是深度因子分解機(Deep Factorizations Machine,DeepFM)模型[18],DeepFM將FM和深度神經網絡(Deep Neural Network,DNN)相結合,較好地解決了高階特征挖掘的問題。但是,傳統DNN在反向傳播時存在梯度逐漸消失、參數不能有效更新的問題,導致模型難以收斂。并且隨著網絡深度的增加,網絡性能可能產生退化,即先趨于最優,然后迅速下降。針對這些問題,提出一種基于深度殘差網絡的DeepFM架構,并引入失活(Dropout)機制抑制過擬合。
1 基于DeepFM的經典CTR預測模型
1.1 嵌入編碼層設計
由于CTR預測中原始輸入特征具有多樣數據類型,部分維度甚至是殘缺的,為了將不同類型的特征分量進行歸一化映射,同時降低輸入特征向量的維度,一般而言需要將輸入特征先進行獨熱碼向量映射(One Hot Vector Mapping),緊接著在極其稀疏的獨熱碼輸入層后級聯嵌入編碼層(Embedding Layer)。與FFM[10]一樣,deepFM把具有相同性質的特征歸結為一個場(Field)。如圖1所示,嵌入層編碼將不同場的獨熱碼稀疏向量映射到低維向量,這樣可以壓縮原始數據信息,極大降低輸入維度。
其中,x為嵌入編碼后的響應向量,S為獨熱碼稀疏特征向量,M為參數矩陣,其元素為圖1中連接線的權重參數,這些參數在CTR預測模型訓練過程中由學習迭代收斂而得到。
1.2 因子分解機
在CTR預測中由于輸入特征極具稀疏性,同時輸入特征之間存在關聯性,Rendle于2010年提出了因子分解機模型[5],旨在預測用戶點擊率時充分考慮一階特征和二階組合特征。因子分解機中的回歸預測模型為:
其中,[yFM]為預測輸出,[n]為輸入特征向量的維度,[xi]為第[i]維輸入特征向量,[ωi]為一階特征的權重參數,[ωij]為二階組合特征的權重參數。該模型的二階組合特征的待學習參數量眾多,為n(n-1)/2,而由于實際應用中數據的稀疏性,使得該模型難以訓練。將矩陣[{ωij}]分解為[VTV],其中矩陣[V]為:
其中,[vi]為與[xi]關聯的k維隱向量,[
1.3 深度神經網絡架構
DeepFM預測模型引入了DNN對嵌入編碼后的特征向量[x]進行全連接層級聯,建立一個回歸或者分類模型,圖2給出了一個典型的DNN模型,其每一個神經元的輸出為上一層神經元的線性加權值作非線性映射之后的響應,即對于[l+1]層神經元而言,其輸出響應值為:
其中,[w(l)]、[a(l)]和[b(l)]分別表示第[l]層的權重矩陣、第[l]層神經元的輸出響應、連接第[l]層和第[l+1]層的偏置值向量。[φ(?)]為非線性映射函數,常用如下Sigmoid函數或ReLU函數。
2 基于深度殘差網絡的DeepFM架構
DeepFM模型架構的FM具有一階特征和二階組合特征的建模能力,而DNN負責對高階特征進行提取。但是由于DNN模型是逐步級聯的,當全連接層數量增加后,會產生冗余的連接層,此時冗余層由于學習了不是恒等映射的參數而造成網絡性能退化。同時,隨著網絡層數的增大,梯度回傳迭代時可能產生梯度彌散,出現難以收斂的窘境。因此,將深度殘差網絡(Deep Residual Network,DRN)[22]引入到DeepFM模型中(DRN-DeepFM),其架構如圖3所示,其中DNN模塊每兩層增加一個跳變(shortcut)連接,構成一個殘差塊。通過引入殘差結構,將低階的特征與高階的選通相加,其相加的權重參數由模型訓練過程中學習得到。最后在Fusion層將FM和DNN的預測結果進行融合并作概率歸一化映射。
其中,非線性映射函數[f(?)]為Sigmoid函數,[β]為折衷系數。
2.1 殘差網絡層設計
圖4給出了殘差網絡級聯的基本方式,全連接層的輸出響應F(x)為高階組合特征的表征,它與更低階的組合特征(如x)加權組合后再作非線性映射,其機制類似于FM中一階和二階組合特征的關系,不過殘差網絡刻畫的是高階和更高階之間的線性組合。因此,基于殘差網絡的DNN結合FM可以對用戶數據的一階、二階以及高階組合特征進行回歸建模,更有利于挖掘數據之間的關聯性。
2.2 Dropout機制
為了防止在CTR預測訓練過程中出現過擬合現象,在DNN模型的全連接層引入Dropout機制[23]。如圖5 全連接層中防止過擬合的隨機失活機制所示,在訓練過程中每一個神經元以概率p保留其激活狀態,這樣得到一個期望輸出為:
在測試時神經元總是激活,但其連接權重采用概率p進行加權。
Dropout強迫單一神經元和隨機挑選出來的其它神經元共同工作,減弱神經元節點間的共適應性(Co-adapting),在測試時則可以獲得相當于對多個剪枝(Thinned)網絡取平均的效果,從而顯著降低過擬合,增強泛化能力[23]。
3 獨熱碼映射
CTR預測中的原始輸入可能包括不同的數據類型,如數值型、枚舉型、哈希值等;為了對異構的數據規整化,同時避免特征工程的繁瑣過程,將其轉化為獨熱碼是最常用的有效手段,然而當遇到某些維度特征分布極其分散的情況下,會導致轉化后的獨熱碼向量極其稀疏。為了避免枚舉類型或者哈希值型在獨熱碼映射時出現維度災難,在獨熱碼生成過程中引入一個最大支持維度參數[Q]。例如,統計數據集中某一個哈希值類型的維度數據,并建立原始數據與發生頻數的字典映射關系為:
其中,[ρi]為第i個不同的哈希值,[Ci]為其發生的頻數,T為哈希可能取值的總數量。當[TQ]時,只需要將獨熱碼向量中索引A(A為[ρi]在所有可能取值中的排序索引)處取值為1即可。當[TQ]時,對發生的頻數[Ci]進行二次映射,構建新的字典映射表,直至其維度小于[Q]為止。
4 實驗結果與分析
4.1 Criteo數據集
為了驗證所提出的CTR預測模型的性能,選取Criteo公開數據集進行評估,該數據集中包括了4.5億多用戶點擊事件記錄,數據類型有數值型和哈希值兩大類,其維度分別為13維和26維,正負樣本占比分別為22.912 5%和77.087 5%,根據7∶1的比例將此數據集劃分為訓練數據集和測試數據集。
4.2 CTR預測性能評價指標
CTR預測性能評估指標使用了二元交叉熵損失函數Logloss以及AUC(Area Under Curve)。Logloss定義為:
其中,N為測試集上樣本總數量,[y(i)]和[y(i)]分別為測試集合上第i個樣本的類別真值和預測用戶點擊的概率值。
AUC的定義為ROC(Receiver Operating Characteristic)曲線下坐標軸所閉包的區域面積為:
其中,[fpr]為假陽率。不同分類閾值下假陽率不同,通過變化分類閾值,可以得到不同假陽率下的真陽率曲線,即ROC。
4.3 實驗
基于Tensorflow對CTR預測模型進行開發實現,圖6給出了Tensorboard中對模型結構和數據流圖的可視化,從圖中可以看出嵌入編碼層、FM層、DNN層、Fusion層均有參數需要學習,由Adam優化器進行迭代求解。
4.3.1 實驗設置
為了降低樣本排列順序對最終模型訓練后的性能影響,首先對數據集中的樣本進行隨機化洗牌,并將帶有標簽的數據集D劃分為兩部分,即訓練數據集[Dtrain]和測試數據集[Dtest]。實驗中Batch尺寸為128,學習速率為0.001,嵌入編碼層尺度為8,[β=1.0],獨熱碼映射時的最大支持維度為450。首先分別對矩陣分解超參數k、隨機失活的概率p、自適應殘差DNN全連接層數的影響進行研究,選取最優參數,然后將本文方法與主流CTR預測模型進行對比。
4.3.2 超參數影響研究
表1給出了矩陣分解超參數k對AUC的影響。可以看出,隨著k的增大,測試集上的AUC越來越好,說明二階組合特征所覆蓋的用戶信息越來越豐富,在[k=16]時,測試集AUC值趨于飽和,為0.808 1。表2給出了隨機失活概率p和自適應殘差DNN的全連接層數對AUC的影響。可以觀察到,當隨機失活概率逐漸增大,測試集上的AUC性能先逐漸變優,但是當失活概率超過0.3時,測試集AUC性能開始下降。這是由于當失活的神經元過多時,有效的神經元數量不足以學習表征CTR用戶的特征信息。由表2中還可以看出,隨著DNN中全連接層數的增加,測試集AUC逐漸升高并趨于飽和,當全連接層數為4時,測試集AUC值開始飽和,即為0.808 1。實驗結果表明,矩陣分解超參數k、隨機失活的概率p、自適應殘差DNN全連接層數的選擇對于模型的泛化性能均有重要影響。
4.3.3 模型性能評估
根據表1和表2實驗結果,矩陣分解超參數k取16,DNN全連接層數取4,Dropout機制隨機失活概率取30%。
圖7給出了訓練過程中Logloss值和CTR預測準確度隨迭代次數收斂圖,在模型迭代55個Epoch時,其Logloss下降收斂至0.417 3,分類精確度達到了82.521%。圖8給出了最優k、全連接層數和失活概率下不同Epoch下的整個測試集合上Logloss值和準確度分布圖,可以看出在模型訓練迭代到23個Epoch時,其測試集性能表現最優,Logloss值為0.445 17,準確度收斂至80.752%,后期由于網絡參數在訓練集上出現了過度優化,產生過擬合,導致性能有所下降。圖9給出了測試集上AUC值隨著Epoch迭代次數的分布圖,其在第23個Epoch后達到最大值0.808 1。
為了對比不同模型之間的性能,表3給出了與目前主流CTR預測模型在Criteo數據集上的Logloss值和AUC值對比結果。可以看出,DeepFM的性能優于其它主流CTR預測模型,而DRN-DeepFM的Logloss與AUC值則比DeepFM分別改進了1.26%和0.93%,這歸功于對DNN引入深度殘差網絡可以更好地對用戶點擊事件中的高階特征進行抽象建模。
5 結語
提出了一種基于深度殘差網絡的DeepFM點擊率預測架構,將深度殘差網絡引入DNN模型,解決DNN隨著網絡變深產生的梯度消失和模型性能退化問題,從而更有效地提取高階組合特征。此外,為了避免過擬合引入Dropout機制,并且對輸入特征的預處理引入最大支持維度參數,以避免獨熱碼映射時出現維度災難。基于Criteo公開數據集的研究表明,相比眾多主流CTR預測模型,本文提出的DRN-DeepFM模型具有更低的Logloss和更優越的AUC性能。未來將在所提預測架構下對不同場之間的交互建模開展進一步研究。
參考文獻:
[1]HE X R,PAN J F,JIN O,et al.Practical lessons from predicting clicks on ads at Facebook[C]. Proceedings of the Eighth International Workshop on Data Mining for Online Advertising,2014: 1-9.
[2]田嫦麗, 張珣, 潘博, 等. 互聯網廣告點擊率預估模型中特征提取方法的研究與實現[J]. 計算機應用研究,2017,34(2): 334-338.
[3]QIU X K,YUAN Z,LIU G N. ETCF: An Ensemble Model for CTR Prediction[C]. 2018 15th International Conference on Service Systems and Service Management (ICSSSM),2018: 1-5.
[4]潘書敏,顏娜,謝瑾奎,等. 基于用戶相似度和特征分化的廣告點擊率預測研究[J]. 計算機科學, 2017, 44(2): 283-289.
[5]匡俊,唐衛紅,陳雷慧,等. 基于特征工程的視頻點擊率預測算法[J]. 華東師范大學學報(自然科學版),2018,(3): 77-87.
[6]RENDLE S.Factorization machines[C]. 2010 IEEE International Conference on Data Mining. IEEE, 2010: 995-1000.
[7]趙衎衎,張良富,張靜,等. 因子分解機模型研究綜述[J]. 軟件學報,2019,30(3): 799-821.
[8]鄧路佳,劉平山. 基于GMM-FMs的廣告點擊率預測研究[J].? 計算機工程, 2018, 45(5): 128-132.
[9]朱志北,李斌,劉學軍,等. 基于LDA的互聯網廣告點擊率預測研究[J]. 計算機應用研究,2016,33(4): 979-982.
[10]JUAN Y C,ZHUANG Y,CHIN W S,et al.Field-aware factorization machines for CTR prediction[C]. Proceedings of the 10th ACM Conference on Recommender Systems,2016: 43-50.
[11]JUAN Y C,LEFORTIER D, CHAPELLE O. Field-aware factorization machines in a real-world online advertising system[C].? Proceedings of the 26th International Conference on World Wide Web Companion. International World Wide Web Conferences Steering Committee, 2017: 680-688.
[12]PAN J W,XU J,RUIZ A L,et al. Field-weighted factorization machines for click-through rate prediction in display advertising[C].? Proceedings of the 2018 World Wide Web Conference. International World Wide Web Conferences Steering Committee,2018:1349-1357.
[13]燕彩蓉, 周靈杰, 張青龍, 等.? 因子分解機模型的寬度和深度擴展研究[J].? 軟件學報, 2019, 30(3): 822-844.
[14]張志強, 周勇, 謝曉芹, 等.? 基于特征學習的廣告點擊率預估技術研究[J].? 計算機學報, 2016, 39(4): 780-794.
[15]ZHANG W N,DU T M,WANG J.Deep learning over multi-field categorical data[C]. European conference on information retrieval. Springer, Cham, 2016: 45-57.
[16]QU Y R,CAI H,REN K,et al.Product-based neural networks for user response prediction[C]. 2016 IEEE 16th International Conference on Data Mining,2016: 1149-1154.
[17]CHENG H T,KOC L,HARMSEN J,et al.Wide & deep learning for recommender systems[C]. Proceedings of the 1st workshop on deep learning for recommender systems,2016: 7-10.
[18]GUO H F,TANG R M,YE Y M,et al.DeepFM: a Factorization-Machine Based Neural Network for CTR Prediction[C]. Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence,201:1-8.
[19]ZHOU G R,MOU N,FAN Y,et al.Deep interest evolution network for click-through rate prediction[C]. Proceedings of the AAAI Conference on Artificial Intelligence,2019, 33: 5941-5948.
[20]GAN M X,XIAO K J.R-RNN: extracting user recent behavior sequence for click-through rate prediction[J].? IEEE Access, 2019, 7: 111767-111777.
[21]SUN F,LIU J,WU J,et al. BERT4Rec: sequential recommendation with bidirectional encoder representations from transformer[DB/OL]. arXiv preprint arXiv: 1904.06690, 2019.
[22]HE K M,ZhANG X Y,REN S Q,et al.Deep residual learning for image recognition[C]. Proceedings of the IEEE conference on computer vision and pattern recognition,2016: 770-778.
[23]SRIVASTAVA N,HINTON G,KRIZHEVSKY A,et al. Dropout: a simple way to prevent neural networks from overfitting[J]. The journal of machine learning research, 2014, 15(1): 1929-1958.
(責任編輯:孫 娟)
收稿日期:2019-11-28
作者簡介:李遙(1993-),男,上海理工大學光電信息與計算機工程學院碩士研究生,研究方向為深度學習、推薦系統;李燁(1974-),男,博士,上海理工大學光電信息與計算機工程學院高級工程師,研究方向為機器學習、移動通信。