?

特征重要性動態提取的廣告點擊率預測模型

2022-05-10 08:45蔣興渝黃賢英陳雨晶
小型微型計算機系統 2022年5期
關鍵詞:殘差向量維度

蔣興渝,黃賢英,陳雨晶,徐 福

(重慶理工大學 計算機科學與工程學院,重慶 400054)

1 引 言

在廣告行業中,當下流行的計費模式之一是廣告主向廣告發布商按照每產生一次點擊進行計費(Cost Per Click).在這種模式下,提升點擊率預測的準確度,不但會影響廣告主和廣告目標客戶對廣告發布商的認可度,而且很大程度上影響了廣告發布商的收入,因此提升CTR預測準確率已經成為大規模廣告推薦的關鍵任務.

目前學術和工業界針對該任務提出的預測模型主要可以分為兩類:傳統預測模型和基于深度學習的預測模型.其中傳統模型如:協同過濾(Collaborative Filtering,CF)[1]通過設立用戶和物品的共同評分矩陣進行預測,邏輯回歸(Logistic Regression,LR)[2]學習每個用戶、商品特征的參數得到預測結果,Polynomial-2(Poly2)[3]在LR的基礎上通過特征之間的交互矩陣參數解決了特征交互問題,基于梯度提升樹模型(Gradient Boost Decision Tree,GBDT)[4]考慮了特征之間的熵關系,以及利用矩陣分解為每個特征設置隱向量來進行交互的基于因子分解機(Factorization Machine,FM)[5]和改進FM利用特征域使特征交互更準確的域感知因子分解機(Field Factorization Machine,FFM)[6],除此之外還有FaceBook發布的GBDT+LR[7]組合模型.由于這類模型提出的時期較早,只考慮了對低階特征的學習,未能使用深度神經網絡挖掘低階特征的高階信息,限制了模型的預測能力.

近年來隨著深度學習在各個領域上取得的重大成功,業內學者和工程師提出了許多基于深度學習的CTR模型,因此利用深度神經網絡(Deep Neural Network,DNN)預測廣告點擊率已然成為該行業的研究趨勢.隨之出現了基于神經網絡的因子分解機(Factorization-Machine Supported Neural Networks,FNN)[8],Wide&Deep(WDL)[9],深度因子分解機(Factorization-machine based neural network,DeepFM)[10],xDeepFM[11]等.這類模型的重點是通過神經網絡對高階特征之間的關系進行擬合,從而提升模型的預測準確率,卻忽略了提取低階特征時不同特征交互所含的重要性不同等問題,限制了深度神經網絡學習的高階特征表達.對于特征交互重要性問題,AFM[12]提出將注意力機制引入到特征交叉模塊,使其能夠顯式地學習出每種交互特征的重要性,但這種方式沒有考慮到特征交互時引入的干擾信息并且只考慮了特征兩兩交互的情況,因此預測準確度的提升十分有限.

針對以往模型提取特征重要性的不足[10-13],僅僅使用復雜的深度網絡模型不但會增加計算資源的消耗,存在網絡退化、梯度爆炸、梯度消失等隱患,而且難以從具有干擾的特征信息里學習到更多有效交互特征.為此,本文提出了一種特征重要性動態提取的廣告點擊率預測模型(Feature Importance Dynamic Extraction Supported Gating-Residual Network,FIDE).該模型的基本思想是:在提取的特征重要性之前增加門控機制(Gating Mechanism)對特征信息進行篩選避免引入干擾信息;為了獲得多個特征之間交互的重要性,遷移使用了一種來自圖像的特征重要性提取方法SENet[14]計算特征重要性交互并將其與原始一階特征融合;然后通過雙線性方法對融合特征進一步交互,最后利用門控和殘差(Residual)[15]結合方法構建出更深的網絡獲得更高階的特征交互.

本文的主要貢獻如下:

1)提出一種特征重要性動態提取的CTR預測模型FIDE.巧妙地結合了SENet、門控機制和殘差方法,用于特征重要性的提取.

2)提出的FIDE在提取特征重要性的過程中,考慮了特征中的干擾信息,通過門控機制實現了特征重要性的動態篩選;

3)提出的FIDE在訓練深度神經網絡時通過使用殘差和門控機制,動態獲取特征高階信息,一定程度上抑制了隨著網絡層數的加深出現的網絡退化和梯度問題.

2 相關工作

在深度學習領域,卷積神經網絡(Convolutional Neural Networks,CNN)的發展對其它計算機視覺任務如目標檢測[16]和語義分割[17]都起到推動作用,而卷積核作為卷積神經網絡的核心,通常被認為是在局部感受野上,將空間(Spatial)信息和特征維度(Channel-Wise)信息進行聚合的信息聚合體.在SENet提出之前的卷積操作[18,19]主要是將輸入特征的所有Channel進行融合,未能考慮Channel之間的關系,而SENet的創新在于使模型可以自動學習到不同Channel的重要程度.為此,SENet提出了Squeeze-and-Excitation(SE)模塊,該模塊對每個Channel獨立使用全局平均池化,然后使用兩個非線性的全連接(Fully Connected,FC)層捕獲非線性的跨通道交互作用,并通過一個擠壓函數生成每個Channel的權值,最后將提取到的權值與原始數據融合得到具有重要性表示的特征.事實證明SENet在圖像分類任務中能夠高效地解決問題,并在當年ILSVRC分類任務中獲得第一名.基于該方法在特征重要性提取上的優勢[20-23],本文提出的FIDE通過SENet多特征向量交互信息擠壓來學習特征的重要性,使原始特征和重要性特征能夠融合.

近年來門控機制在自然語言處理(Natural Language Processing,NLP)任務中被廣泛應用,例如LSTM[24]通過增加隱變量細胞狀態(Cell State)記錄信息解決了循環神經網絡(Recurrent Neural Network,RNN)[25]的梯度問題,除此之外GRU[26]通過重置門(Reset Gate)和更新門(Update Gate)分別捕捉時間序列里短期和長期的依賴關系.ABSA-GCN[27]則證明了,門控機制具有篩選特征的功能,門控機制相當于一個調節閥,可以控制流入的信息流量的流入程度,因此通過門控機制可以自適應地使不同粒度的潛在特征用于不同的處理流程.基于門控機制的特征自適應選擇能力,本文在數據輸入SENet前利用了門控機制過濾出重要性信息,使SENet能夠將得到的信息用于重要性提取.

深度學習的重點在于其能夠對數據特征進行學習抽象,直觀上可以認為是在非線性激活函數的條件下,通過增加網絡層數獲得更大的假設空間,以此更有可能獲得最優解.但在實際應用中,更深的神經網絡往往會遇到梯度消失、梯度爆炸以及網絡退化問題.出現問題的原因在于神經網絡難以在最優解層之后的網絡層中擬合出恒等映射,使得預測結果反而偏離了最優解,針對這一問題,殘差網絡通過殘差單元以跳層的形式實現連接,使得模型可以在獲得最優解之后進行恒等映射,實驗表明[15],殘差網絡解決了深度神經網絡的退化問題,并在ImageNet和CIFAR-10等圖像任務上取得了較大的提升,同等層數條件下相比前饋神經網絡,殘差網絡收斂速度更快.除此之外,去除個別神經網絡層,殘差網絡的表現不會受到顯著影響,這一點上與傳統的前饋神經網絡有較大差異.受這一思想的影響,在NLP領域,谷歌提出的Transformer[28]的編碼器和解碼器中,每一個子模塊使用了殘差連接用于保留特征信息和防止梯度問題.與文獻[15,28,29]不同的是,本文針對的CTR任務在使用殘差結構擬合數據特征時,能夠在前幾層就獲得最優解,這是由于公開數據集中特征組相比圖像少,限制了更多預測的可能性.

本文以廣告點擊數據作為研究對象,在SENet的基礎上采用門控機制動態篩選出細粒度特征重要性,并通過SE模塊進一步擠壓提取特征重要性,同時還考慮了原始特征所含的有效信息,結合兩者得到了含有特征重要性的數據表示,最后將其和原始數據都進行雙線性交互后送入隱藏門控殘差網絡計算出預測結果.本文提出的FIDE主要解決的問題是:以往預測模型中忽略的特征重要性提取和提取特征時數據中的干擾問題,將在第4節通過實驗證明其能夠解決以上問題并達到更好的預測效果.

3 特征重要性動態提取的廣告點擊率預測模型

本文提出的FIDE目的在于能夠通過細粒度方式動態地提取特征重要性和去除數據中的干擾.模型結構如圖1所示,為了清楚起見,省略了可以簡單合并的LR[2]部分.FIDE主要包含以下部分:Embedding嵌入層(Embedding Layer),門控SE層(Gating Mechanism and SE Layer,GM-SE Layer),雙線性交互層(Bilinear-Interaction Layer),組合層(Combination Layer),隱藏門控殘差網絡(Hidden Gating-Residual Network,HGR-DNN),輸出層(Output Layer).其中嵌入層與DeepFM相同,對類別輸入特征采用稀疏特征表示,并將稀疏特征嵌入稠密向量中.門控SE層可以將嵌入層的輸出通過門控機制得到向量,并利用SE進一步擠壓提取獲得特征重要性表示,這有助于增強特征的可分辨性,提升模型對重要特征的學習效率.接下來的雙線性交互層分別學習原始嵌入特征和具有重要性分辨的嵌入特征的二階特征交互.隨后將這些交互特征通過組合層連接,輸入到隱藏門控殘差網絡中,最后由隱藏門控殘差網絡輸出預測得分.

圖1 特征重要性動態提取的廣告點擊率預測模型

3.1 Embedding嵌入層

CTR預測任務中,數據中的特征通常分為類別特征和數值特征.由于類別特征不能直接用于數值計算,因此需要通過獨熱編碼將類別特征,轉換為二進制向量表示,以便機器學習算法的處理.例如,在寵物食品廣告中,可以將狗的性別特征按雌雄分別編碼為二維向量[1,0]和[0,1].體型特征按照超大型、大型、中型、小型分別表示為4維向量[0,0,0,1]、[0,0,1,0]、[0,1,0,0]、[1,0,0,0]、[1,0,0,0].但在實際情況下,類別特征的獨熱編碼通常是高維且稀疏的.如果直接用深度神經網絡訓練這樣的高維稀疏特征向量,將帶來難以忍受的計算復雜度并且會降低模型的泛化能力.因此在輸入深度網絡訓練前,需要將高維稀疏特征向量通過Embedding嵌入層映射為低維稠密向量,這種方法在基于深度學習的CTR預測模型中被廣泛應用[8-11].例如一只小型雌性狗的獨熱編碼為[1,0,0,0,0,1],假設將這個6維稀疏獨熱編碼通過一個兩層神經網絡,映射為4維的稠密嵌入向量[0.64,0.36,0.4,0.6],其中前兩維[0.64,0.36]表示體型特征,后兩維[0.4,0.6]表示性別特征,這種映射操作可以減少后續神經網絡中的神經元數量和計算開銷.值得注意的是,不同特征對應的嵌入向量維度可以有差別.

嵌入層的輸入為原始數據特征的稀疏獨熱編碼表示,輸出是稠密的原始嵌入向量E=[e1,e2,…,ef],其中f表示特征域的個數,這里的域可以包含多個特征,例如狗的品種特征:博美、牧羊犬、哈士奇、斗牛犬等都屬于品種這一個特征域,ei∈Rk表示第i個域的嵌入向量,k表示嵌入向量的維度.

3.2 門控SE層

不同特征對目標任務的重要性是不同的,例如預測一條化妝品廣告是否能夠被點擊時,通常性別特征比愛好特征具有更高的重要性.由此利用SENet在特征重要性提取上的優勢,使模型能夠更加關注特征的重要性.但SENet在提取特征重要性過程中,對所有特征進行擠壓提取,忽略了特征中的干擾問題,又由于門控機制在NLP領域應用中取得的成果[23-27],本文將門控機制與SENet結合.使得模型可以通過門控SE層動態學習重要特征的權重并減少非重要特征的權重.

門控SE層的輸入是由嵌入層輸出的嵌入向量E.首先嵌入向量E經過門控機制獲得嵌入向量的門控重要性向量GE=[ge1,ge2,…,gei,…,gef],隨后將向量GE經過SE擠壓提取得到特征重要性向量S=[s1,s2,…,si,…,sf],然后將特征交互重要性向量S與原始嵌入向量E融合得到自適應重要性嵌入向量C=[c1,c2,…,ci,…,cf],其中gei∈Rk表示第i個嵌入向量的門控重要性向量,si∈R表示第i個嵌入向量的交互重要性,ci∈R表示第i個嵌入向量的自適應重要性嵌入向量,f表示特征域的個數,k表示嵌入向量的維度.

門控SE層由4個步驟組成,如圖2所示,圖中fg(·)、fsq(·)、fex(·,W)和fimportance(·,·)分別表示門控過濾、特征擠壓、特征重要性提取以及特征重要性融合步驟.以下是這4個步驟的詳細過程描述:

圖2 門控SE層

1)門控過濾:這一步可以去除原始嵌入向量中的干擾信息,并為原始嵌入向量賦予重要性.門控過濾首先為每個嵌入向量ei計算出特征門控重要性gi,其計算過程如式(1):

gi=σg(wi·ei)

(1)

其中ei∈Rk表示原始嵌入向量,wi表示第i個嵌入向量的重要性學習參數,i=1,2,…,f,σg表示門控過濾激活函數.

然后將過濾后的特征門控重要性gi與相應的原始嵌入向量ei融合,生成門控重要性向量gei,計算過程如式(2):

gei=fg(ei)=ei?gi

(2)

其中ei∈Rk表示第i個原始嵌入向量,gi表示第i個門控重要性,i=1,2,…,f,?表示Hadamard積或元素級矩陣計算.

通常公式(1)中利用門控機制輸出得到的門控重要性是一種標量特征重要性表示,本文為了更細粒度地獲取嵌入向量重要性,考慮了另一種矢量特征重要性表示,兩種表示的計算如圖3所示.當門控重要性gi為標量特征重要性gis∈R時,嵌入向量的重要性學習參數wi∈Rk×1,門控重要性gi為矢量特征重要性giv∈Rk時,嵌入向量的重要性學習參數wi∈Rk×k,k是嵌入向量的維度.

圖3 標量與矢量特征重要性表示計算

從圖3可以看出,標量特征重要性gis是一個值,并按照這個值為對應的嵌入向量的每個維度特征賦予相同的特征重要性.矢量特征重要性giv則是一個k維的向量,它可以為每個維度特征賦予不同的特征重要性.兩種重要性表示方法的性能比較將在實驗4.4節進行討論.

2)特征擠壓:這一步用于獲取每個門控重要性向量的摘要統計信息,常用方法是通過最大池化或平均池化,將門控重要性向量GE=[ge1,ge2,…,gei,…,gef]轉化為摘要統計信息U=[u1,u2,…,ui,…,uf],本文通過實驗,發現在CTR預測任務中,平均池化效果優于最大池化,其計算方法如式(3)所示:

(3)

3)特征重要性提?。哼@一步的目的是通過特征擠壓得到的摘要統計信息U計算出嵌入向量的交互重要性向量S.具體操作是利用兩個非線性的全連接層實現,第一層是一個學習參數為W1,減少率(Reduction Ratio)為r的降維層,第二層是一個學習參數為W2的升維層,計算過程如公式(4)所示:

S=fex(U,W)=σ2(W2σ1(W1U))

(4)

其中第1層學習參數W1∈Rf×(f/r),第2層學習參數W2∈R(f/r)×f,σ1、σ2分別代表第1層、第2層激活函數,r是全連接層的維度減少率.

4)特征重要性融合:門控SE層的最后一步是特征重要性融合,這一步將原始嵌入向量E和嵌入向量的交互重要性S融合,輸出得到的自適應重要性嵌入向量C.具體計算過程如公式(5)所示:

C=fimportance(S,E)=[s1·e1,…,sf·ef]=[c1,…,cf]

(5)

其中,si∈R,ei∈Rk,ci∈Rk,i表示第i個特征域,i=1,2,…,f,k表示嵌入向量的維度.

3.3 雙線性交互層

特征之間的信息關聯對模型預測準確率有著較大影響,例如一條流行服飾的廣告中,服飾的品類和款式往往決定了廣告能否吸引用戶觀看,直接影響了廣告的點擊率.傳統的特征交互方法有內積、外積、Hadamard積等.但這類方法遺漏了特征交互時的重要性選擇,并且特征之間的交互結果往往會因交互特征而異.因此本文提出使用一種更細粒度的自適應特征交互方法——雙線性交互[31].其計算方式如公式(6)所示:

qij=ciW⊙cj

(6)

其中ci,cj∈Rk分別表示第i,j個自適應重要性嵌入向量,i,j=1,2,…,f,W為交互參數,⊙代表對應元素相乘.由于交互方式的不同,公式(6)中的雙線性交互參數W又分為:全域共享交互Wall,域私有交互Wi,域專屬交互Wij.3種交互方式分別如公式(7)-公式(9)所示:

全域共享交互:

qij=ciWall⊙cj

(7)

其中Wall∈Rk×k是一個所有自適應重要性嵌入向量ci,cj∈Rk的共享參數矩陣.

域私有交互:

qij=ciWi⊙cj

(8)

其中Wi是第i個自適應重要性嵌入向量的參數矩陣,在域私有交互的計算方式下,共有f個這樣的參數矩陣,f為域的個數.

域專屬交互:

qij=ciWij⊙cj

(9)

其中Wij是第i個自適應重要性嵌入向量與第j個自適應重要性嵌入向量的參數矩陣,在域專屬交互的計算方式下,共有f(f-1)/2個Wij參數矩陣,f為域的個數.

如圖1所示,雙線性交互層對輸入的原始嵌入向量E和自適應重要性嵌入向量C都進行了雙線性交互,目的是提取兩種不同向量的自身向量之間的關聯交互信息.雙線性交互層的輸出是由原始嵌入向量得到的原始交互P=[p1,…,pi,…,pn]和由自適應重要性嵌入向量C得到的自適應重要性交互Q=[q1,…,qi,…,qn],其中pi,qi∈Rk,k是嵌入向量的維度,n∈Rf(f-1)/2是向量之間交互個數.針對三種交互方式的對預測性能的貢獻,將在實驗4.5節進行討論.

3.4 組合層

組合層的輸入是原始交互P和自適應重要性交互Q,輸出是將兩者進行拼接后的組合交互V.其組合過程如公式(10)所示:

V=[P,Q]=[p1,…,pn,q1,…,qn]=[v1,…,v2n]

(10)

如果直接組合交互V里的每個元素相加求和,然后通過Sigmoid函數輸出預測值,則可以得到一個未經過深度網絡計算的淺層部分(Shallow Part)模型FIDEshallow.

3.5 隱藏門控殘差網絡

以往的CTR預測模型使用的深度網絡往往層數不深(通常在3-5層左右),由于網絡退化和梯度等問題,未能完全利用深度網絡擬合數據的優勢.本文結合門控和殘差方法提出的隱藏門控殘差網絡(HGR-DNN),該網絡由如圖4所示的多層堆疊形成.HGR-DNN的輸入是組合交互V拉平后的表示V0,V(l),表示隱藏門控殘差網絡第l層的輸出.計算公式如式(11)、式(12)所示:

圖4 一層隱藏門控殘差網絡

V(l)=V(l-1)?σv(W(l)V(l-1)′)

(11)

(12)

3.6 輸出層

輸出層將LR計算部分、HGR-DNN輸出的V(l)求和用于最終預測.此處LR部分所用的原始嵌入向量E=[e1,e2,…,ef],是通過稀疏獨熱編碼通過兩層神經網絡映射得到的,因此計算它的梯度更新受到LR部分和V(l)的共同影響,對應的原始編碼可以通過稠密嵌入向量和稀疏高維編碼之間的神經網絡參數逆向計算得到.

綜上所述,FIDE模型輸出的整體公式如式(13):

(13)

(14)

算法1.特征重要性動態提取的廣告點擊率預測算法.

輸入:學習率α,樣本批量大小M,Embedding嵌入層參數θG,門控SE層中門控過濾、特征擠壓、特征重要性提取以及特征重要性融合步驟參數分別為θge,θsq,θex,θimportance,雙線性交互參數θBi,深度神經網絡參數θHGR-DNN.

輸出:完成訓練的網絡fFIDE.

1.從數據集中隨機讀取M個樣本X={x1,x2,…,xm}

2.E←fθe(X) /*其中fθe(·)為Embedding嵌入層函數表示*/

3.GE←fθge(E)/*其中fθge(·)為門控SE層中的門控過濾步驟函數表示,如公式(1)(2)所示*/

4.U←fθsq(GE)/*其中fθsq(·)為門控SE層中的特征擠壓步驟函數表示,如公式(3)所示*/

5.S←fθex(U,W)/*其中fθex(·,W)為門控SE層中的特征重要性提取步驟函數表示,如公式(4)所示,W為該步驟的兩層神經網絡參數*/

6.C←fimportance(S,E)/*其中fimportance(·,·)為門控SE層中的特征重要性融合步驟函數表示,如公式(5)所示*/

7.P←fBi(E),Q←fBi(C)/*其中fBi(·)為雙線性交互層函數表示,如公式(6)-公式(9)所示*/

8.V←fcombination(P,Q)/*其中fcombination(·,·)為組合層函數表示,如公式(10)所示*/

11.重復步驟1至步驟10直至網絡收斂

4 實驗及性能評價

本節將介紹實驗數據以及評價參數設置,通過在兩個真實的公開廣告數據集Criteo(1)Criteo:http://labs.criteo.com/downloads/download-terabyte-click-logs/和Avazu(2)Avazu:http://www.kaggle.com/c/avazu-ctr-prediction/上進行的實驗,對FIDE模型的預測性能進行評價.實驗內容包括:

1)FIDE與目前最高水平的BaseLine(基線)對比

2)門控嵌入層對模型性能的提升

3)不同雙線性交互方式對模型性能的影響

4)HGR-DNN對模型性能的提升

5)超參數設置對模型性能的影響

4.1 實驗數據及評價指標

4.1.1 數據集

Criteo數據集近年來被廣泛應用于對CTR任務模型性能的評價.它包含了約4500萬真實用戶點擊反饋數據,Criteo數據集的特征由26個脫敏分類特征和13個連續數值特征組成.本文實驗將數據集隨機分為兩部分:90%用于訓練,其余用于測試.Avazu數據集由不同日期的廣告點擊按時間順序組成.該數據集包含約4000萬真實世界的用戶點擊記錄,每個廣告點擊有24個特征.本文實驗將其隨機分為兩部分:80%用于訓練,其余部分用于測試.自2014年以來,學術界一直使用Criteo和Avazu數據集來衡量CTR預測模型的性能[30-32].

4.1.2 評價指標

本文實驗以AUC[33]和LogLoss[34]為評價指標.

AUC作為一個評價分類問題的廣泛使用的指標,它的優點在于受正負樣本比例影響較小.從數學上來說,AUC是受試者操作曲線(Receiver operating characteristic,ROC)的下面積,其上限為1.此外,也有研究證明AUC是對CTR預測任務的一個良好評價標準[35].在實驗中,AUC值越大,模型的預測性能越好.

LogLoss是二分類問題中廣泛使用的評價標準,用來表示預測值與真實值之間的差距.LogLoss的下限為0時表示預測值與真實值完全匹配.在實驗中,較小的LogLoss值表示預測模型具有更好的性能.

4.1.3 實驗超參數設置

本文在實驗中利用Tensorflow(3)TensorFlow:https://www.tensorflow.org/實現了所需模型.實驗中的嵌入門機制層在使用Criteo數據集時,嵌入向量的維度設置為20;在Avazu數據集上,嵌入向量的維度設置為50.本文使用Adam[36]作為實驗優化方法,對于Criteo數據集,

最小Batch-Size為1024;對于Avazu數據集,最小Batch-Size為512.Criteo數據集的每層神經元數為512,Avazu數據集的每層神經元數為1024.統一設置學習率為0.0001,Drop Out Ratio為0.5,HGR-DNN的層數為5層.

4.2 對比試驗模型設置

為了驗證FIDE僅使用Shallow Part模型和使用Deep Part模型的性能,本文將實驗分為兩組:Shallow組和Deep組.實驗還將基線對比模型分為兩個部分:淺基線模型和深基線模型.淺基線模型包括LR[2],FM[5],GBDT+LR[7]而深基線模型包括FNN[8],WDL[9],DeepFM[10],xDeepFM[11].對于深基線模型,為了簡化對比試驗,統一設置每個隱層節點的激活函數為ReLU,輸出節點的激活函數為Sigmoid,最優參數求解都采用Adam.值得注意的是,通常認為AUC提高1‰也是有意義的,因為如果公司的用戶群數量非常大,它將為公司收入帶來大幅度的增長[10-13].

4.3 FIDE模型與基線模型性能對比

本小節分別在表1和表2中總結了Shallow組和Deep組在Criteo和Avazu測試集上的整體性能.表1展示了Shallow組模型在Criteo和Avazu數據集上的結果,FIDE-Shallow-ALL表示淺層FIDE模型,尾稱ALL表示實驗中模型各個層和步驟都選用最優方法,觀察實驗結果可以看出FIDE-Shallow-ALL的性能始終優于其他模型.

表1 Shallow組模型性能對比

為了進一步提升模型性能,將FIDE Shallow部分和HGR-DNN進行串聯組成的FIDE-Deep-ALL性能如表2所示,通過觀察Shallow組與Deep組模型性能比較可以看出,與HGR-DNN組合的模型確實提升了特征的高階交互學習能力.Deep的深度學習模型性能基本優于Shallow組.在與其他Deep組模型比較中,FIDE-Deep-ALL相比FNN、WDL、DeepFM和xDeepFM的AUC提升了0.5%、0.35%、0.29%、0.23%,這說明FIDE-Deep-ALL相比其它最高水平模型具有優越性.側面體現了FIDE-Deep的結構設計確實可以挖掘出更多對于CTR預測有價值的信息,同時也表示通過HGR-DNN獲得隱含的高階特征有助于Shallow部分獲得更多的表達能力.

表2 Deep組模型的性能對比

4.4 門控嵌入層對模型性能的提升

本小節通過將門控過濾機制插入基線模型的對比實驗發現門控機制在Criteo和Avazu數據集上能夠提升模型性能.如表3所示,帶有ge下標的模型表示插入了門控機制,反之則沒有,△符號代表模型提升數值.從實驗數據可以發現,具有嵌入門控機制的LR、FM在預測性能上有較大提升,這是因為原始LR、FM沒有顯式或隱式地調整模型特征的方式.除此之外,門控機制同樣為DeepFM、xDeepFM以及FIDE提供了一定的精度提升.這些結果表明,從特征中細粒度地選擇顯著的潛在信息能夠有效增強模型能力并使基線模型獲得更好的性能.

表3 插入門控機制的模型性能對比

此外本文還針對門控過濾中的矢量和標量重要性表示方法,在FIDE的基礎上設計了另一組實驗進行研究.實驗結果如表4所示,其中sc下標代表標量重要性表示,ve下標代表矢量重要性表示.

表4 兩種重要性表示方法性能對比

從表4中可以看出,雖然矢量重要性表示方法可以減少學習參數數量,但同時會降低模型性能.在Avazu數據集上,不同表示方法對模型性能提升有限.實驗結果表明門控機制的不同重要性表示方法,需要根據數據任務的不同靈活選擇.總體而言,在本文的實驗中選擇矢量重要性表示方法能取得更好的效果.

4.5 不同雙線性交互方式對模型性能的影響

本文對全域共享、域私有以及域專屬交互方式在淺層和深層模型分別進行了實驗,結果如表5所示.其中下標share表示全域共享,private表示域私有,exclusive表示域專屬.

表5 3種交互方式性能對比

從表5可以發現:對于淺層模型在Criteo數據集上和全域共享相比,域專屬方式可以提升0.17%,深度模型域專屬方式比全域共享提升了0.9%;在Avazu數據集上,域私有方式會取得更好的效果.由此可以總結出:不同類型的雙線性交互層的性能取決于數據集.在Criteo數據集選擇域專屬方式,在Avazu數據集選擇域私有方式進行預測能取得更優效果.

4.6 HGR-DNN對模型性能的提升

表6將DeepFM、xDeepFM和FIDE使用傳統DNN和HGR-DNN效果進行了對比,通過實驗結果可以發現通過使用HGR-DNN代替傳統DNN能夠增強基線模型效果,提升模型對Criteo和Avazu數據集的預測性能.

表6 HGR-DNN對模型性能影響

其中下標d和h分別表示模型Deep Part使用的DNN和HGR-DNN網絡.盡管HGR-DNN網絡結構較為簡單,但是通過三種模型基線的對比證明了這是提高基線模型性能的有效方法.實驗結果表明,其可幫助模型隱式地更有效地捕獲高階特征交互的優勢,使得隱藏的門控殘差方式效果優于以往的CTR預測任務中的網絡.

4.7 超參數對模型性能的影響

本小節將對FIDE模型的一些超參數進行研究,重點放在嵌入層和HGR-DNN.具體而言,將修改以下參數:1)嵌入維度;2)HGR-DNN每層神經元數量;3)HGR-DNN層數.除非特別說明,否則默認參數遵照4.1.3小節進行設置.

1)嵌入維度對模型預測性能的影響

嵌入維度的變化會影響嵌入層和DNN部分中的參數數量.實驗對比了嵌入維度對FIDE預測性能的影響,希望能夠得出合適的嵌入維度,從而獲得更優的模型性能.本文將嵌入維度大小按照步長為5,逐步從5調整為60并在表7總結了實驗結果.通過實驗結果觀察到了以下信息:隨著嵌入維度的增加直到維度為50,FIDE的性能在Avazu數據集上獲得實質性提升;嵌入維度從20之后,隨著嵌入維度的增大,FIDE對于Criteo數據集的預測性能反而下降.原因是Avazu數據集特征數量小于Criteo數據集,因此FIDE模型在Avazu數據集上的優化難度相對簡單.

表7 嵌入維度對FIDE性能影響

2)DNN每層神經元的數量對預測性能影響

為了簡化實驗步驟,統一將每個全連接層的神經元數量按如下順序設置:{64,128,256,512,1024,2048,4096},實驗結果如表8所示.通過觀察可以發現,增加每層神經元的數量在一定程度上可以提升模型的預測性能,但由于同時提升了學習參數的復雜度,因此在訓練模型時需要考慮神經元數量.觀察實驗結果可以看出,剛開始逐步增加每個全連接層神經元數量時AUC指標逐漸增加,LogLoss指標逐漸降低,對于Criteo數據集,神經元數量在512時,AUC達到最優值,之后逐步增加神經元數量時AUC指標不再有明顯提升,反而會有所降低.在Avazu數據集上的結果顯示,每層神經元數量的最優值設置為1024,之后AUC指標同樣不再有明顯提升.這是因為隨著神經元數量的提升,模型可以學習到更多高階隱含信息,從而提升模型預測精度.但是當神經元數量達到一定閾值時,再增加神經元數量可能會導致模型過于復雜,甚至可能出現過擬合情況,因此需要合理選擇每層神經元數量.

表8 不同神經元數量對FIDE性能影響

3)HGR-DNN深度對FIDE性能的影響

實驗使用的HGR-DNN網絡層數設置從0到8,當層數設置為0時,FIDE模型由深FIDE退化為淺FIDE.實驗結果如表9所示.雖然本文利用殘差和門控方法抑制了網絡退化和梯度問題,但在網絡層數已經能計算出最優解的前提下,繼續增加層數只會增加模型的復雜性.可以從表9中觀察到,增加層數在一開始可以提升模型的性能,但隨著層數持續增加,模型性能無法繼續提升.因此對于Criteo和Avazu數據集把網絡層的數量設置為5(傳統的CTR任務中DNN的層數通常小于等于3)是一個合理的選擇.

表9 不同網絡層數量對模型性能的影響

4.8 討 論

本文在Criteo和Avazu數據集上使用了多個最高水平的基線模型(LR、FM、DeepFM、xDeepFM等)和FIDE進行實驗對比.由于FIDE在預測性能上優于其它基線模型,在此基礎上進行了更加全面的實驗,包括各個層和步驟以及超參數.實驗結果表明:1)門控機制的確能夠對模型性能有一定提升;2)不同的雙線性交互方式對模型性能有一定積極影響,具體使用哪種交互方式取決于數據的不同;3)HGR-DNN在增加模型的深度的同時,對預測精度有著促進作用;4)合理的超參數設置對模型性能有一定積極影響.總體而言,FIDE有效地提高了CTR預測任務的準確率.

5 結 語

近年來關于CTR預測任務發表的文章中,引入深度神經網絡已經成為一種通用方法.為了提升點擊率預測效果,本文提出了一種特征重要性動態提取的廣告點擊率預測模型(FIDE),旨在動態自適應地獲取細粒度的特征重要性.該模型利用了SENet、門控機制和殘差的優勢,通過在兩個真實廣告公司數據集上的大量實驗對基線模型和FIDE的預測數據對比,證明了其性能優于其它模型,有效地提升了CTR預測模型正確預測廣告點擊率的能力.

本文主要關注點在于特征工程,缺少對CTR樣本數據的考慮.針對CTR數據正負樣本不均衡的情況,未來可以嘗試使用生成式對抗網絡輔助生成樣本.

猜你喜歡
殘差向量維度
多級計分測驗中基于殘差統計量的被試擬合研究*
向量的分解
理解“第三次理論飛躍”的三個維度
用于處理不努力作答的標準化殘差系列方法和混合多層模型法的比較*
認識黨性的五個重要維度
理解新型政黨制度的三個維度——“利益代表”維度、功能維度、效果維度
淺論詩中“史”識的四個維度
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
測量數據的殘差分析法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合