沈學利,韓倩雯
(遼寧工程技術大學 軟件學院,遼寧 葫蘆島 125105)
互聯網+的迅速發展帶動了互聯網廣告等行業的興起。精準地預測廣告的投放對互聯網廣告等行業至關重要。點擊率(Click-Through Rate,CTR)預測作為廣告投放的重要手段之一,在互聯網廣告領域發揮著重要作用。CTR 預測通過估計用戶在特定上下文中點擊推薦的概率,從而做出推薦決策[1-2]。由于表示學習在計算機視覺和自然語言處理方面的優異性能,深度學習技術引起越來越多的關注。許多公司提出各種深度CTR 模型,并將其部署在商業系統中,例如華為公司提出的基于深度學習的因子分解機模型(DeepFM)、阿里巴巴公司提出的深度興趣進化網絡(Deep Interest Evolution Network,DIEN)和Google Play 公司提出的非線性變換的廣義線性模型(Wide&Deep)[3-5]。
現有深度CTR 預測模型大多遵循嵌入和特征交互(Feature Interaction,FI)范式[6]。鑒于特征交互在CTR 預測中的重要性,目前研究人員的工作主要集中于設計FI 模塊中的網絡架構,以更好地捕獲顯式或隱式特征交互信息。嵌入模塊在極大程度上影響了深度CTR 模型性能,一方面,嵌入模塊是FI 模塊的基礎,直接影響FI 模塊的有效性[7];另一方面,深度CTR 模型的參數主要集中在嵌入模塊中,影響了模型的運行速度[8]。
在深度CTR 模型中,嵌入層可分為傳統嵌入層和場感知嵌入層。文獻[9]提出一種基于乘積的神經網絡(Product-based Neural Network,PNN)模型,其嵌入部分采用傳統嵌入技術,存在低維特征表示不足的問題,但通過高階特征交互,可以提高預測準確率。文獻[10]提出一種基于操作感知神經網絡(Operation-aware Neural Network,ONN)的模型,采用場感知嵌入技術豐富特征表示,缺點在于會產生大量無用參數信息。相較于以上兩個模型重點關注高階特征交互信息的現象,為結合記憶和泛化的優勢,文獻[3]和文獻[5]同時訓練低階線性模型和高階非線性深度神經網絡兩部分。
注意力機制能夠通過對特征進行加權,有效過濾無用信息,加快收斂速度,在現有經典模型中取得了很好的效果。文獻[11]通過研究引入注意力的因子分解機模型(Attentional Factorization Machines,AFM)發現,注意力模塊的引入可以將輸入的無信息特征濾除,對準確率的提高有積極影響。文獻[12]提出一種自動特征結合的點擊率預測模型AutoInt,將FM 模型與多頭自注意力機制相結合,使模型能夠自動學習豐富的特征表示,提高模型的可解釋性。文獻[13]設計了帶有對數轉換層的自適應因子化網絡(Adaptive Factorization Network,AFN)模型,該轉換層將特征組合中每個特征的功率轉換為要學習的系數。文獻[14]介紹了基于注意力機制的乘積神經網絡模型,通過組合AFM 和PNN 模型的優點,對特征交互后的信息進行重要性評估,提高了模型預測準確率,證明了注意力機制與深度學習CTR 模型相結合的有效性。
本文提出一種場感知注意嵌入神經網絡(Fieldaware Attention Embedding Neural Network,FAENN)模型,通過引入參數較少的自注意力機制對嵌入模塊映射的特征向量進行重要性評估,在特征交互前突出有效信息,并基于低階和高階交互特征相結合的思路,融合模型各類特征信息,提高模型預測準確率。
在點擊率預測問題中,輸入特征通常是稀疏的,具有巨大的維數且沒有明顯的空間或時間相關性。一個常見的方法是將多字段分類數據轉換為高維稀疏特征空間,通過One-Hot 編碼,在原始特征的基礎上開發一個嵌入層輸入,并將其壓縮為低維密集實值向量,通過共享的潛在空間進行表現。離散化特征直接分配單獨的編號,連續型特征需要經過One-Hot 編碼成數值型,其中每個特征表示為一個One-Hot 編碼向量,編碼產生的所有特征值只能是0 或1。One-Hot編碼效率低且不能很好地表示特征之間的相關性,但通過引入嵌入層可以將高維稀疏向量降維。
為更好地處理數據,使用嵌入技術將所有數據統一為分類特征。如果假設有m個特征,xi代表第i個特征的One-Hot 編碼向量,輸入特征拼接成的特征向量x為[x1,x2,…,xm],那么每個訓練樣本可以表示為(x,y),其中y∈{0,1},y表 示用戶是否執行了正反饋,即點擊的概率。
傳統嵌入技術是將特征集下的每個特征向量對應一個映射,該過程的表達式如下:
其中:vi是第i個特征的嵌入矩陣;xi是一個獨熱編碼向量。傳統嵌入矩陣層EM可表示如下:
圖1 所示為傳統嵌入的示意圖,可以看到,當傳統嵌入技術中每個特征對應其他特征時,權重相同,缺少有效信息表達,故文獻[15]提出了場感知嵌入,其架構如圖2 所示,將每一個特征對應多個映射。

圖1 傳統嵌入示意圖Fig.1 Schematic diagram of traditional embedding

圖2 場感知嵌入示意圖Fig.2 Schematic diagram of field-aware embedding
以第i特征進行第l次運算為例,字段i的二維k×n嵌入矩陣用[vi,1,vi,2,…,vi,j]表示,vi,j∈Rk指的是字段i的第j個嵌入向量,n是字段的數量,k是嵌入向量的大小。由于存在n個場,每個場對應一個嵌入矩陣,嵌入矩陣層EM1是一個尺寸為k×n×n的三維矩陣,表達式如式(3)所示:
特征交互是指特征之間的深度交叉組合,學習特征交互是解決點擊率預測的關鍵問題。為提高模型的準確率,可以采用直接合并或異構的內容數據。交互后的數據特征一般會從多個維度呈現多種信息,因此特征之間的相互組合意義重大。特征交互的關系解釋形式分為“且”關系和“加”關系。以兩個特征的交互為例,一種是“且”關系,即性別為女且會打乒乓球的人群,另一種是“加”關系,即性別為女和會打乒乓球的人群,前者特征交互的意義比后者更好。具體來說,文獻[9]的product 操作就是討論這種“且”關系,能更好地捕捉特征之間的交互。文獻[16]提出一種基于注意力機制的深度興趣網絡(Attential Deep Interest Network,ADIN)模型,采用拼接的方式,即“和”關系。
注意力機制[17]是源于對人類視覺的研究,能夠通過減少噪聲數據的副作用,從原始特征中提取有效信息。文獻[18]是Google 研究團隊針對注意力機制種類的總結,自注意力機制(Self-Attentive Mechanism,SAM)是注意力模型的一種特殊形式,通過學習自身內部結構直接計算依賴關系,能夠更好地解決特征龐大且無側重點的問題。
文獻[19]將注意力機制應用在點擊率預測中,動態地學習特征重要性和細粒度的特征相互作用,對比DeepFM 模型取得了較高的準確率。文獻[20]提出深度興趣網絡(Deep Interest Network,DIN)模型,通過在特征交互后使用注意力機制,自適應地從歷史行為中學習用戶的興趣表示,取得了很好的預測效果。文獻[21]通過深度興趣網絡對興趣特征進行自適應學習,提升了模型的表達能力。
注意力模塊的引入可以將輸入的無信息特征濾除,對提高預測準確率有積極影響。然而,模型通常采用在特征交互后加入注意力的方式,認為不同的交互特征的重要性不同,通過模型學習每種交互特征的權重,從而提高模型性能。文獻[22]認為特征交互前的特征信息同樣重要,本文將通過實驗來驗證該結論。
FAENN 模型是一種端到端的深度點擊率預測模型,模型結構如圖3 所示。該模型由3 個部分構成,包括注意力嵌入層、低階特征交互層和高階特征交互層。首先,注意力嵌入層通過引入自注意力機制,對場感知嵌入向量進行重要性分析,并輸出注意力嵌入特征向量。其次,低階特征交互層通過注意力場感知嵌入建模一階線性特征和二階交互特征,并通過訓練得到預測值。然后,高階特征交互層將二階特征交互的輸出作為輸入,利用深度神經網絡訓練高階交互特征,得到高階預測值。最后,將上述預測值通過Sigmoid 函數訓練,得到最終的預測值。

圖3 FAENN 模型結構Fig.3 FAENN model structure
注意力嵌入層的目的是將稀疏特征向量映射到低維稠密的潛在向量中,以減小維數。本文將注意力機制引入嵌入層,學習潛在向量中每個特征的重要性,以提高模型的性能和有效性。其過程是將one-hot 嵌入向量作為輸入,對每個特征進行多個嵌入表示,得到場感知嵌入矩陣,隨后對場感知嵌入矩陣進行權重關注,輸出新的注意力嵌入矩陣。
場感知嵌入部分是將one-hot 編碼后的序列進行多個“復制”操作,即將每個特征對應多個特征向量表示,使數據從高維稀疏特征映射到低維表示。即對向量構造一個映射τ,其中o是第i個特征的第k次復制操作,表達式如下:
其中:o(c,i)表示第i個特征進行復制操作。將輸出嵌入特征記為ef,假設有m個特征ef,其表達式如式(5)所示:
模型在學習過程中對數值統計分布差異大的特征向量不敏感,導致模型整體收斂速度和性能降低。自注意力模塊的計算重點是關注特征提取前的特征信息,相對于的內部聯系進行訓練,重點關注特征內部的聯系,突出有效信息并加快收斂速度,能夠解決特征過多,重點信息被忽略的問題。
與傳統的注意力機制不同,本文根據場嵌入的模式,有針對性地對注意力機制進行改進。縮放點積注意力的計算式如式(6)所示:
本文模型所使用的注意力機制采用縮放點積方式,結構如圖4 所示。

圖4 自注意力機制Fig.4 Self-attention mechanism
低階特征交互層主要是對一階線性特征和二階交互特征進行訓練。其中,一階線性特征分為對原始特征提取和對嵌入特征提取兩部分。
原始特征提取部分能夠對one-hot 嵌入向量進行概率分析。其中,x表示輸入特征向量;w表示訓練過程中學習的參數,表達式如式(7)所示:
嵌入特征提取部分中的注意力嵌入層關注嵌入特征向量的重要性,使每個特征對應的特征向量獲得獨立的重要性信息。在模型整體中,注意力嵌入層引入一階特征信息的重要性權重,用于豐富模型提取的特征信息,從而為獲得更準確的高階特征組合表示做鋪墊。得到注意力嵌入層A的表達式如式(8)所示:
二階特征交互部分通過分解2 個潛在向量乘積,解決特征向量乘積后特征出現非常稀疏的情況,本模型使用內積操作學習二階特征交互。
用[p1,2p1,3,…,pm-1,m]表示二階特征交互if。其中,pi,j是第i個特征和第j個特征之間內積運算的值,其表達式如式(9)所示:
用o(p,i,j)表示第i個特征和第j個特征的內積操作,該過程的示意圖如圖5 所示。

圖5 內積操作示意圖Fig.5 Schematic diagram of inner product
將嵌入特征ef和交互特征if作為低階隱性特征,并單獨進行概率預測,得到YFAEM,其表達式如式(10)所示:
高階特征交互層采用多層感知機[23],使用多層神經網絡提取高階特征和進行預測。首先連接ef和if構成該層的輸出,并提供給全連接層,該過程的表達式如式(11)所示:
對共享的特征交互層f進行批量歸一化,其結果表示如下:
其中:BN 是指進行貝葉斯批處理規范化,用來加速模型訓練;l1和l2表示對應的深度神經網絡層。本文在每個深度神經網絡層中添加批處理規范化,并使用校正后的線性單位Relu 進行處理,采用Sigmoid函數完成概率預測的任務,其表達式如式(15)所示:
損失函數如式(16)所示:
通過將低階特征交互部分與高階特征交互部分相結合,得到最后的預測結果,表達式如式(17)所示:
本文實驗的硬件設備處理器為Intel?CoreTMi7-8700@3.2 GHz,顯卡為GeForce RTX 2080Ti 11 GB,32 GB 運行內存,通過Python3.7 編程語言實現,采用Tensorflow1.15 深度學習框架。
為證明本文模型的有效性,將現有模型與本文模型在2 個公開的經典數據集Criteo[24]和Avazu[25]上進行對比。Criteo 數據集是既有分類特征又有數字特征,而Avazu 數據集只有分類特征。Criteo 數據集中的數字特征經過離散化,可被視為分類特征。預處理后的Criteo 數據集包含39 個字段,1 040 123 個特征;Avazu 數據集包含22 個字段,254 644 個特征。兩個數據集被進一步以80%和20%的比例分別劃分為訓練集和測試集。
采用曲線下面積(Area Under Curve,AUC)和對數損失函數(Logloss)兩種指標對實驗結果進行對比。AUC 值上限為1,值越大表示準確率越高,模型性能越好,表達式如式(18)所示:
Logloss 適用于二分類任務指標,能對分類器的準確率進行量化。Logloss 用于測量2 個分部之間的距離,值越小,表示模型性能越好,對數損失函數的計算式如下所示:
其中:yi表示第i個廣告樣本的實際點擊率;pi表示第i個廣告樣本的預測點擊率。
實驗從3 個方面進行分析,包括模型與其他基線模型的效率對比,特征信息關注位置對模型性能的影響,以及各種超參數對模型訓練結果的影響。
3.3.1 經典模型對比
為保持實驗的公平性,在神經網絡結構的參數設置上采用相同的嵌入維數10。由于非線性隱藏層太多容易導致過擬合,本文深度神經網絡部分的隱藏層深度選用3 層,每層神經元的數量均為400 個,即隱藏大小為[400,400,400]。此外,激活函數均采用Relu,優化器使用Adam,學習率設置為0.000 1,訓練批次大小設置為1 000。
本節將本文模型與現有推薦系統中的經典模型FM、FFM、AFM、PNN、DeepFM 和ONN 進行比較,其中FAEM 是以本文模型為基礎的淺層模型,結果如表1 所示。

表1 不同淺層模型在不同數據集下的結果對比Table 1 Comparison of results of different low models under different datasets
由表1 可知,在淺層模型下,AFM 模型的AUC值高于FM 模型,這證明注意力機制的引入對特征重要性的提取是有效的。FFM 模型的AUC 值高于FM和AFM 模型,這表明豐富特征表達比關注模型權重的效果更好。此外,FAEM 模型的AUC 值始終高于其他3 個模型,證明了在場感知嵌入層進行特征關注對提高模型性能有積極作用。
表2 是不同深層模型的對比結果,由表2 可知,在引入高階特征交互的情況下,DeepFM 模型相較于PNN 模型的AUC 值更高,這證明同時關注低階和高階特征交互的效果更好。對比PNN 模型與ONN 模型的實驗結果可知,ONN 模型明顯好于PNN 模型,這是因為ONN 模型中的嵌入部分和特征交互中豐富的特征表達發揮了積極作用。由表2 還可知,FAENN 模型的Logloss 值和AUC 值在對比模型中均最優,這表明對嵌入層特征的重要性進行評價能提高模型的性能。

表2 不同深層模型在不同數據集下的結果對比Table 2 Comparison of results of different deep models under different datasets
在2 個數據集上對不同深度點擊率預測模型的訓練時間進行比較,可以發現將自注意力機制引入到深度點擊率模型,能有效提升模型性能。不同模型的訓練時間如圖6 所示,可以看出,在深度點擊率預測模型中,采用場感知嵌入的點擊率預測模型的訓練時間較傳統嵌入模型訓練時間更長,但加入注意力機制后,訓練時間有所降低,這說明注意力機制能加快模型的收斂速度。

圖6 不同模型的訓練時間對比Fig.6 Comparison of training times of different models
3.3.2 注意力機制放置位置的對比
本節對注意力機制放置在特征交互前后的位置進行研究,以Criteo 數據集隨機選取100 000 條數據為例,其中模型的-n 表示對特征重要性進行關注,-v1 表示在特征交互前對特征重要性進行評估,-v2表示在特征提取后對特征權重進行評估,-v1v2 表示模型在特征交互前后都對特征權重進行關注,實驗結果如圖7 所示。

圖7 不同模型在Criteo 數據集下的結果對比Fig.7 Comparison of results of different models in Criteo dataset
從準確率的角度來看,加入自注意力機制的模型FAENN-v1,FAENN-v2 和FAENN-v1v2 準確率比未加入自注意力機制的模型FAENN-n 準確率分別高出0.7、0.1 和0.3 個百分點,說明對特征進行權重關注對提升模型的性能產生了積極作用。在特征交互前對特征進行關注,其準確率優于其他兩種權重關注方式,產生此現象的原因可能與嵌入層表示方式有關,場感知嵌入相較于傳統嵌入具有更多的特征表示,在特征交互前進行特征重要性評估更合理。
從時間效率的角度來看,與未引入自注意力機制的模型訓練時間相比,在特征交互前進行特征關注的模型訓練時間下降了1.5個百分點,且FAENN-v1模型訓練時間與FAENN-v2、FAENN-v1v2 模型相比分別減少了6.6 和7.3 個百分點,這證明在特征交互前引入注意力機制能加快訓練速度。
從復雜度的角度來看,模型在特征交互前是對kn個特征向量進行注意力加權,在特征交互后是對兩兩相乘的交叉特征即k2n2個特征進行加權。由此可知,在特征交互前進行重要性關注的復雜度更小,即更高效。
3.3.3 超參數對模型準確率的影響
本節主要研究超參數對FAENN 模型準確率的影響。
1)嵌入維數對模型準確率的影響。如圖8 所示,在Criteo 數據集下,適當增加嵌入維度能夠提高模型預測準確率,但當嵌入維度超過8 時,AUC 值逐漸下降,繼續增加維數會導致過擬合現象發生。因此,新模型嵌入維度選為8 更合適。

圖8 不同嵌入維度下的AUC 值對比Fig.8 Comparison of AUC values under different embedded dimensions
2)激活函數對模型準確率的影響。由圖9 可知,在Criteo 數據集下,在人工神經網絡模型中集成應用激活函數可以更高效精準地處理非線性函數。通過對比不同激活函數可知,Relu 在模型中表現最好,更適合本文模型。

圖9 不同激活函數下的AUC 值比較Fig.9 AUC value under different activation functions
3)優化器對模型準確率的影響。由圖10 可知,在Criteo 數據集下,當點擊預測模型的損失函數設定完成時,就需要選擇預測模型的優化器來優化預測模型的相關參數,以保證預測模型的損失最小。對4 個優化器實驗進行對比發現,Adam 優化器在模型中的AUC 值更高,因此更適合FAENN 模型。

圖10 不同優化器下的AUC 值對比Fig.10 Comparison of AUC values under different optimizers
本文面向點擊率預測任務,提出一種場感知注意嵌入神經網絡模型,在場感知嵌入的深度點擊模型中引入自注意力機制,以豐富特征表示。通過自動學習濾除無用信息,并突出有效信息,提高點擊率預測模型的準確性。實驗結果表明,本文模型相比于FM、FFM、AFM 等模型有較高的預測準確率。下一步將通過研究顯式特征交互,豐富模型的特征表達,提高場感知點擊率預測模型的可解釋性。