• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于特征與域感知的點(diǎn)擊率預(yù)估方法

      2022-03-12 05:55:44武志昊趙苡積
      計算機(jī)工程 2022年3期
      關(guān)鍵詞:點(diǎn)擊率預(yù)估交叉

      趙 越,武志昊,趙苡積

      (1.北京交通大學(xué) 計算機(jī)信息與技術(shù)學(xué)院,北京 100044;2.交通數(shù)據(jù)分析與挖掘北京市重點(diǎn)實(shí)驗(yàn)室,北京 100044)

      0 概述

      點(diǎn)擊率預(yù)估被廣泛應(yīng)用于搜索廣告[1-2]和推薦系統(tǒng)[3-4]等領(lǐng)域,有助于企業(yè)精準(zhǔn)營銷和提高投資回報率[5]。點(diǎn)擊率預(yù)估模型構(gòu)建的關(guān)鍵在于學(xué)習(xí)能有效反映用戶行為的交互特征。例如,在軟件商店中,用戶1 偏好下載熱門的軟件,可構(gòu)造一階特征[軟件名稱],用戶2 經(jīng)常在吃飯時間下載外賣軟件,可構(gòu)造二階交互特征[軟件名稱、時間],男青年3 偏好射擊游戲,可構(gòu)造高階交互特征[用戶性別、用戶年齡、軟件名稱]。

      低階和高階的交互特征對于點(diǎn)擊率預(yù)估具有重要意義,但是原始數(shù)據(jù)只能獲取一階特征。通常依據(jù)專家經(jīng)驗(yàn)手動設(shè)計新特征,以獲取有效的高階交互特征。然而,這種方式需要大量的人工成本和豐富的專家經(jīng)驗(yàn)。隨著因子分解機(jī)(Factorization Machine,F(xiàn)M)[6]等機(jī)器學(xué)習(xí)算法的發(fā)展,自動獲取交互特征成為可能,但是該方法需要遍歷所有特征組合,受計算資源的限制,通常只能截取二階的交互特征。基于深度學(xué)習(xí)的算法[7-9]因其優(yōu)異的性能受到了廣泛關(guān)注,將高維稀疏的特征按照特征類別組織為多個域,經(jīng)過嵌入層得到每個域內(nèi)的特征嵌入,最終通過深度神經(jīng)網(wǎng)絡(luò)來建模高階特征交互。盡管這類模型具有優(yōu)異的性能,但是其未考慮冷啟動問題。在推薦系統(tǒng)領(lǐng)域中,冷啟動問題通常指包含某特征(如用戶或產(chǎn)品)的樣本極少,導(dǎo)致模型無法對這部分樣本進(jìn)行準(zhǔn)確推薦,該樣本分為新特征和“小”特征樣本兩種。在實(shí)際應(yīng)用中,產(chǎn)品的快速迭代會產(chǎn)生包含“小”特征的樣本,例如,在軟件商店中,某用戶下載了小眾軟件,從而產(chǎn)生一條點(diǎn)擊樣本,小眾軟件即為“小”特征,該樣本即為包含“小”特征的樣本。“小”特征在模型訓(xùn)練階段出現(xiàn)次數(shù)較少而沒有得到充分學(xué)習(xí),導(dǎo)致模型對這類樣本點(diǎn)擊率預(yù)估不準(zhǔn)確。雖然“小”特征在訓(xùn)練階段出現(xiàn)次數(shù)少,但是數(shù)量較龐大,如果能準(zhǔn)確預(yù)估該類樣本將產(chǎn)生較高的經(jīng)濟(jì)效益[10]。

      在點(diǎn)擊率預(yù)估的實(shí)際場景中(如搜索廣告、推薦系統(tǒng)),冷啟動問題面臨諸多挑戰(zhàn)[11]。常見的解決方法是通過設(shè)計粗粒度的特征交互,獲得在極少數(shù)樣本中更豐富的“小”特征信息。域是特征按照類別劃分形成的粗粒度概念,研究人員[12-14]通過引入域交互以更準(zhǔn)確地建模特征交互,他們指出,在不同域下的特征交互通常存在差異問題,例如,性別域的特征與軟件類型域的特征有強(qiáng)的交互,然而與設(shè)備類型域的特征交互相對較弱,顯然特征交互的強(qiáng)度受域的影響,所以引入粗粒度的域是通過域嵌入的內(nèi)積建模域交互,并進(jìn)一步將域嵌入的內(nèi)積作為特征交互的系數(shù)以體現(xiàn)交互的強(qiáng)度。然而在該類引入粗粒度交互的方法中,因每個樣本的域嵌入以及域交互的操作均相同,導(dǎo)致域交互均相同,從而無法捕獲樣本對域的獨(dú)特偏好。例如,用戶小明喜歡看視頻,那么小明偏好[軟件類型]域;用戶小紅喜歡評分高的軟件,則小紅偏好[軟件評分]域;用戶小蘭喜歡免費(fèi)軟件,那么小蘭偏好[是否免費(fèi)]域,因此粗粒度的域交互需要進(jìn)行個性化建模。

      本文提出一種基于特征與域感知的點(diǎn)擊率預(yù)估方法FF-GNN。該方法分別通過基于圖神經(jīng)網(wǎng)絡(luò)的交互模塊建模細(xì)粒度的特征交互和粗粒度的域交互,利用圖神經(jīng)網(wǎng)絡(luò)的權(quán)重計算模塊交叉引用低階信息,并通過注意力機(jī)制融合兩個交互模塊的結(jié)果,從而提升點(diǎn)擊率預(yù)估的準(zhǔn)確度。

      1 相關(guān)工作

      研究人員采用機(jī)器學(xué)習(xí)算法邏輯回歸(Logistics Regression,LR)進(jìn)行點(diǎn)擊率預(yù)估,該方法不僅無法交互特征且沒有泛化能力,從而難以滿足實(shí)際應(yīng)用需求。為解決該問題,研究人員[6]開發(fā)了基于嵌入的方法,將高維稀疏的輸入嵌入成低維稠密的隱向量,提高模型的泛化能力。基于嵌入的方法分為基于FM 的方法和基于神經(jīng)網(wǎng)絡(luò)的方法。

      1.1 基于FM 的方法

      FM[6]方法是通過構(gòu)建特征隱因子,并將其內(nèi)積作為交叉特征權(quán)重,以有效建模成對的特征交互,但是其計算復(fù)雜度高[15]。研究人員對FM 進(jìn)行改進(jìn)[12-14],引入域信息建模特征交互的差異性,例如FFM[12]為特征構(gòu)建多個隱因子,其與不同域內(nèi)的特征交互時,使用不同的嵌入計算交叉特征的權(quán)重,強(qiáng)調(diào)域?qū)μ卣鹘换ギa(chǎn)生的影響,IFM[13]通過構(gòu)建域交互來計算特征交互的權(quán)重,然而該方法中每個樣本得到的域交互均相同,無法進(jìn)行個性化建模。也有研究人員[16]認(rèn)為交叉特征并非同等重要,因此提出了一些模型。例如AFM[16]引入注意力網(wǎng)絡(luò)來學(xué)習(xí)交叉特征的重要性,忽略不重要甚至無用的特征。然而,這些方法只能建模二階交叉特征,其性能難以滿足點(diǎn)擊率預(yù)估任務(wù)的需求。

      1.2 基于神經(jīng)網(wǎng)絡(luò)的方法

      由于神經(jīng)網(wǎng)絡(luò)能建模更復(fù)雜的特征交互,而特征交互是點(diǎn)擊率預(yù)估算法的核心,因此基于深度神經(jīng)網(wǎng)絡(luò)的點(diǎn)擊率預(yù)估算法成為研究熱點(diǎn)[7]。FNN[8]通過FM 預(yù)訓(xùn)練得到特征嵌入后,并將其輸入到深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)以建模高階交叉特征。PNN[9]引入新的特征交互操作——乘法層。NFM[17]首先通過雙線性層建模二階交互,然后通過全連接神經(jīng)網(wǎng)絡(luò)建模高階交互。盡管上述方法能成功地對高階交叉特征進(jìn)行建模,但是對低階交叉特征的表達(dá)受到限制,從而降低了點(diǎn)擊率預(yù)估的性能。針對該問題,研究人員提出能夠同時建模低階和高階交叉特征的方法。Wide&Deep[18]并行組合了FM 和DNN,同時對低階和高階交叉特征進(jìn)行建模。DeepFM[19]兩大模 塊FM 和DNN 共享輸入,不依賴特征工程。這些方法通過DNN 隱式的方式建模高階交叉特征,缺乏良好的解釋性。因此,通過設(shè)計特殊的網(wǎng)絡(luò)結(jié)構(gòu),嘗試對交叉特征進(jìn)行顯式建模,使其更具可解釋性。DCN[20]構(gòu)建交叉網(wǎng)絡(luò),xDeepFM[21]構(gòu)建壓縮交互網(wǎng)絡(luò)結(jié)構(gòu),InterHAT[22]通過構(gòu)建層次注意力以顯式建模交叉特征。這類方法需要根據(jù)專家經(jīng)驗(yàn)指定交叉特征的階數(shù)。隨后AFN[23]方法被提出,其核心是對數(shù)變換層,不同于之前的方法,它能夠從數(shù)據(jù)中自適應(yīng)學(xué)習(xí)表現(xiàn)最佳的不定階交叉特征。此外,還有一些模型在特征交互之前,通過計算特征重要性篩選特征。例如FiBiNET[24]通過壓縮和激勵網(wǎng)絡(luò)(Squeeze-Excitation Network,SENET)學(xué)習(xí)特征重要性,并對特征進(jìn)行篩選。FGCNN[25]通過卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)過濾不重要的特征,生成新的特征以進(jìn)行交互。隨著圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)在許多領(lǐng)域的成功應(yīng)用,F(xiàn)i-GNN[26]首次將多特征域表示為圖結(jié)構(gòu),并使用GNN 學(xué)習(xí)復(fù)雜的交叉特征。盡管基于神經(jīng)網(wǎng)絡(luò)的方法具有良好的性能,但是仍存在一定不足。該方法首先將高維稀疏的特征按照特征類別組織為多個域,然后經(jīng)過嵌入層得到域特征嵌入,最后通過網(wǎng)絡(luò)結(jié)構(gòu)建模特征交互。然而這類方法在樣本數(shù)較少的場景中難以取得理想效果,點(diǎn)擊率預(yù)估的精度較低。

      2 FF-GNN 方法

      為了便于形式化描述,本文給定輸入特征的域?yàn)镕,域特征為f,特征值為ν。點(diǎn)擊率預(yù)估問題定義X={F1:f1:ν1,F(xiàn)2:f2:ν2,…,F(xiàn)n:fn:νn},其中Fi、fi、νi分別為樣本第i個域及該域?qū)?yīng)的特征和特征值,預(yù)估用戶點(diǎn)擊商品的概率。

      本文提出一種使用GNN 感知特征和域的點(diǎn)擊率預(yù)估方法FF-GNN,圖1 所示為該模型的結(jié)構(gòu)。模型包括嵌入模塊、交互模塊、融合模塊、點(diǎn)擊率預(yù)估模塊4 個部分。首先,嵌入模塊將輸入的特征與域編號映射為稠密的特征嵌入Ef與域嵌入EF。其次,交互模塊通過GNN 建模特征和域的交互。特征GNN 和域GNN 節(jié)點(diǎn)狀態(tài)分別初始化為Ef和EF,并通過交叉引用彼此信息計算特征圖和域圖鄰接矩陣,隨后聚集更新多次迭代以得到高階交叉特征H1、H2。最后,融合模塊將高階交叉特征H1、H2和低階的嵌入H0、H3通過注意力機(jī)制融合,并利用點(diǎn)擊率預(yù)估模塊得到點(diǎn)擊率。

      圖1 FF-GNN 模型結(jié)構(gòu)Fig.1 Structure of FF-GNN model

      2.1 嵌入模塊

      嵌入模塊包括特征嵌入層和域嵌入層2 個部分。假設(shè)給定樣本X={設(shè)備:平板;年齡:18;性別:男;待下載應(yīng)用:音樂播放器}。其中,冒號(:)前面的信息代表域,冒號后的信息代表該域下的具體特征。

      特征嵌入層將樣本中的特征轉(zhuǎn)換成低維稠密的特征嵌入。特征嵌入層對X中的特征進(jìn)行one-hot 編碼,并轉(zhuǎn)換為二值向量,如:

      因特征總數(shù)(|f|)較大,導(dǎo)致二值向量高維稀疏,從而計算效率低。本文通過特征嵌入層將二值向量轉(zhuǎn)換為稠密的低維向量,獲得特征嵌入Ef=,其中n是樣本中的特征數(shù)量,是樣本的第i個特征對應(yīng)的嵌入。類似地,域嵌入層將樣本中的域[1,2,…,n](n=4)轉(zhuǎn)換為域嵌入EF=。

      2.2 交互模塊

      交互模塊是模型的核心組件,包括特征交互和域交互兩個部分。特征交互與域交互均與GNN 中的節(jié)點(diǎn)交互具有對應(yīng)關(guān)系。特征交互可以轉(zhuǎn)化為圖中的節(jié)點(diǎn)交互,特征交互的強(qiáng)度可以轉(zhuǎn)化為圖中節(jié)點(diǎn)間的邊權(quán)。因此,本文采用GNN 中的門控圖神經(jīng)網(wǎng)絡(luò)(Gated Graph Neural Network,GGNN)[27]構(gòu)造交互模塊,以捕獲特征之間或域之間的結(jié)構(gòu)信息。GNN 是一種直接作用于圖結(jié)構(gòu)上的神經(jīng)網(wǎng)絡(luò),首先將特征信息和域信息轉(zhuǎn)換為圖結(jié)構(gòu),然后將其輸入到GNN 中進(jìn)行交互。

      2.2.1 特征圖與域圖的構(gòu)建

      特征圖和域圖的構(gòu)建步驟如下。

      1)特征圖。首先將樣本中的特征構(gòu)建成特征圖Gf=(Vf,Edgef),其中節(jié)點(diǎn)νi∈Vf對應(yīng)樣本中的第i個特征,節(jié)點(diǎn)數(shù)量|Vf|=n,邊代表特征節(jié)點(diǎn)之間具有聯(lián)系。由于每對特征之間都存在隱藏關(guān)系,因此Gf是全連接圖。與標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)不同,GNN 中的每個節(jié)點(diǎn)保留一個狀態(tài)信息,節(jié)點(diǎn)聚合鄰居的狀態(tài)并更新自身狀態(tài),經(jīng)過多次迭代后,節(jié)點(diǎn)能夠收集任意跳的鄰居信息。此時,特征交互轉(zhuǎn)化為節(jié)點(diǎn)之間的交互,通過邊交互及邊的權(quán)重反映特征交互的作用強(qiáng)度。給定第i個節(jié)點(diǎn)的初始狀態(tài),所有節(jié)點(diǎn)的初始狀態(tài)集合為。

      2)域圖。為了挖掘域之間的隱藏關(guān)系,本文構(gòu)建單獨(dú)的域嵌入,并用GNN 建模域之間的交互。將輸入中的域表示為圖結(jié)構(gòu),構(gòu)建域圖GF=(VF,EdgeF),其中節(jié)點(diǎn)νi∈VF對應(yīng)樣本的第i個域,節(jié)點(diǎn)數(shù)量|VF|=n。由于每對域之間的隱藏關(guān)系均不能忽略,因此GF是全連接圖。此時域交互轉(zhuǎn)化為節(jié)點(diǎn)之間的邊交互,邊的權(quán)重反映域交互的作用強(qiáng)度。同樣地,給定第i個節(jié)點(diǎn)的初始狀態(tài),,所有節(jié)點(diǎn)的初始狀態(tài)集合為。

      圖神經(jīng)網(wǎng)絡(luò)迭代t層后,特征GNN 和域GNN 分別得到高階交互特征

      2.2.2 聚集(交互)過程

      GNN 的節(jié)點(diǎn)狀態(tài)經(jīng)過初始化后,開始迭代聚集鄰居節(jié)點(diǎn)狀態(tài)并更新自身狀態(tài),具體過程如圖2所示。

      圖2 第t 層GNN 節(jié)點(diǎn)v4 更新過程Fig.2 The node v4 updating process in the t-th step of GNN

      首先當(dāng)前節(jié)點(diǎn)ν4通過不同的權(quán)重和轉(zhuǎn)換方式將鄰居節(jié)點(diǎn)的信息聚集到一起,然后將聚集結(jié)果及t-1層自身信息輸入到GGNN,更新ν4的信息,以得到第t層節(jié)點(diǎn)狀態(tài)。假設(shè)已經(jīng)求得第t-1 層節(jié)點(diǎn)的狀態(tài)信息,并進(jìn)行第t層的操作。當(dāng)前節(jié)點(diǎn)νi的聚集結(jié)果表示為鄰居節(jié)點(diǎn)的狀態(tài)信息之和,如式(1)所示:

      其中:νj為νi的鄰居節(jié)點(diǎn);W為將節(jié)點(diǎn)的狀態(tài)信息轉(zhuǎn)換到另一空間的轉(zhuǎn)換函數(shù);A∈Rn×n為特征圖的鄰接矩陣。鄰接矩陣和轉(zhuǎn)換函數(shù)決定特征交互的方式。

      1)鄰接矩陣

      (1)特征圖。GGNN 的鄰接矩陣是二值(0-1)鄰接矩陣,僅反映特征之間是否有關(guān)系,而無法體現(xiàn)作用強(qiáng)度,從而難以滿足特征個性化交互的需求。為區(qū)別刻畫特征之間的作用強(qiáng)度且反映不同域內(nèi)特征交互的差異性,本文根據(jù)特征對應(yīng)域的嵌入計算得到特征之間的交互強(qiáng)度,如式(2)所示:

      其中:為節(jié)點(diǎn)νj、νi之間的邊權(quán);Fq、Fp、Fr分別為節(jié)點(diǎn)νj、νi、νk對應(yīng)的特征所屬的域;LeaklyRelu 為激活函數(shù);Wwf為轉(zhuǎn)換矩陣。相應(yīng)地,特征圖的加權(quán)鄰接矩陣如式(3)所示:

      (2)域圖。通過注意力機(jī)制計算域圖的鄰接矩陣,這樣不僅實(shí)現(xiàn)域交互的個性化建模,還獲得了粗粒度的高階交互,如式(4)所示,域圖的鄰接矩陣如式(5)所示:

      其中:為節(jié)點(diǎn)νj、νi之間的邊權(quán);fq、fp、fr分別為節(jié)點(diǎn)νj、νi、νk對應(yīng)的特征;LeaklyRelu 為激活函數(shù);WwF為轉(zhuǎn)換矩陣。

      2)轉(zhuǎn)換函數(shù)

      由于交互過程復(fù)雜,除了區(qū)別設(shè)計每對節(jié)點(diǎn)間的邊權(quán)以外,還需要為每條邊分配獨(dú)特的轉(zhuǎn)換函數(shù)。該操作導(dǎo)致模型的參數(shù)量與特征圖的邊數(shù)量成正比。為減小空間和時間復(fù)雜度,本文參考文獻(xiàn)[26]提出一種邊分配轉(zhuǎn)換函數(shù)方法。從圖2 可以看出,通過為每個節(jié)點(diǎn)νi分配輸出轉(zhuǎn)換矩陣和輸入轉(zhuǎn)換矩陣,使得轉(zhuǎn)換函數(shù)的參數(shù)量與圖的節(jié)點(diǎn)成正比,既保證了每條邊轉(zhuǎn)換函數(shù)的獨(dú)特性,又降低了參數(shù)量。特征圖和域圖的轉(zhuǎn)換函數(shù)形式一致,從節(jié)點(diǎn)νj到νi的邊和從節(jié)點(diǎn)νi到νj的邊的轉(zhuǎn)換函數(shù)如式(6)、式(7)所示:

      相應(yīng)地,特征圖和域圖的鄰接矩陣如式(8)、式(9)所示:

      2.2.3 更新過程

      當(dāng)前節(jié)點(diǎn)νi得到第t層聚集結(jié)果后,還需更新自身狀態(tài)信息。GGNN 的節(jié)點(diǎn)將第t層聚集結(jié)果及第t-1 層的自身狀態(tài)作為門控循環(huán)單元(Gated Recurrent Unit,GRU)的輸入,通過更新得到第t層節(jié)點(diǎn)狀態(tài),特征圖和域圖的更新過程分別如式(10)和式(11)所示:

      為了使網(wǎng)絡(luò)中的信息前后傳播更加順暢以及網(wǎng)絡(luò)訓(xùn)練更有效,通常會引入殘差連接,即加入第1 層的節(jié)點(diǎn)自身狀態(tài),因此,式(10)和式(11)分別可寫為式(12)和式(13):

      GNN 迭代更新至T層后,可以獲得圖的最終狀態(tài)信息,每個節(jié)點(diǎn)的最終狀態(tài)都可以看作高階交叉特征。節(jié)點(diǎn)與各個鄰居節(jié)點(diǎn)完成交互,并更新了自身的狀態(tài)信息,從而實(shí)現(xiàn)了特征級別復(fù)雜的交互,捕獲特征之間的隱藏關(guān)系。

      2.3 融合模塊

      融合模塊是通過注意力機(jī)制將同類型的交叉特征相融合,并作為點(diǎn)擊率預(yù)估層的輸入。在特征GNN 和域GNN 迭代T層后,圖產(chǎn)生的高階交叉特征分別表示為每個高階交叉特征對最終預(yù)測結(jié)果的貢獻(xiàn)不同,其權(quán)重系數(shù)通過注意力機(jī)制自適應(yīng)學(xué)習(xí)。以特征GNN 的特征為例,第i個高階交叉特征的權(quán)重系數(shù)如式(14)所示,高階交叉特征的融合結(jié)果如式(15)所示:

      其中:wc∈R1×d,ww∈Rd×d是轉(zhuǎn)換函數(shù);σ為Relu激活函數(shù)。類似地,域GNN 網(wǎng)絡(luò)中高階交叉特征的融合結(jié)果記為H2∈Rd。

      為了挖掘低階特征中的隱藏信息,本文通過注意力機(jī)制分別獲得特征嵌入Ef與域嵌入EF的融合特征,記為H0∈Rd,H3∈Rd。因此注意力融合層最終輸出為Hres=[H0;H1;H2;H3],Hres∈R4d。

      2.4 點(diǎn)擊率預(yù)估模塊

      點(diǎn)擊率預(yù)估層由2 個多層感知機(jī)(Multi-Layer Perceptron,MLP)組成,分別用于計算Hres中每項(xiàng)的得分及其貢獻(xiàn),然后將其相加得到預(yù)估分?jǐn)?shù),具體的計算過程如式(16)、式(17)所示:

      2.5 訓(xùn)練

      模型的損失函數(shù)是點(diǎn)擊率預(yù)估任務(wù)中常用的對數(shù)損失(Logloss),如式(19)所示:

      其中:N為訓(xùn)練樣本的數(shù)量;yi、i分別為索引i樣本的真實(shí)標(biāo)簽和預(yù)測標(biāo)簽。模型的最優(yōu)參數(shù)通過均方根反向傳播法(RMSProp)對最小化損失函數(shù)進(jìn)行求解。

      3 實(shí)驗(yàn)與結(jié)果分析

      在公開數(shù)據(jù)集Criteo 和Frappe 上,本文通過特征和域感知的GNN 方法FF-GNN 與其他方法進(jìn)行對比,以驗(yàn)證其可行性與有效性。通過消融實(shí)驗(yàn)和參數(shù)敏感性實(shí)驗(yàn)分別探究FF-GNN 中各模塊的作用及重要參數(shù)對結(jié)果產(chǎn)生的影響。

      3.1 數(shù)據(jù)集

      實(shí)驗(yàn)采用Criteo 和Frappe 兩個公開的數(shù)據(jù)集來評估FF-GNN 的性能。Criteo 數(shù)據(jù)集廣泛用于點(diǎn)擊率預(yù)測行業(yè),它包含1×106用戶在展示廣告上的點(diǎn)擊記錄,72 998 個特征和39 個不同的域(13 個連續(xù)特征域和26 個類別特征域)。Frappe 數(shù)據(jù)集是移動應(yīng)用程序檢索的上下文相關(guān)應(yīng)用程序使用日志,包含2.88×105條日志記錄,5 382 個特征和10 個類別特征域,數(shù)據(jù)集的具體信息如表1 所示。

      表1 數(shù)據(jù)集描述Table 1 Datasets description

      本文統(tǒng)計了2 個數(shù)據(jù)集中包含特征最多的域的特征分布,用于解決冷啟動中“小”特征樣本的問題。以Frappe 數(shù)據(jù)集為例,每個域包含的特征數(shù)量分別為{957,4 082,7,7,2,3,2,9,80,233},由于特征數(shù)量最多的域有可能包含“小”特征,因此取第2 個域(應(yīng)用軟件編號,記作APP ID)做進(jìn)一步分析。本文統(tǒng)計Frappe 數(shù)據(jù)集包含不同比例APP ID 的樣本數(shù)量及樣本比例,如圖3(a)所示。約80%的樣本總共包含APP 比例僅為10%,而剩余約20%的樣本總共包含的APP 比例為90%,即只有10%的APP 較熱門。雖然90%的APP 不熱門,但是數(shù)量龐大。類似地,在Criteo 數(shù)據(jù)集上特征最多的域內(nèi)包含不同比例特征的樣本數(shù)量以及樣本比例,如圖3(b)所示,超過80%的樣本總共包含20%的特征,而不足20%的樣本總共包含80%的特征。

      圖3 不同比例APP 和特征的樣本數(shù)量及樣本比例Fig.3 Samples quality and sample proportion of different proportiona of APP and features

      3.2 評價指標(biāo)

      本文選用點(diǎn)擊率預(yù)估任務(wù)中常用的兩個評價指標(biāo)交叉熵對數(shù)損失(Logloss)和AUC。Logloss 衡量預(yù)測值與真實(shí)值之間的距離,值越小表示模型性能越好。而AUC 被定義為ROC 曲線下坐標(biāo)軸包圍的面積,衡量模型對正負(fù)樣本的排序能力,值越大表示模型性能越好。

      3.3 基準(zhǔn)方法

      本文對FF-GNN 與以下10 種模型進(jìn)行對比。

      LR:通過對原始特征線性組合進(jìn)行點(diǎn)擊率預(yù)估,通常被用作點(diǎn)擊率預(yù)估任務(wù)的基線。

      FM:經(jīng)典的點(diǎn)擊率預(yù)估方法,將特征隱因子的內(nèi)積作為二階交叉特征的權(quán)重系數(shù)。

      FFM:在FM 的基礎(chǔ)上,建模二階交叉特征時關(guān)注了特征域的影響。

      Wide&Deep:首個結(jié)合低階特征和高階交叉特征的模型。

      DeepFM:基于Wide&Deep 架構(gòu),共享了低階模型和高階模型的輸入。

      DCN[20]:構(gòu)建特殊的交叉網(wǎng)絡(luò)顯式建模特征交互。

      xDeepFM[21]:構(gòu)建壓縮交互網(wǎng)絡(luò)顯式建模特征交互。

      FiBiNET[24]:使用壓縮-激勵網(wǎng)絡(luò)(SENET)機(jī)制學(xué)習(xí)特征重要性,且利用雙線性函數(shù)學(xué)習(xí)特征之間的交互。

      AFN[23]:核心是對數(shù)變換層,從數(shù)據(jù)中自適應(yīng)學(xué)習(xí)任意階數(shù)的交叉特征。

      Fi-GNN[26]:首個通過GNN 建模特征交互的模型。

      3.4 實(shí)驗(yàn)設(shè)置

      所有的實(shí)驗(yàn)均通過Tesla K80 的GPU、TensorFlow框架實(shí)現(xiàn),實(shí)驗(yàn)分別通過驗(yàn)證集和RMSProp 優(yōu)化器對最佳超參數(shù)和最佳模型參數(shù)求解。在Criteo 數(shù)據(jù)集上,特征和域嵌入的維數(shù)d=10,批尺寸為128,特征圖和域GNN 的迭代層數(shù)T=3,學(xué)習(xí)率為0.000 5。在Frappe 數(shù)據(jù)集上,特征和域嵌入的維數(shù)d=64,批尺寸為128,特征圖和域GNN 的迭代層數(shù)T=3,學(xué)習(xí)率為0.001,L2 正則化系數(shù)為0.001。

      3.5 實(shí)驗(yàn)結(jié)果分析

      在Criteo 和Frappe 數(shù)據(jù)集上不同模型的評價指標(biāo)對比如表2 所示。

      表2 不同模型的評價指標(biāo)對比Table 2 Evaluation indexs comparison among different models

      傳統(tǒng)模型LR 表現(xiàn)最差,無法滿足點(diǎn)擊率預(yù)估任務(wù)的需求,需要挖掘交叉特征。因此基于FM 模型的評價指標(biāo)普遍優(yōu)于LR 模型,且成功地對特征的二階交互進(jìn)行建模,從而提高點(diǎn)擊率預(yù)估任務(wù)的準(zhǔn)確度。此外,在基于FM 的模型中,F(xiàn)FM 的性能指標(biāo)較FM大幅提升。這是因?yàn)镕FM 為特征建立多個隱因子,能夠捕獲域?qū)μ卣鹘换サ挠绊憽?/p>

      基于DNN 模型的整體性能優(yōu)于上述兩類模型。神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的特征提取能力,能夠挖掘特征之間復(fù)雜的關(guān)系,從而發(fā)現(xiàn)有效的交叉特征,大幅提升了模型性能。此外,基于神經(jīng)網(wǎng)絡(luò)的模型通常結(jié)合低階和高階的交互特征,捕獲更豐富的信息,因此效果較好。在基于DNN 的模型中,Wide&Deep 和DeepFM 模型性能較其他模型差,其通過全連接神經(jīng)網(wǎng)絡(luò)建模高階交叉特征,網(wǎng)絡(luò)結(jié)構(gòu)較為簡單且缺乏解釋性。其他模型均構(gòu)建較復(fù)雜的特殊網(wǎng)絡(luò)結(jié)構(gòu),結(jié)果具有可解釋性且更可靠。

      基于GNN 的模型將特征轉(zhuǎn)換為圖結(jié)構(gòu)后,通過GNN 建模復(fù)雜的交互,以提高模型的預(yù)測能力。盡管Fi-GNN 的性能比AFN 差,但是優(yōu)于LR、基于FM 的模型以及基于DNN 的模型。實(shí)驗(yàn)結(jié)果驗(yàn)證了GNN 結(jié)構(gòu)在點(diǎn)擊率預(yù)估任務(wù)中的可行性和有效性。

      在Criteo 和Frappe 數(shù)據(jù)集上,本文所提模型FF-GNN 的AUC 指標(biāo)較同類型方法Fi-GNN 分別提升0.52 和0.85 個百分點(diǎn),較所有對比模型中的次優(yōu)模型AFN 和FiBiNET 在兩個數(shù)據(jù)集上分別提升了0.43 和0.24 個百分 點(diǎn),F(xiàn)F-GNN 的Logloss 指標(biāo)在所有對比模型中分別達(dá)到最優(yōu)和次優(yōu)。FF-GNN 使用GNN 建模特征交互,重點(diǎn)添加了域的交互模塊和邊權(quán)計算模塊,從而提升模型的性能。

      3.6 模塊重要性分析

      本文提出的模型主要有2 個優(yōu)點(diǎn):1)同時建模特征級別的交互(記為FG)和域級別的交互(記為IG);2)構(gòu)建邊權(quán)計算模塊以交叉引用彼此信息(記為CI)。本文通過消融實(shí)驗(yàn)確定促使性能顯著提高的模塊,去掉FG、IG 和CI 模塊分別記為FF-GNNFG、FF-GNN-IG、FF-GNN-CI,其中FF-GNN-CI 中特征交互模塊和域交互模塊分別用特征嵌入和域嵌入計算交互強(qiáng)度。實(shí)驗(yàn)結(jié)果如表3 所示。

      表3 模塊消融實(shí)驗(yàn)結(jié)果Table 3 Experiment results of module ablation

      從表3 可以看出,在兩個數(shù)據(jù)集上去掉任意一個模塊,模型的性能均會下降。FF-GNN-FG 模型的性能下降幅度最大,說明特征級別的交互模塊包含的有效信息較多。FF-GNN-CI 在邊權(quán)計算模塊中用自身的嵌入計算而不是彼此的信息,其性能下降的原因主要有:1)域交互模塊對于所有樣本來說都是相同的,無法實(shí)現(xiàn)個性化建模;2)特征交互模塊中特征交互的重要性用特征嵌入計算而非域嵌入計算,無法建模不同域下特征交互的重要性。本文提出的模型FF-GNN 在兩個數(shù)據(jù)集上性能均最優(yōu),驗(yàn)證了在模型中增加域級別的交互模塊以及GNN 的邊權(quán)計算模塊的有效性。

      此外,本文還進(jìn)行了其他實(shí)驗(yàn),以研究點(diǎn)擊率預(yù)估層的4個輸入對模型性能的影響。點(diǎn)擊率預(yù)估層的4個輸入分別是特征嵌入(H0)、特征GNN 輸出(H1)、域嵌入(H2)、域GNN 輸出(H3),實(shí)驗(yàn)結(jié)果如表4 所示。

      表4 點(diǎn)擊率預(yù)估層模塊消融實(shí)驗(yàn)結(jié)果Table 4 Experiment results of module ablation on CTR prediction layer

      從表4 可以看出,在兩個數(shù)據(jù)集上去掉點(diǎn)擊率預(yù)估層中的任意一個輸入后,模型性能較FF-GNN模型都有不同程度的下降,說明每個輸入均對最終預(yù)估產(chǎn)生影響。除FF-GNN 模型外,F(xiàn)F-GNN-H0 在Criteo 數(shù)據(jù)集上表現(xiàn)最差,而在Frappe 數(shù)據(jù)集表現(xiàn)最佳,其原因可能是由數(shù)據(jù)集的原始特征造成,Criteo數(shù)據(jù)集的低階特征包含大量有效信息,而Frappe 數(shù)據(jù)集的低階特征設(shè)計的不是十分恰當(dāng),因此對最終預(yù)估的影響不大。FF-GNN-H1、FF-GNN-H2、FFGNN-H3 在兩個數(shù)據(jù)集上較FF-GNN 性能下降幅度也不一致,其原因可能是由數(shù)據(jù)本身造成的。

      3.7 超參數(shù)研究

      FF-GNN 模型包含2 個重要參數(shù),分別是嵌入模塊中特征/域嵌入維度和交互模塊中圖神經(jīng)網(wǎng)絡(luò)的迭代步數(shù)(GNN step),因此進(jìn)一步研究這兩個超參數(shù)對預(yù)估結(jié)果的影響。

      嵌入維度對模型性能的影響如圖4 所示。當(dāng)模型在Criteo 數(shù)據(jù)集上的嵌入維度為10 時,AUC 和Logloss 均達(dá)到最優(yōu)。隨著嵌入維度不斷增大,AUC值逐漸下降,當(dāng)Logloss 值逐漸上升時,模型的性能逐漸下降。在Frappe 數(shù)據(jù)集上,當(dāng)嵌入維度為64時,AUC 達(dá)到最優(yōu)效果,雖然Logloss 仍繼續(xù)下降,但也在可接受的范圍內(nèi)。因此,為了節(jié)省計算資源和存儲空間,本文選擇64 作為最佳超參數(shù)。

      圖4 嵌入維度對評價指標(biāo)的影響Fig.4 Influence of embedding dimensions on evaluation indexs

      圖神經(jīng)網(wǎng)絡(luò)迭代步數(shù)對模型評價指標(biāo)的影響如圖5 所示。在兩個數(shù)據(jù)集上,當(dāng)?shù)綌?shù)為1 時,模型性能最差,說明GNN 聚合一次鄰居狀態(tài)捕獲到的信息有限;當(dāng)?shù)綌?shù)為3 時,GNN 聚合3 次鄰居狀態(tài)后,成功地捕獲到了有效信息,因此模型性能最優(yōu);當(dāng)GNN 迭代步數(shù)取4 時,GNN 在迭代多層之后,易出現(xiàn)過渡平滑現(xiàn)象,導(dǎo)致所有節(jié)點(diǎn)的特征值均趨于一致,節(jié)點(diǎn)之間的差異性縮小,不利于進(jìn)行點(diǎn)擊率預(yù)估任務(wù)。因此,在兩個數(shù)據(jù)集上最優(yōu)的GNN 迭代步數(shù)超參數(shù)取3。

      圖5 圖神經(jīng)網(wǎng)絡(luò)迭代步數(shù)對性能的影響Fig.5 Influence of the iteration steps of GNN on performance

      4 結(jié)束語

      針對現(xiàn)有點(diǎn)擊率預(yù)估方法存在的局限性問題,本文提出一種同時關(guān)注特征級別和域級別的特征交互方法。通過嵌入層得到特征嵌入和域嵌入,基于圖神經(jīng)網(wǎng)絡(luò)的交互模塊提取特征嵌入和域嵌入的結(jié)構(gòu)信息,以獲取特征級別和域級別的交叉特征。在此基礎(chǔ)上,通過設(shè)計圖神經(jīng)網(wǎng)絡(luò)的權(quán)重計算模塊交叉引用低階特征信息,利用基于注意力的融合層將兩個交互模塊的結(jié)果相融合,以預(yù)測點(diǎn)擊率。實(shí)驗(yàn)結(jié)果驗(yàn)證了該方法的有效性,相比Fi-GNN 方法,該方法同時考慮了特征信息和域信息,并利用圖神經(jīng)網(wǎng)絡(luò)構(gòu)建復(fù)雜的高階交互。后續(xù)將對圖的連接進(jìn)行研究,自動過濾不相關(guān)的特征,進(jìn)一步節(jié)省計算時間和存儲空間。

      猜你喜歡
      點(diǎn)擊率預(yù)估交叉
      美國銀行下調(diào)今明兩年基本金屬價格預(yù)估
      “六法”巧解分式方程
      基于特征工程的視頻點(diǎn)擊率預(yù)測算法
      連一連
      史密斯預(yù)估控制在排焦控制中的應(yīng)用
      基于Fast-ICA的Wigner-Ville分布交叉項(xiàng)消除方法
      喜報!萌寶大賽參賽者660名,投票321657人次,點(diǎn)擊率超60萬!
      海峽姐妹(2015年8期)2015-02-27 15:12:30
      雙線性時頻分布交叉項(xiàng)提取及損傷識別應(yīng)用
      徹底消失
      興趣英語(2013年8期)2013-11-13 06:54:02
      《江南STYLE》為何這么火
      海外英語(2013年3期)2013-08-27 09:37:01
      保山市| 唐河县| 镇坪县| 文昌市| 西盟| 阳朔县| 常山县| 汉中市| 铁岭市| 兴业县| 方山县| 塘沽区| 岐山县| 扶绥县| 江永县| 九台市| 剑川县| 铁岭市| 九台市| 金华市| 务川| 西畴县| 临澧县| 长汀县| 东港市| 双流县| 茌平县| 包头市| 大庆市| 美姑县| 子洲县| 安国市| 苏尼特右旗| 宁明县| 崇左市| 阳信县| 海盐县| 剑阁县| 红安县| 宜阳县| 兴业县|