陳育康,龍慧云,吳 云,林 建
貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽 550025
預(yù)測用戶對某廣告或項(xiàng)目的點(diǎn)擊率(click-through rate,CTR)是推薦系統(tǒng)中的關(guān)鍵問題[1],通過預(yù)測用戶對項(xiàng)目的點(diǎn)擊率,對候選項(xiàng)目進(jìn)行排序,將項(xiàng)目推送給其可能的潛在客戶。一方面為公司帶來巨大的商業(yè)價值,另一方面提高了用戶使用滿意度,用戶可以更容易地找到其想要的內(nèi)容。點(diǎn)擊率預(yù)測的好壞直接關(guān)系到公司的收益,由于其重要性,近年來學(xué)術(shù)界和工業(yè)界對點(diǎn)擊率預(yù)測展開了廣泛的研究。
特征組合對于預(yù)測用戶點(diǎn)擊率至關(guān)重要,例如,向一位女士推薦化妝品時合理的,在此情況下,<性別=女,商品類別=化妝品>是一組非常有用的二階特征組合。再比如向一個9歲大的男孩推薦游戲機(jī)也是合理的,其中<性別=男,年齡=9,商品類別=游戲機(jī)>是一組重要的三階特征組合。在推薦場景中,存在巨量這樣有效的特征組合,然而找尋這些高階特征組合在很大程度上依賴于領(lǐng)域?qū)<?,由于龐大的特征?shù)量以及高的階數(shù),人工挑選所有有效的特征組合幾乎是不可能的。因此,對特征交互進(jìn)行自動建模對提高CTR預(yù)測準(zhǔn)確度非常重要,近年來許多學(xué)者使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法對自動化特征工程展開了研究。
在自動化特征工程CTR預(yù)測模型研究上,經(jīng)歷了從淺層到深層的演變。最初人們利用LR[2-3]模型進(jìn)行CTR預(yù)測,具有可解釋性強(qiáng)的特點(diǎn),但其無法進(jìn)行特征交叉,表達(dá)能力不強(qiáng)。對此Rendle等人[4]提出了因子分解機(jī)(factorization machine,F(xiàn)M),將成對特征的交互建模為兩兩嵌入向量的內(nèi)積,能同時處理不同類別的特征,并大大降低了模型參數(shù)。由于不同特征交互對最終預(yù)測的貢獻(xiàn)是不同的,為了讓模型關(guān)注到重要的特征交互,Xiao等人[5]在FM的基礎(chǔ)上提出了AFM,利用注意力機(jī)制學(xué)習(xí)不同二階特征組合的重要性。然而在這類淺層模型中,只利用到了低階特征交互,無法提取特征間的高階復(fù)雜關(guān)系,表達(dá)能力不足。
隨著深度學(xué)習(xí)的興起[6-7],近年來許多研究利用深度神經(jīng)網(wǎng)絡(luò)挖掘特征之間的隱式高階非線性交互,其具有學(xué)習(xí)能力強(qiáng)的優(yōu)點(diǎn)。Cheng等人[8]提出的Wide&deep和Guo等人提出的DeepFM[9]采用了并行的方式,分別將一階特征、二階特征與DNN部分進(jìn)行聯(lián)合,使得網(wǎng)絡(luò)同時具備記憶能力和泛化能力。為了利用神經(jīng)網(wǎng)絡(luò)進(jìn)一步挖掘低階特征的信息,蔣興渝等人[10]提出的APNN模型將一階特征重要性信息、二階特征重要性信息以及Product交互信息三個部分的輸出融合,并以串聯(lián)的方式輸入多個全連接層進(jìn)行學(xué)習(xí)。為了對DNN部分進(jìn)行優(yōu)化,Wang等人[11]提出了AdnFM,其利用注意力機(jī)制對DNN中不同層的重要性進(jìn)行學(xué)習(xí)。在這類基于神經(jīng)網(wǎng)絡(luò)的CTR預(yù)測模型中,由于神經(jīng)網(wǎng)絡(luò)黑盒的特點(diǎn),以一種隱式的方式建模高階特征交互,難以保證特征交互的有效性。
為了有效建模高階特征交互,人們對顯式高階特征交互方法展開了研究。深度交叉網(wǎng)絡(luò)(DCN)[12]和極深因子分解機(jī)(xDeepFM)[13]提出了Cross網(wǎng)絡(luò)與CIN網(wǎng)絡(luò)的特征交互方式,分別在元素級與向量級對特征交互進(jìn)行建模,將顯式交互部分拓展到了高階。為了結(jié)合DNN、Cross、FM三種模型的優(yōu)勢,陳彬等人[14]提出了DCFM模型,其在Embedding層上將對三部分并行計(jì)算,得到的輸出拼接后輸入全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測,由于組件過多,使得參數(shù)量過大。然而在這類高階特征交互模型中,沒有考慮到不同特征交互的重要性,無用的特征交互將對預(yù)測產(chǎn)生干擾。
為了區(qū)分高階特征交互的重要性,Song等人[15]提出的AutoInt使用自注意力機(jī)制更新特征表示,但其拓展到高階時特征交互較為隱式,并且只將最后一層結(jié)果作為輸出拓展到高階時可能會損失部分信息。Tao等人[16]提出了HoAFM,利用元素級注意力機(jī)制對特征交互進(jìn)行建模,并可拓展到高階,但由于特征表示維度受限于Embedding維度,限制了模型的表達(dá)能力,并且模型在拓展到高階時容易過擬合。
為了解決以上模型中存在的問題,本文提出了一種新的CTR預(yù)測模型,稱為增強(qiáng)型高階注意力因子分解機(jī)EHAFM,其主要創(chuàng)新點(diǎn)如下:(1)針對神經(jīng)網(wǎng)絡(luò)建模高階特征交互不可控的缺陷,設(shè)計(jì)了一種新的顯式特征交互層,通過聚合其他特征的表示來更新特征的表示,改變其層數(shù)可將特征表示拓展到高階;(2)針對無用特征交互對預(yù)測產(chǎn)生干擾的問題,提出了增強(qiáng)型元素級注意力機(jī)制,其利用投影矩陣拓展特征表示維度,擴(kuò)大特征表示空間的同時,使得新的特征表示具有全局特征信息,增強(qiáng)了模型挖掘特征交互重要性的能力,減少無用特征交互干擾;(3)通過融合多個增強(qiáng)型元素級注意力頭的信息,提高了模型的泛化能力。
本文的工作與以下兩項(xiàng)工作有關(guān):(1)特征的編碼與嵌入;(2)基于注意力機(jī)制的顯式特征交互模型。
在點(diǎn)擊率預(yù)測任務(wù)中,數(shù)據(jù)通常包含類別特征和數(shù)值特征,對于數(shù)值特征來說可以直接輸入網(wǎng)絡(luò)。但對于類別特征來說,必須先將其編碼,目前常用的操作是獨(dú)熱編碼(one-hot encoder)[17]。例如對性別特征進(jìn)行編碼,性別特征字段中有性別=男,性別=女兩個類別,獨(dú)熱編碼可以分別將其表示為[1,0]和[0,1]兩個向量,向量維度與類別數(shù)對應(yīng)。
獨(dú)熱編碼解決了類別型特征表示問題,但在Web級規(guī)模推薦系統(tǒng)中,由于同一個特征字段中有多個類別,將其進(jìn)行獨(dú)熱編碼后會出現(xiàn)兩個問題:(1)維度較大,獨(dú)熱向量維度需對應(yīng)特征字段類別數(shù);(2)向量稀疏,維度龐大的獨(dú)熱向量中僅有一位代表某個特征,其余全為零。若將其直接輸入神經(jīng)網(wǎng)絡(luò),由于第一層參數(shù)量龐大,會產(chǎn)生極大的計(jì)算開銷,不利于網(wǎng)絡(luò)訓(xùn)練。因此,通常在獨(dú)熱向量輸入網(wǎng)絡(luò)前,將其進(jìn)行Embedding[18-20]嵌入。將高維稀疏的獨(dú)熱編碼映射到一個低維稠密的空間中,大幅減少了網(wǎng)絡(luò)計(jì)算量。例如顏色特征字段中有紅、黃、藍(lán)、綠四個類別,獨(dú)熱編碼分別為[1,0,0,0]、[0,1,0,0]、[0,0,1,0]、[0,0,0,1],其Embedding表示可以為紅[0.9,0.1]、黃[0.8,0.2]、藍(lán)[0.7,0.3]、綠[0.6,0.4],大大壓縮了向量維度。
1.2.1 AFM模型
Xiao等人[5]的研究表明,不同特征交互對最終預(yù)測的貢獻(xiàn)是不同的,為了區(qū)分不同特征組合的重要性,AFM通過在交互層后添加一個加權(quán)池化層來實(shí)現(xiàn)注意力機(jī)制。在注意力權(quán)重的計(jì)算方法上,AFM采用的是軟注意力機(jī)制[21],引入了多層感知機(jī)(MLP),利用單隱層的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)特征交互重要性,注意力機(jī)制形式化定義如下:其中,W、h、b分別為權(quán)重矩陣、權(quán)重向量和偏置向量,a'ij為特征組合ij的注意力分?jǐn)?shù),aij為特征組合ij的注意力權(quán)重,⊙為向量間哈達(dá)瑪積,計(jì)算方法為向量對應(yīng)元素相乘。
利用得到的注意力權(quán)重對交互向量進(jìn)行池化,得到二階注意力特征表示。其形式化為:
但AFM模型的缺陷是只局限于二階特征交互,而未考慮高階特征交互。
1.2.2 HoAFM模型
為將AFM拓展到高階,最新的研究中Tao等人[16]提出了高階注意力因子分解機(jī)HoAFM,探討了如何顯式建模高階特征交互,以及不同注意力機(jī)制對模型效果的影響,包括元素級注意力機(jī)制、軟注意力機(jī)制、稀疏注意力機(jī)制[22],實(shí)驗(yàn)表明元素級注意力機(jī)制有更優(yōu)的效果,其形式化定義如下:
其中,e1i為第i個特征的一階嵌入向量,eli為第i個特征的l階表示向量,μ(·)為激活函數(shù)。wij為論文提出的注意力權(quán)重向量,用于在元素級粒度上建模注意力機(jī)制。
但由于特征高階表示向量維度始終固定,與Embed‐ding維度一致,缺少維度可伸縮性,限制了模型的表達(dá)能力。
針對以上問題,本文提出了EHAFM模型,該模型主要由特征Embedding嵌入層、顯式特征交互層、輸出層構(gòu)成,模型整體框架如圖1所示。首先將輸入模型的特征向量通過Embedding層,統(tǒng)一編碼為維度相同的Embedding向量,接著將特征Embedding向量分別輸入一階線性部分和顯式特征交互部分進(jìn)行學(xué)習(xí),提取線性特征信息和高階特征交互信息,最后將兩部分的輸出聯(lián)合進(jìn)行點(diǎn)擊率預(yù)測。
圖1 EHAFM模型整體框架Fig.1 Overall framework of EHAFM model
通過改變顯式特征交互層的層數(shù)可以將特征交互拓展到任意高階,提取高階特征信息,并與線性部分結(jié)合,使得模型兼具泛化能力和記憶能力。
在點(diǎn)擊率預(yù)測任務(wù)中,輸入模型的特征分為數(shù)值特征(0,0.5,7…)和類別特征(性別、城市…),為了使數(shù)值特征與類別特征進(jìn)行交互,構(gòu)造數(shù)值特征與類別特征之間的特征組合,模型將數(shù)值特征與類別特征統(tǒng)一嵌入為相同的維度d。
對于類別特征:類別特征是以one-hot形式輸入Embedding層,將其高維稀疏的形式嵌入到低維稠密的Embedding特征向量,如圖2所示,其形式化為:
圖2 類別特征嵌入Fig.2 Category feature embedding
其中,ei為特征i的特征向量,Vi為特征域i的嵌入矩陣,xonehot為特征i的one-hot向量。
類別特征可以是多值的,即xmultihot是一個multi-hot向量。例如一部電影,它的類型可以既是喜劇片也是愛情片,它的multi-hot編碼如[1,0,1,0,0]這樣的形式。為了使模型兼容多值特征輸入,將multi-hot特征的Embed‐ding向量除以多值個數(shù),具體來說:
其中,q為第i個特征域中多值個數(shù),即multi-hot向量中1的個數(shù),xmultihot為特征i的multi-hot向量。
對于數(shù)值特征:將特征為數(shù)值類型的每個特征域分別用一個可訓(xùn)練的Embedding向量進(jìn)行表示,對于每個數(shù)值特征來說,其嵌入表示為特征域的Embedding向量乘以特征標(biāo)量值,如圖3所示,其形式化為:
圖3 數(shù)值特征嵌入Fig.3 Numerical feature embedding
其中,vi為第i個特征域的嵌入向量,xNum為特征i的數(shù)值標(biāo)量。
不同特征組合對于最終預(yù)測的貢獻(xiàn)是不同的,引入注意力機(jī)制區(qū)分特征組合的重要性是有必要的。Tao等人的研究表明,向量級注意力機(jī)制相比元素級注意力機(jī)制具有次優(yōu)的表示能力,因此本文在元素級上建模注意力機(jī)制。相比HoAFM固定的特征表示維度,本文提出的顯式特征交互層拓展了特征表示維度,提高了特征向量的表達(dá)能力,同時增強(qiáng)了注意力矩陣的學(xué)習(xí)能力。顯式特征交互層計(jì)算方法如圖4所示。
圖4 顯式特征交互層示意圖Fig.4 Schematic diagram of explicit feature interaction layer
2.2.1 增強(qiáng)型元素級注意力機(jī)制
為了改變特征向量維度,模型利用可訓(xùn)練的投影權(quán)重矩陣將特征向量映射到高維空間,以增加特征表示信息量。定義d為原始特征嵌入維度,D為投影變換后的向量維度,eli∈RD×H為特征i的l階表示向量,e1i∈Rd為特征i的一階嵌入向量。將一階特征向量與l階特征向量分別投影到D維空間中:
其中,WlProject∈RD×d為特征i的l階投影矩陣,將維度為d的特征向量投影到D維。
為每個高階特征創(chuàng)建一個可訓(xùn)練權(quán)重矩陣wli,用于在元素級建模注意力機(jī)制,以區(qū)分不同特征組合的重要性。特征i的l+1階表示可公式化為:
其中,wli,j∈RD為特征i的l階表示與特征j交互的注意力權(quán)重向量,μ(·)為激活函數(shù),本文選用ReLU激活函數(shù),ReLU(z)=max(0,z)。
2.2.2 多頭注意力機(jī)制
為了避免過擬合,創(chuàng)建多個不共享參數(shù)的注意力頭[23-24]對特征交互重要性學(xué)習(xí),分別在不同的表示子空間中學(xué)習(xí)特征交互重要性,最后對多個注意力頭的輸出進(jìn)行集成,每個注意力頭公式化如下:其中,⊕為拼接操作,按照嵌入向量所在維度進(jìn)行拼接,H為注意力頭的總數(shù),對于每個注意力頭,注意力權(quán)重參數(shù)是相互獨(dú)立的。
因此,結(jié)合了多個注意力頭后特征i的l階表示可公式化為:
通過疊加多個這樣的特征交互層,從而將特征i更新到其高階表示el+1i,利用設(shè)計(jì)的交互層,可以顯式建模特征的任意階交互。
將各個特征的l階表示堆疊,得到l階交互矩陣El:
對交互矩陣進(jìn)行池化,采用的是求和池化,公式化為:
因此,l階池化向量pl=[pl1,pl1,…,plm],將各階池化向量拼接,得到顯式高階交互部分的輸出p+=p1⊕p2⊕…⊕pl。
輸出層由一階線性部分和顯式高階交互兩部分構(gòu)成,將兩部分的輸出結(jié)合起來預(yù)測點(diǎn)擊率,使得兩部分相互互補(bǔ),同時考慮到特征的低階和高階信息。模型的輸出可公式化為:
點(diǎn)擊率預(yù)測任務(wù)屬于二分類任務(wù)(點(diǎn)擊、未點(diǎn)擊),因此本模型損失函數(shù)采用的是Log損失:
其中,N為訓(xùn)練樣本的總數(shù),y為樣本真實(shí)標(biāo)簽(1或0)。
2.4.1 空間復(fù)雜度分析
模型參數(shù)來自于嵌入層、一階線性部分、顯式特征交互部分三個方面。對于嵌入層,其參數(shù)量為ndm,其中n為輸入特征的稀疏表示維數(shù),d為嵌入維數(shù),m為特征個數(shù)。一階線性部分的參數(shù)量來自于權(quán)重向量,其參數(shù)量為md。顯式特征交互部分的參數(shù)量來自于注意力機(jī)制,首先投影矩陣的參數(shù)量dD+HDL,其中D為投影后的向量維度,L為顯式特征交互層層數(shù),H為注意力頭數(shù)量,注意力矩陣的參數(shù)量為m(m-1)HDL。加上顯式特征交互部分的權(quán)重向量,EHAFM模型的總參數(shù)量為ndm+md+dD+HDL+m(m-1)HDL+mL,空間復(fù)雜度為O(m2HDL)。xDeepFM的空間復(fù)雜度為O(mF2L),其中F為過濾器數(shù)量,由于F的設(shè)置通常遠(yuǎn)大于m,因此本文模型相比xDeepFM空間復(fù)雜度要好。HoAFM的空間復(fù)雜度為O(m2dL),本文模型拓展了特征表示,并增加了注意力頭,因此空間復(fù)雜度略大于HoAFM。
2.4.2 時間復(fù)雜度分析
模型時間消耗主要來自于顯式特征交互層,計(jì)算一個注意力頭需要O(m2DL)的時間,本文的模型有H個注意力頭,因此模型的時間復(fù)雜度為O(m2HDL)。而xDeepFM的時間復(fù)雜度為O(mF2dL),由于H的取值較小,md?HD,并且F?m,因此本文模型在時間復(fù)雜度上比xDeepFM要好得多。對于HoAFM,其時間復(fù)雜度為O(m2dL),比本文模型略低。但是,在本文模型注意力機(jī)制實(shí)現(xiàn)上,采用了矩陣乘法的方式,在GPU上進(jìn)行批量計(jì)算以代替for循環(huán),本文模型的時間成本是可以接受的。
本實(shí)驗(yàn)所用數(shù)據(jù)集為公開數(shù)據(jù)集Criteo和Movielens-1M。Criteo數(shù)據(jù)集是CTR預(yù)測任務(wù)的基準(zhǔn)數(shù)據(jù)集,其中包含了在Kaggle競賽中,Criteo廣告公司提供的約4 500萬條用戶廣告行為記錄,其中包含26個類別特征和13個數(shù)值特征。Movielens-1M數(shù)據(jù)集是GroupLens Research采集的一組從20世紀(jì)90年末到21世紀(jì)初由MovieLens用戶提供的電影評分?jǐn)?shù)據(jù)。數(shù)據(jù)集中包含了用戶對電影的評分、用戶性別、年齡、職業(yè)以及電影風(fēng)格、年代等數(shù)據(jù)。
在數(shù)據(jù)預(yù)處理方面:對于數(shù)值特征,空值以0填充。由于數(shù)值特征變動范圍較大,會對訓(xùn)練造成不利影響,因此需將其進(jìn)行標(biāo)準(zhǔn)化,當(dāng)z>2時,z=lb z。對于類別特征,空值以-1填充。將Movielens-1數(shù)據(jù)集中用戶評分大于3分的樣本視作正樣本(label=1),小于3的樣本視作負(fù)樣本(label=0),去除評分為3的中立樣本。將數(shù)據(jù)集隨機(jī)打亂后按照9∶1分割訓(xùn)練集和測試集,經(jīng)預(yù)處理后的數(shù)據(jù)集信息如表1所示。
表1 數(shù)據(jù)集信息Table 1 Dataset information
AUC(area under curve):AUC為ROC曲線下面積,其衡量了模型預(yù)測的正例排在負(fù)例前面的概率,其值越接近于1,二分類性能越好,并且指標(biāo)對于樣本類別是否均衡不敏感,在樣本不平衡的情況下,依然能做出合理的預(yù)測,是點(diǎn)擊率預(yù)測任務(wù)中最重要的評價指標(biāo)。
Logloss:對數(shù)損失同樣是二分類任務(wù)中廣泛使用的評價標(biāo)準(zhǔn),其可以衡量預(yù)估CTR與實(shí)際CTR的擬合程度,計(jì)算方法為公式(17),Logloss越低擬合能力越強(qiáng)。
在基準(zhǔn)模型選擇方面,本文將所提出的模型與兩類模型進(jìn)行比較:(1)基于多層全連接神經(jīng)網(wǎng)絡(luò)的CTR預(yù)測模型;(2)顯式特征交互CTR預(yù)測模型。
DNN:由多層全連接前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成,直接將特征嵌入向量平鋪后輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
AFM[5]:用注意力機(jī)制區(qū)別FM中二階特征交互的重要性。
DCN[12]:在元素級上顯式建模特征向量間的高階交互,并與DNN進(jìn)行結(jié)合。
DeepFM[9]:將DNN與FM二階特征交互融合,使模型同時具備高階特征和二階特征信息。
xDeepFM[13]:利用卷積神經(jīng)網(wǎng)絡(luò)對特征交互張量進(jìn)行壓縮,能在向量級顯式建模高階交互。
AutoInt[15]:利用多頭自注意力機(jī)制更新特征交互表示。
DCFM[14]:將DNN、Cross、FM三個組件結(jié)合的混合模型。
APNN[10]:將一階特征重要性信息、二階特征重要性信息以及Product交互信息融合,并通過多個全連接層獲取更多潛在高階信息
AdnFM[11]:在DeepFM的基礎(chǔ)上,在DNN部分加入層級注意力機(jī)制。
HoAFM[16]:基于元素級注意力機(jī)制顯式建模特征高階交互。
所有模型使用Tensorflow2.0框架進(jìn)行實(shí)現(xiàn)。在超參數(shù)設(shè)置方面,本文不探討Embedding維度對模型的影響,將Embedding嵌入維度統(tǒng)一設(shè)置為8,batch-size大小統(tǒng)一設(shè)置為1 024。對于含有DNN部分的網(wǎng)絡(luò),將其隱藏層數(shù)設(shè)置為3,每個隱藏層神經(jīng)元個數(shù)為200,dropout比率設(shè)置為0.5,以防止過擬合。對于DCN、xDeepFM、AutoInt、DCFM、HoAFM,將其顯式特征交互層設(shè)置為3層,與本文提出模型保持一致,其中CIN過濾器數(shù)量設(shè)置為200。對于AFM,將其注意力隱層神經(jīng)元個數(shù)設(shè)置為8,與嵌入向量維度一致。最后,所有模型使用Adam[25]來優(yōu)化所有模型,學(xué)習(xí)率統(tǒng)一設(shè)置為0.000 1。
在四個方面對模型性能進(jìn)行實(shí)驗(yàn),并對實(shí)驗(yàn)結(jié)果展開討論。實(shí)驗(yàn)1為本文提出模型與基線模型的性能比較;實(shí)驗(yàn)2~實(shí)驗(yàn)4是為了探討不同超參數(shù)對于本文提出模型的影響,其中對于Criteo數(shù)據(jù)集,超參數(shù)搜索取前60萬條數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)。
3.5.1 與基準(zhǔn)模型性能對比
實(shí)驗(yàn)1為驗(yàn)證模型的有效性,分別在兩個數(shù)據(jù)集上對所有模型進(jìn)行實(shí)驗(yàn),表2為實(shí)驗(yàn)結(jié)果。
從表2中可以看出,在Criteo與Movielens-1M數(shù)據(jù)集上,本文提出的模型在AUC與Logloss指標(biāo)上明顯優(yōu)于基準(zhǔn)模型。相較于最先進(jìn)的模型,在Criteo與Movielens-1M數(shù)據(jù)集上分別有0.21%和0.92%的AUC提升,驗(yàn)證了模型在大數(shù)據(jù)集與小數(shù)據(jù)集上同樣具有優(yōu)異的性能。此外,在實(shí)際業(yè)務(wù)中,認(rèn)為0.1%的AUC提升也是頗具意義的,若用戶基數(shù)龐大,這將為公司帶來巨額的收入增長[15]。
表2 模型表現(xiàn)Table 2 Models performance
3.5.2 顯式特征交互層層數(shù)對性能的影響
顯式交互層層數(shù)直接關(guān)系到建模特征交互的階數(shù),因此該實(shí)驗(yàn)的目的是為了選取最優(yōu)顯式交互層層數(shù),實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 顯式特征交互層數(shù)與模型表現(xiàn)Fig.5 Influence of explicit feature interaction levels on model performance
由此可見,當(dāng)顯式特征交互層從1層(2階特征)拓展到2層(3階特征)時,獲得了較大的提升,當(dāng)拓展到3層以上時,模型提升逐漸放緩。對于Movielens-1M數(shù)據(jù)集來說,由于其只有7個特征字段,因此顯式特征交互層2層以上時提升非常小,將2層顯式特征交互層作為最優(yōu)參數(shù)。對于Criteo數(shù)據(jù)集來說,由于其特征字段數(shù)量較多,較高階的特征交互中也含有有用的信息,將3層作為最優(yōu)參數(shù)。
3.5.3 特征增強(qiáng)對性能的影響
本文提出的算法在進(jìn)行特征交互前,對特征向量進(jìn)行了增強(qiáng),利用投影矩陣將特征向量映射到更高維度的空間,得到特征向量的高維表示,不但拓展了維度,并且所有特征字段共享投影矩陣使得新的特征表示融合了全局特征信息。通過特征增強(qiáng)提高特征向量的表達(dá)能力,進(jìn)而增加注意力矩陣的學(xué)習(xí)能力。如圖6所示,通過消融實(shí)驗(yàn)對比了特征增強(qiáng)前后模型在兩個數(shù)據(jù)集上的效果,結(jié)果表明特征增強(qiáng)后模型在Criteo與Movielens-1M數(shù)據(jù)集上分別獲得了0.97%和0.85%的AUC提升。
圖6 特征增強(qiáng)與模型表現(xiàn)Fig.6 Feature enhancement and model representation
此外,為了探討投影向量維度對模型性能的影響,在不同投影向量維度下對模型進(jìn)行了實(shí)驗(yàn)。從圖7中可以看出,在兩個數(shù)據(jù)集上AUC隨著投影向量維度增加而提升,但到達(dá)峰值后,再增加投影向量維度收效甚微,并且會帶來更高計(jì)算成本。
圖7 投影向量維度與模型表現(xiàn)Fig.7 Influence of projection vector dimension on model performance
3.5.4 注意力頭數(shù)量對性能的影響
為了驗(yàn)證多個注意力頭對緩解過擬合問題的作用,本實(shí)驗(yàn)設(shè)計(jì)了在不同注意力頭數(shù)量時模型的表現(xiàn)。
實(shí)驗(yàn)結(jié)果如圖8所示,當(dāng)注意力頭數(shù)量為2時,相較單個注意力頭有明顯提升,這是由于不同注意力頭可能觀察到不同的特征交互重要性,結(jié)合多個注意力頭提取到的特征交互信息可緩解過擬合,提高模型的泛化能力。當(dāng)注意力頭數(shù)量為3時,AUC與Logloss趨于平穩(wěn),再增加注意力頭數(shù)量模型效果的提升不明顯。這可能是因?yàn)殡S著注意力頭增加,每個注意力頭為預(yù)測點(diǎn)擊率提供的信息逐漸減少,無法獲取更多有效信息。
圖8 注意力頭數(shù)量與模型表現(xiàn)Fig.8 Influence of number of attention heads on model performance
為提高點(diǎn)擊率預(yù)測的準(zhǔn)確性,本文提出了一種新的點(diǎn)擊率預(yù)測模型,稱為增強(qiáng)型高階注意力因子分解機(jī)(EHAFM)。模型考慮到不同特征交互對于預(yù)測具有不同的重要性,設(shè)計(jì)了一種增強(qiáng)型元素級注意力機(jī)制,其在元素級上區(qū)分不同特征交互的重要性,減少了無用特征交互的干擾。并針對模型容易過擬合的問題,融合多個增強(qiáng)型元素級注意力頭的信息,增強(qiáng)模型的泛化能力。隨著堆疊顯式交互層,特征表示可以拓展到任意階數(shù),最后將高階特征交互部分與一階線性部分結(jié)合,使模型同時具有記憶能力和泛化能力。通過在兩個數(shù)據(jù)集上的實(shí)驗(yàn),結(jié)果表明模型在預(yù)測準(zhǔn)確性上相較基準(zhǔn)模型有明顯的提升,驗(yàn)證了模型的有效性。
此外,在工業(yè)級推薦系統(tǒng)中,圖片、文本等形式的數(shù)據(jù)廣泛存在于用戶、項(xiàng)目特征中,并對預(yù)測用戶偏好產(chǎn)生影響,在接下來的工作中,將考慮多模態(tài)特征間的交互,進(jìn)一步提升模型性能。