摘 要
預(yù)測(cè)分析是網(wǎng)絡(luò)應(yīng)用中的一項(xiàng)重要任務(wù),在推薦系統(tǒng)和在線廣告等應(yīng)用上發(fā)揮著巨大作用。以往的模型大多忽略特征中存在的潛在結(jié)構(gòu)性,從而并不能高效且顯式的建模特征交互。本文提出將特征數(shù)據(jù)建模成圖的結(jié)構(gòu),并設(shè)計(jì)了神經(jīng)網(wǎng)絡(luò)模型來(lái)顯式高效的建模特征交互。
關(guān)鍵字
預(yù)測(cè)分析;特征交互建模;圖結(jié)構(gòu)
預(yù)測(cè)分析是機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘的一項(xiàng)基本任務(wù)。給定特征作為輸入,目標(biāo)是推斷出預(yù)測(cè)目標(biāo)的函數(shù)(如回歸的實(shí)值、分類(lèi)的分類(lèi)標(biāo)簽等),對(duì)于許多網(wǎng)絡(luò)應(yīng)用,如在線廣告和推薦系統(tǒng)尤為關(guān)鍵。區(qū)別于圖像和音頻中自然可以找到的連續(xù)特征,網(wǎng)絡(luò)應(yīng)用的特征大多是稀疏和分類(lèi)的,在對(duì)這些特征進(jìn)行預(yù)測(cè)分析時(shí),必須考慮到它們之間的交互作用。例如,預(yù)測(cè)用戶對(duì)電影的偏好,給定五個(gè)分類(lèi)變量的特征:① 語(yǔ)言 = { 英語(yǔ),中文,日語(yǔ),…};② 類(lèi)型={ 動(dòng)作,小說(shuō),…};③ 導(dǎo)演 = { 李安,克里斯托弗● 諾蘭,…}; ④ 主演 = { 布魯斯● 李,萊昂納多●迪卡普里奧,…};⑤ 發(fā)行時(shí)間 = {1995,2005,…}。對(duì)于模型來(lái)說(shuō),捕捉信息量大的特征組合 / 特征交互很重要。例如,3 階特征組合(類(lèi)型 = 小說(shuō),導(dǎo)演 = 克里斯托弗●諾蘭,主演= 萊昂納多●迪卡普里奧)或(語(yǔ)言 = 中文,類(lèi)型 = 動(dòng)作,主演 = 李小龍)可能會(huì)推斷出更高的用戶偏好。本文將介紹如何挖掘和建模有效的特征組合/ 特征交互。首先將梳理和分析當(dāng)前的特征交互建模研究現(xiàn)狀,以及圖神經(jīng)網(wǎng)絡(luò)的發(fā)展;最后介紹如果通過(guò)將特征建模成圖的結(jié)構(gòu),從而使用圖神經(jīng)網(wǎng)絡(luò)進(jìn)行高效顯式的特征交互建模。
1 特征交互的研究現(xiàn)狀
1.1 二階特征交互
因子分解機(jī)(FM)是一種有效且流行的方法,用于對(duì)此類(lèi)特征交互進(jìn)行建模。FM 的關(guān)鍵思想是學(xué)習(xí)每個(gè)獨(dú)熱編碼特征的嵌入向量,然后通過(guò)各自向量的內(nèi)積對(duì)每個(gè)特征對(duì)的二階交互作用進(jìn)行建模。由于簡(jiǎn)單有效,F(xiàn)M 在推薦系統(tǒng)和廣告點(diǎn)擊率預(yù)測(cè)方面許多工作中得到了廣泛應(yīng)用,人們也相繼提出了不同的 FM 變體。特征域感知因子分解機(jī)(FFM)考慮了不同特征域的信息,并引入了域感知嵌入表達(dá)。AFM 引入注意力機(jī)制來(lái)衡量不同二階特征交互的權(quán)重。然而,這些方法只能對(duì)二階交互作用進(jìn)行建模。
1.2 高階特征交互
最近,許多基于深度神經(jīng)網(wǎng)絡(luò)的模型被提出來(lái)學(xué)習(xí)高階特征交互,這些模型遵循了統(tǒng)一的范式:將不同特征的嵌入向量拼接在一起,并將其輸入到深度神經(jīng)網(wǎng)絡(luò)(DNN)或其他專(zhuān)門(mén)設(shè)計(jì)的深度模型中,以學(xué)習(xí)高階特征交互。例如,F(xiàn)NN、NFM、Wide&Deep 和 DeepFM 等模型都是利用 DNN 來(lái)建模高階特征交互。然而,這些基于 DNN 的模型只能在位級(jí)別上,以隱式的方式建模交互,缺乏良好的模型解釋。一些模型試圖學(xué)習(xí)高階的相互作用明確地通過(guò)引入專(zhuān)門(mén)設(shè)計(jì)的網(wǎng)絡(luò)。例如,Deep&Cross 引入了交叉網(wǎng)絡(luò) (CrossNet);xDeepFM 引入了壓縮交互網(wǎng)絡(luò)。盡管如此,我們認(rèn)為它們?nèi)匀徊粔蛴行Ш惋@式地建模高階特征交互,因?yàn)闆](méi)有考慮特征之間的結(jié)構(gòu)性,只是簡(jiǎn)單地將所有特征進(jìn)行非結(jié)構(gòu)化組合,這樣會(huì)限制靈活模擬不同特征域之間復(fù)雜的相互作用。
2 圖神經(jīng)網(wǎng)絡(luò)研究現(xiàn)狀
圖是一種數(shù)據(jù)結(jié)構(gòu),它能夠建模節(jié)點(diǎn)及其節(jié)點(diǎn)之間的關(guān)系(邊)。近來(lái),利用機(jī)器學(xué)習(xí)分析圖的研究越來(lái)越受到關(guān)注。早期的工作通常是將圖結(jié)構(gòu)的數(shù)據(jù)轉(zhuǎn)換為序列結(jié)構(gòu)的數(shù)據(jù)來(lái)處理。受到 word2vec 的啟發(fā),Perozzi 等提出一種無(wú)監(jiān)督的 DeepWalk 算法,以基于隨機(jī)行走學(xué)習(xí)圖中的節(jié)點(diǎn)嵌入;Tang 等則提出一種網(wǎng)絡(luò)嵌入算法 LINE,該算法的特點(diǎn)是保留了一階和二階結(jié)構(gòu)信息;Grover 等提出 node2vec,它引入了一個(gè)有偏的隨機(jī)行走。然而,這些方法在計(jì)算上可能是昂貴的,在大型圖上難以進(jìn)行。
圖神經(jīng)網(wǎng)絡(luò) (GNN) 就是為了解決這些問(wèn)題而設(shè)計(jì)的,它是一種基于深度學(xué)習(xí)的在圖結(jié)構(gòu)數(shù)據(jù)上操作的方法。圖神經(jīng)網(wǎng)絡(luò)的概念最早由 Scarselli 等提出。一般來(lái)說(shuō),圖神經(jīng)網(wǎng)絡(luò)中的節(jié)點(diǎn)通過(guò)聚合鄰域的信息并更新其隱藏狀態(tài)來(lái)與鄰居進(jìn)行交互。一直以來(lái),圖神經(jīng)網(wǎng)絡(luò)的變種很多,各種各樣的聚合方式和更新方式被提出。例如,門(mén)控圖神經(jīng)網(wǎng)絡(luò)(GGNN)采用 GRU 來(lái)更新節(jié)點(diǎn)表達(dá);圖卷積網(wǎng)絡(luò) (GCN)考 慮 了 圖 的 頻 譜 結(jié) 構(gòu) 并 利 用 卷 積 聚 合 器;GraphSAGE 考慮了空域信息,引入了平均池化聚合器、LSTM 聚合器和 Pooling 聚合器三種聚合器;圖形注意力網(wǎng)絡(luò)(GAT)則結(jié)合了注意力機(jī)制。由于具有令人信服的性能和較高的可解釋性,圖神經(jīng)網(wǎng)絡(luò)逐漸成為一種應(yīng)用廣泛的圖結(jié)構(gòu)數(shù)據(jù)分析方法。最近,有很多利用圖神經(jīng)網(wǎng)絡(luò)的應(yīng)用,如神經(jīng)機(jī)器翻譯,語(yǔ)義分割、圖像分類(lèi)、情境識(shí)別、推薦系統(tǒng)、腳本事件預(yù)測(cè)和時(shí)尚分析等。圖神經(jīng)網(wǎng)絡(luò)適用于對(duì)圖結(jié)構(gòu)特征上的節(jié)點(diǎn)交互進(jìn)行內(nèi)在建模。因此本文將探索使用圖神經(jīng)網(wǎng)絡(luò)在圖結(jié)構(gòu)的特征上建模交互。
3 基于圖神經(jīng)網(wǎng)絡(luò)的特征交互建模
3.1 特征交互圖神經(jīng)網(wǎng)絡(luò)
特征交互圖神經(jīng)網(wǎng)絡(luò)(Fi-GNN)首次提出將具有多個(gè)特征域的特征表達(dá)成圖的結(jié)構(gòu),從而利用圖神經(jīng)網(wǎng)絡(luò)去捕捉不同特征之間的結(jié)構(gòu)關(guān)系,并提供很好的模型可解釋性。如圖 1 所示,F(xiàn)i-GNN 首先將輸入的包含多個(gè)類(lèi)別特征(特征域)的稀疏向量映射成稀疏的獨(dú)熱嵌入向量,然后通過(guò)嵌入層得到每個(gè)特征域獨(dú)有的嵌入向量。對(duì)于每個(gè)包含多個(gè)特征域的特征,我們將其表達(dá)成特征圖的形式。在此特征圖上,每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)特征域,不同的特征域可以通過(guò)它們之間的邊進(jìn)行交互。為了建模任意兩個(gè)特征域之間的交互,在此圖中任意兩個(gè)點(diǎn)(特征域)之間都有邊連接,換句話說(shuō),這是一個(gè)完全圖,因此可以將建模交互任務(wù)轉(zhuǎn)換為在特征圖上的建模節(jié)點(diǎn)交互。通過(guò)將特征圖輸入所提出的 FiGNN 中,對(duì)節(jié)點(diǎn)交互進(jìn)行建模。在 Fi-GNN 的輸出上應(yīng)用一個(gè)注意層來(lái)進(jìn)行預(yù)測(cè)。
我們采用的圖神經(jīng)網(wǎng)絡(luò)為 GGNN。每個(gè)點(diǎn)(特征)的向量會(huì)根據(jù)聚合得到鄰居的狀態(tài)和自己的狀態(tài),輸入到門(mén)控循環(huán)單元里進(jìn)行更新。在此基礎(chǔ)上還增加了殘差連接的設(shè)置,為了使高層表達(dá)也能記住底層信息。此外,為了靈活建模不同特征之間的通過(guò)邊交互,試圖給每個(gè)邊上賦予一個(gè)獨(dú)有的交互函數(shù)。我們的圖具有大量邊的完全圖,簡(jiǎn)單地為每條邊分配一個(gè)唯一的交互函數(shù)會(huì)消耗太多的參數(shù)空間和運(yùn)行時(shí)間。為了減少時(shí)間和空間的復(fù)雜性,同時(shí)實(shí)現(xiàn)靈活的建模方式,將交互函數(shù)進(jìn)行解耦。每條邊上的交互轉(zhuǎn)移矩陣分解為連接兩個(gè)點(diǎn)上的矩陣,因此邊規(guī)模的參數(shù)量被削減到點(diǎn)級(jí)別,大大地降低了參數(shù)量。
經(jīng)過(guò) K 次特征交互與更新后,可得到圖中每個(gè)節(jié)點(diǎn)(特征)的表達(dá)。由于節(jié)點(diǎn)與其 K 階內(nèi)的鄰居都進(jìn)行了交互,因此對(duì) K 階特征交互進(jìn)行建模,即捕捉了 K 階的組合特征。根據(jù)所有特征域的最終表達(dá),可以進(jìn)行預(yù)測(cè)。顯然,每個(gè)特征域節(jié)點(diǎn)的最終表達(dá)捕獲了其與所有 K階內(nèi)鄰居的交互。在這里分別對(duì)每個(gè)特征域的最終表達(dá)進(jìn)行預(yù)測(cè)評(píng)分,并使用一個(gè)注意力機(jī)制來(lái)衡量它們對(duì)整體預(yù)測(cè)的影響。
3.2 圖神經(jīng)網(wǎng)絡(luò)與因子分解機(jī)的結(jié)合
上面介紹了我們第一次嘗試用圖神經(jīng)網(wǎng)絡(luò)建模特征交互,盡管取得不錯(cuò)效果,但圖神經(jīng)網(wǎng)絡(luò)本身是設(shè)計(jì)用來(lái)解決節(jié)點(diǎn)分類(lèi)或者鏈接預(yù)測(cè)問(wèn)題,因此包含很多并不適合于建模特征交互的操作。此外,因?yàn)椴恢滥男┨卣鹘换?duì)預(yù)測(cè)有效,在 Fi-GNN 中我們建模所有對(duì)的特征交互,因此特征交互圖是全連接形式。然而在實(shí)際應(yīng)用中,并不是所有對(duì)特征交互都是有效的,有些特征交互反而會(huì)對(duì)效果產(chǎn)生影響。因此直接使用圖神經(jīng)網(wǎng)絡(luò)建模特征交互,從效率及效果上考慮可能都不是最佳選擇。
為了解決這兩類(lèi)方法各自的問(wèn)題,并同時(shí)利用它們的優(yōu)勢(shì),本節(jié)嘗試將因子分解機(jī)與圖神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,提出圖因子分解機(jī)(GraphFM)來(lái)高效顯式地建模高階特征交互。具體來(lái)講,同樣將多特征域的特征表達(dá)成圖的結(jié)構(gòu),然而我們?cè)O(shè)計(jì)的 GraphFM 可以篩選到有效融合的特征交互組合,通過(guò)結(jié)合因子分解機(jī)高效建模交互的功能,以及圖神經(jīng)網(wǎng)絡(luò)捕捉高階關(guān)系的功能,GraphFM 能夠有效地建模任意高階的特征交互。
如圖 2 所示, GraphFM 主要包含兩部分,特征交互選擇部分和特征交互聚合部分。前者將篩選出對(duì)最后預(yù)測(cè)的特征交互組合(特征交互圖中的邊);后者結(jié)合了因子分解機(jī)的特征交互組合建模方式,以及圖神經(jīng)網(wǎng)絡(luò)特征聚合方式,來(lái)聚合特征交互并更新特征表達(dá)。
在特征交互選擇部分的目的是選擇對(duì)最終預(yù)測(cè)有效的特征交互組合,這也可以看作是特征交互上的鏈接預(yù)測(cè)問(wèn)題,即預(yù)測(cè)兩個(gè)特征點(diǎn)之間是否有鏈接(交互)。然而,圖結(jié)構(gòu)是離散的,其中連接兩個(gè)節(jié)點(diǎn)的邊要么存在、要么不存在,這就使得該過(guò)程不可微分,因此不能直接采用基于梯度下降的優(yōu)化技術(shù)進(jìn)行優(yōu)化。為了克服這一局限性,我們用加權(quán)邊集合代替二元邊集,每條邊的權(quán)重即為其存在的概率,這也反映了它所連接兩個(gè)特征之間的交互對(duì)最終預(yù)測(cè)的有利程度。需要注意的是,我們?cè)诿繉訉W(xué)習(xí)都不同的圖結(jié)構(gòu)。通過(guò)這種方式,在列舉有益的高階特征交互時(shí)有更高的效率和靈活性,這樣的圖結(jié)構(gòu)連續(xù)建??梢詫?shí)現(xiàn)梯度的反向傳播。值得一提的是,由于不知道真正的圖結(jié)構(gòu),即哪些特征交互是對(duì)最終預(yù)測(cè)有益的,我們的梯度來(lái)自于模型輸出與目標(biāo)之間的誤差。直觀地講,將每對(duì)特征嵌入的元素乘積視為一個(gè)項(xiàng),并使用 MLP 估計(jì)其得分;也可以選擇歐氏距離或其他距離度量。根據(jù)估計(jì)的邊存在概率,可以采樣一個(gè) m 度圖,即每個(gè)點(diǎn)有 m 個(gè)鄰居。具體來(lái)講,對(duì)于每個(gè)點(diǎn),我們采樣與其連接的擁有最高 m 個(gè)概率的邊,保留這 m 個(gè)特征,掩蓋其他特征。
在特征交互聚合部分,由于已經(jīng)選擇了有效的特征交互,或者換句話說(shuō),學(xué)習(xí)了圖結(jié)構(gòu),就可以執(zhí)行特征交互(鄰域)聚合操作來(lái)更新特征表示。對(duì)于一個(gè)目標(biāo)特征節(jié)點(diǎn),當(dāng)聚合其與鄰居的有效交互時(shí),我們還會(huì)計(jì)算每個(gè)交互的注意力系數(shù)。這表明任意兩個(gè)特征之間相互作用的重要性。為了使系數(shù)在不同的特征節(jié)點(diǎn)之間容易比較,使用 softmax 函數(shù)對(duì)所有選擇進(jìn)行歸一化。為了捕捉不同語(yǔ)義子空間中特征交互的多義性,同時(shí)穩(wěn)定學(xué)習(xí)過(guò)程,擴(kuò)展了本機(jī)制——采用多頭注意力機(jī)制。具體來(lái)說(shuō),有多個(gè)獨(dú)立的注意力機(jī)制執(zhí)行特征更新,然后將這些更新特征進(jìn)行拼接,得到最終的輸出特征表示。
4 實(shí)驗(yàn)
4.1 實(shí)驗(yàn)設(shè)置
在三個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。Criteo 是一個(gè)著名的 CTR 預(yù)測(cè)行業(yè)基準(zhǔn)數(shù)據(jù)集,在展示廣告的 39 個(gè)匿名特征域中,有超過(guò) 4 500 萬(wàn)用戶點(diǎn)擊記錄。給定用戶和其正在訪問(wèn)的頁(yè)面,我們的目標(biāo)是為了預(yù)測(cè)他點(diǎn)擊給定廣告的概率。Avazu 數(shù)據(jù)集包含用戶對(duì)顯示在移動(dòng)設(shè)備廣告上的廣告點(diǎn)擊行為。擁有 23 個(gè)匿名特征域,包括用戶 / 設(shè)備功能和廣告屬性。MovielLens-1M 數(shù)據(jù)集包含了用戶對(duì)電影的評(píng)分,共包含 7個(gè)類(lèi)別特征。對(duì)于前兩個(gè)數(shù)據(jù)集,分別刪除出現(xiàn)次數(shù)少于 10 次和 5 次的特征,并將它們視為單個(gè)特征<未知 >。將所有樣本隨機(jī)分成 8:1:1 進(jìn)行訓(xùn)練、 驗(yàn)證和測(cè)試。選擇兩個(gè)評(píng)價(jià)指標(biāo)AUC (Area Under the ROC curve) 和 Logloss(交叉熵 ), AUC 衡量一個(gè)正樣本的打分高于隨機(jī)選擇負(fù)樣本的概率,越高的 AUC 表示性能越好;Logloss 測(cè)量每個(gè)實(shí)例預(yù)測(cè)分?jǐn)?shù)和真實(shí)標(biāo)簽之間的距離,越低的 Logloss 表示性能越好。
4.2 實(shí)驗(yàn)結(jié)果
表 1 展示了不同方法在 3 個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果??梢钥吹?,本文提出的兩個(gè)基于圖結(jié)構(gòu)方法 Fi-GNN 和 GraphFM 取得了次優(yōu)和最優(yōu)效果。這說(shuō)明了考慮特征中隱含的結(jié)構(gòu)性,以及所提的基于圖神經(jīng)網(wǎng)絡(luò)的特征交互建模方法的有效性。而 GraphFM 在 Fi-GNN 的基礎(chǔ)上又取得了很大的效果提升,這說(shuō)明我們提出的將圖神經(jīng)網(wǎng)絡(luò)與因子分解機(jī)結(jié)合確實(shí)能夠結(jié)合兩者優(yōu)點(diǎn),并解決兩者各自缺點(diǎn)。在 Criteo 數(shù)據(jù)集和Avazu數(shù)據(jù)集上兩個(gè)模型均取得較大提升。在 MovieLens-1M 數(shù)據(jù)集上取得巨大提升,這可能是由于 MovieLens-1m 數(shù)據(jù)集的特征域較少,從而圖的規(guī)模較小。因此可以更加有分辨性的建模,不用特征之間的交互。
5 結(jié)束語(yǔ)
本文介紹了基于圖神經(jīng)網(wǎng)絡(luò)模型的特征交互建模方法。首先闡述了特征交互的研究意義及研究現(xiàn)狀 ; 然后梳理了圖神經(jīng)網(wǎng)絡(luò)的發(fā)展歷程 ; 接著詳細(xì)介紹了基于圖神經(jīng)網(wǎng)絡(luò)的特征交互建模方法。本文介紹了兩個(gè)工作,第一個(gè)工作是第一次提出考慮特征之間的結(jié)構(gòu),并把特征表達(dá)成圖結(jié)構(gòu)使用圖神經(jīng)網(wǎng)絡(luò)來(lái)建模特征交互;第二個(gè)工作是在此基礎(chǔ)上,提出通過(guò)將圖神經(jīng)網(wǎng)絡(luò)與因子分解機(jī)結(jié)合,并結(jié)合各自的優(yōu)勢(shì),解決各自存在的問(wèn)題,所提方法能夠更有效、更顯式地在圖結(jié)構(gòu)特征上建模特征交互。實(shí)驗(yàn)結(jié)果表明,相比現(xiàn)有方法,所提出兩個(gè)基于圖神經(jīng)網(wǎng)絡(luò)的特征交互算法可以帶來(lái)顯著的性能提升。立足于本文當(dāng)前的研究成果,將來(lái)的工作重心在于探索所提方法是否也能在圖表示學(xué)習(xí)的任務(wù)上取得更好效果,例如節(jié)點(diǎn)分類(lèi)和鏈接預(yù)測(cè)。