羅逸倫
(廣東財經大學,廣東廣州 510320)
隨著移動設備的普及,移動互聯網時代已經來臨。廣告商利用互聯網以及數據媒體平臺進行廣告營銷成為趨勢。同時,海量的推薦信息往往會影響用戶的上網體驗。因此,在網絡資源有限的情況下,如何高效地提取用戶行為特征,精準推薦適合用戶的業務和內容,成為廣告推薦領域需要解決的問題。
廣告推薦領域中的一個重要環節就是對將廣告投放到一個曝光機會(ad Impression)的用戶點擊概率進行預測[1],將廣告盡可能的投放到點擊率高的曝光機會用以最大化廣告商的收益。因此,廣告推薦的問題一般可以理解為廣告點擊率(Click-Through Rate,CTR)預測的問題。
CTR預測是一個典型的回歸問題,邏輯斯蒂回歸(Logistic Regression,LR)可以很好的將非線性的原始數據處理成線性的輸出結果[2]。但是由于線性模型無法學習并提取數據中的高階組合特征(非線性信息),從而限制該模型的性能。為了解決這一問題,因子分解機(Factorization Machine,FM)模型將數據中的高維隱形稀疏特征映射到低維稠密向量中,并使用向量內積方法來學習兩兩特征之間隱含的特征信息,在學習非線性信息的同時大幅度降低了特征兩兩組合導致的計算復雜度[3]。但是受限于計算復雜度和計算效率,FM模型一般只考慮提取2階交叉特征,無法更深層次的提取高階特征。
在過去幾年,深度學習在自然語言處理、語義識別以及計算機視覺等一系列領域中取得了令人矚目的成就,其挖掘數據特征間高階隱含信息的能力也被應用于CTR預測領域中。文獻[4]中提出了一個FM與深度神經網絡(Deep Neural Network,DNN)相結合的模型FNN。該模型的特點是使用預先訓練好的FM模型,得到特征之間的稠密隱含向量,之后將這些隱含向量作為DNN的輸入進行訓練得到最終的預測結果[4]。但是模型性能受限于FM的預訓練的效果,同時FNN模型無法很好的學習低階的特征組合,進一步限制了模型的性能。Google的研究人員為了滿足同時學習低階與高階組合特征信息的需求,在文獻[5]中提出了Wide&Deep模型,該模型使用融合結構將線性模型和深度學習模型融合在一起并行訓練,在利用深度學習提取特征間高階隱含信息的同時,使用線性模型學習低階特征攜帶的信息,因此預測性能超過了FNN等模型[5]。文獻[3]在該模型的基礎上,將Wide&Deep模型中線性模型模塊使用的LR模型替換成FM模型,從而提出了DeepFM模型,進一步的改進了模型的預測性能。
本文借鑒了Wide&Deep以及DeepFM模型的設計思路,在模型的深度學習模塊中加入殘差神經網絡,提高模型特征間高階隱含信息的學習能力。在線性模塊中采用FM模型去學習低階特征里攜帶的信息,得到一種由殘差神經網絡和因子分解機組成的模型——FM&Resnet模型,并驗證該模型的效果。
FM(Factorization Machine)因子分解機最早是由Steffen Rendle(現任職于Google公司)于2010年的ICDM會議(Industrial Conference on Data Mining)上提出的,該模型在數據非常稀疏的情況下,依然可以估計出可靠的特征參數,并進行預測[6]。FM模型思想是基于線性回歸模型,對于一個給定的特征向量X=(x1,x2,…,xn)T,線性回歸模型為=w0+w1x+…+wnx,其中特征分量xi與xj(i≠j)之間相互獨立,此時的 僅僅考慮單個特征的分量,而沒有考慮互異特征之間的組合關系。因此FM引入了二階組合項xixj,模型變換為:

其中,wij代表組合特征的參數,在xi和xj都非零的時候才有意義,但是數據稀疏的問題在實際應用場景中普遍存在,在樣本數據本身就比較稀疏的情況下,能滿足“xi和xj都非零”條件的樣本數量將會更少,訓練樣本不足會影響到模型性能。為了解決這個問題,FM模型針對每一個特征分量,引入了一個隱向量的概念Vi=(vi1,vi2,…,vik)T∈RT,i=1,2…n,用于替代參數wij,其中k∈N+為根據實際情況與經驗設置的超參數,可得到新的FM模型公式如下:

此時公式中有兩層循環和k維內積,方程的時間復雜度為O(kn2),因此在計算的時候可以采用下式的優化方法,將時間復雜度從O(kn2)降低至O(kn),提高FM模型的計算效率。


圖1 FM&ResNet模型架構圖Fig.1 FM&ResNet model architecture diagram
隨著深度學習發展的不斷深入,更多的深度神經網絡模型被提出,如Lenet、Alexnet以及VGG-16等。然而在許多情況下,訓練深層網絡的過程中,我們都會發現一個更加復雜的8層的網絡的效果往往不如相對簡單的3層的神經網絡。殘差網絡為了解決深層網絡訓練的問題,增加一個恒等映射(identity mapping),將原始所需要學的函數H(x)轉換成F(x)+x。假設某段神經網絡中的輸入與輸出是x和H(x),如果將原始輸入x直接傳到輸出作為初始的結果,那么學習的目標就從H(x)變為了F(x)+x,即殘差。雖然兩種表達式效果相同,但是F(x)+x的優化難度比H(x)簡單的多。給網絡末端添加一個恒等映射不會給網絡增加額外的參數和計算量,并且在模型層數增加時能夠很好的解決模型的退化問題。
由前文所分析,FM模型在邏輯回歸模型的基礎上提出了使用隱向量作為內積用來表示特征之間的組合,但是受限于模型的計算復雜度考量,FM模型一般也只是提取二階的特征組合進行學習。在廣告點擊率預測領域,低階特征和高階特征組合同樣重要,但是特征組合階數越高越復雜,學習的難度也隨之上升,同時學習兩種特征組合的性能要比只學習其中一種的性能要好。所以本文從同時學習高階隱性特征與低階顯現特征的角度出發,在原有的DeepFM模型上進行改進,引入殘差神經模塊,增強高階組合特征的挖掘能力,得到了由殘差深度神經網絡和因子分解機組成的模型——FM&ResNet模型,圖1是FM&ResNet模型的架構圖。
如圖1中可以看出FM&Resnet模型主要分為兩個部分:深度殘差神經網絡部分和FM部分,利用FM模型學習一階以及二階組合特征,完成樣本低階特征的提取;在深度神經網絡中引入殘差模塊,利用深度學習提取高階特征的能力,來學習樣本中的高階特征信息。又在深度殘差深度模塊輸入層前部引入了嵌入層,將輸入的樣本向量壓縮成低位稠密的向量,既解決了數據稀疏的問題,又避免了多類型的特征one-hot編碼之后維度過大增加計算復雜度的問題。由殘差神經網絡和FM共同組成模型,同時進行訓練,最終得到的結果如下:

其中,YResNet代表深度殘差神經網絡部分的輸出,YFM代表FM部分的輸出,兩者的輸出結果通過一個Sigmoid函數將結果轉換為(0,1)之間的一個數值,最終模型得到了點擊率預測的計算結果。
本文采用的實驗數據集來自于Criteo點擊率預測挑戰賽的公開數據集,該數據集的樣本量為4千萬的訓練樣本,5百萬的測試樣本,一共有13個數值特征和26個分類特征。模型的評估方法采用的是AUC評分和LogLoss損失函數,其中AUC定義為ROC曲線下與坐標圍成的面積,AUC值越大代表模型性能越好;LogLoss代表交叉熵損失,用來評估預測值與真實值不一致的程度,LogLoss值越小,說明預測模型性能越好。本次實驗以DeepFM、FM&ResNet兩個模型作為對比分析。從Criteo數據集中分別抽取2千萬條記錄與1千萬條記錄作為數據A和數據B,訓練樣本與測試樣本比例10:1,實驗結果如表1。

表1 對比實驗結果Tab.1 Comparative experimental results
可以看出FM&ResNet模型引入殘差神經網絡后,模型提升了高階隱形特征的學習能力,在不同數量級的數據集上比較原模型有更好的預測效果,AUC值平均提升了0.25%,LogLoss平均降低了0.41%。FM&ResNet增強了提取樣本中高階隱形特征的能力,預測效果要比DeepFM模型要好。
本文針對點擊率預測問題,改進原模型DeepFM,增強了高階隱形特征的學習能力,得到了基于因子分解機和殘差神經網絡的模型——FM&ResNet,并與原模型進行了比較,最終發現在不同數量級別的訓練樣本上,FM&ResNet模型的預測效果要更好,可以有效的挖掘樣本中的特征組合,提高廣告推薦的精準性。綜上,利用FM&ResNet模型可以從用戶行為習慣中高效地挖掘用戶行為特征,提高廣告點擊率預測性能,幫助廣告商精準、高效地投放廣告,達到最大化收益的目的,對于用戶來說可以大量減少無效信息的干擾,提高了用戶上網體驗,從而達到一個雙贏的局面。