版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

基于圖神經(jīng)網(wǎng)絡(luò)模型的特征交互建模

中國人工智能學(xué)會(huì)
原創(chuàng)
我國智能科學(xué)技術(shù)領(lǐng)域唯一的國家級學(xué)會(huì)
收藏

摘 要

預(yù)測分析是網(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ò)模型來顯式高效的建模特征交互。

關(guān)鍵字

預(yù)測分析;特征交互建模;圖結(jié)構(gòu)

預(yù)測分析是機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘的一項(xiàng)基本任務(wù)。給定特征作為輸入,目標(biāo)是推斷出預(yù)測目標(biāo)的函數(shù)(如回歸的實(shí)值、分類的分類標(biāo)簽等),對于許多網(wǎng)絡(luò)應(yīng)用,如在線廣告和推薦系統(tǒng)尤為關(guān)鍵。區(qū)別于圖像和音頻中自然可以找到的連續(xù)特征,網(wǎng)絡(luò)應(yīng)用的特征大多是稀疏和分類的,在對這些特征進(jìn)行預(yù)測分析時(shí),必須考慮到它們之間的交互作用。例如,預(yù)測用戶對電影的偏好,給定五個(gè)分類變量的特征:① 語言 = { 英語,中文,日語,…};② 類型={ 動(dòng)作,小說,…};③ 導(dǎo)演 = { 李安,克里斯托弗● 諾蘭,…}; ④ 主演 = { 布魯斯● 李,萊昂納多●迪卡普里奧,…};⑤ 發(fā)行時(shí)間 = {1995,2005,…}。對于模型來說,捕捉信息量大的特征組合 / 特征交互很重要。例如,3 階特征組合(類型 = 小說,導(dǎo)演 = 克里斯托弗●諾蘭,主演= 萊昂納多●迪卡普里奧)或(語言 = 中文,類型 = 動(dòng)作,主演 = 李小龍)可能會(huì)推斷出更高的用戶偏好。本文將介紹如何挖掘和建模有效的特征組合/ 特征交互。首先將梳理和分析當(dāng)前的特征交互建模研究現(xiàn)狀,以及圖神經(jīng)網(wǎng)絡(luò)的發(fā)展;最后介紹如果通過將特征建模成圖的結(jié)構(gòu),從而使用圖神經(jīng)網(wǎng)絡(luò)進(jìn)行高效顯式的特征交互建模。

1 特征交互的研究現(xiàn)狀

1.1 二階特征交互

因子分解機(jī)(FM)是一種有效且流行的方法,用于對此類特征交互進(jìn)行建模。FM 的關(guān)鍵思想是學(xué)習(xí)每個(gè)獨(dú)熱編碼特征的嵌入向量,然后通過各自向量的內(nèi)積對每個(gè)特征對的二階交互作用進(jìn)行建模。由于簡單有效,F(xiàn)M 在推薦系統(tǒng)和廣告點(diǎn)擊率預(yù)測方面許多工作中得到了廣泛應(yīng)用,人們也相繼提出了不同的 FM 變體。特征域感知因子分解機(jī)(FFM)考慮了不同特征域的信息,并引入了域感知嵌入表達(dá)。AFM 引入注意力機(jī)制來衡量不同二階特征交互的權(quán)重。然而,這些方法只能對二階交互作用進(jìn)行建模。

1.2 高階特征交互

最近,許多基于深度神經(jīng)網(wǎng)絡(luò)的模型被提出來學(xué)習(xí)高階特征交互,這些模型遵循了統(tǒng)一的范式:將不同特征的嵌入向量拼接在一起,并將其輸入到深度神經(jīng)網(wǎng)絡(luò)(DNN)或其他專門設(shè)計(jì)的深度模型中,以學(xué)習(xí)高階特征交互。例如,F(xiàn)NN、NFM、Wide&Deep 和 DeepFM 等模型都是利用 DNN 來建模高階特征交互。然而,這些基于 DNN 的模型只能在位級別上,以隱式的方式建模交互,缺乏良好的模型解釋。一些模型試圖學(xué)習(xí)高階的相互作用明確地通過引入專門設(shè)計(jì)的網(wǎng)絡(luò)。例如,Deep&Cross 引入了交叉網(wǎng)絡(luò) (CrossNet);xDeepFM 引入了壓縮交互網(wǎng)絡(luò)。盡管如此,我們認(rèn)為它們?nèi)匀徊粔蛴行Ш惋@式地建模高階特征交互,因?yàn)闆]有考慮特征之間的結(jié)構(gòu)性,只是簡單地將所有特征進(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)系(邊)。近來,利用機(jī)器學(xué)習(xí)分析圖的研究越來越受到關(guān)注。早期的工作通常是將圖結(jié)構(gòu)的數(shù)據(jù)轉(zhuǎn)換為序列結(jié)構(gòu)的數(shù)據(jù)來處理。受到 word2vec 的啟發(fā),Perozzi 等提出一種無監(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) 就是為了解決這些問題而設(shè)計(jì)的,它是一種基于深度學(xué)習(xí)的在圖結(jié)構(gòu)數(shù)據(jù)上操作的方法。圖神經(jīng)網(wǎng)絡(luò)的概念最早由 Scarselli 等提出。一般來說,圖神經(jīng)網(wǎng)絡(luò)中的節(jié)點(diǎn)通過聚合鄰域的信息并更新其隱藏狀態(tài)來與鄰居進(jìn)行交互。一直以來,圖神經(jīng)網(wǎng)絡(luò)的變種很多,各種各樣的聚合方式和更新方式被提出。例如,門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)采用 GRU 來更新節(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ī)器翻譯,語義分割、圖像分類、情境識別、推薦系統(tǒng)、腳本事件預(yù)測和時(shí)尚分析等。圖神經(jīng)網(wǎng)絡(luò)適用于對圖結(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è)類別特征(特征域)的稀疏向量映射成稀疏的獨(dú)熱嵌入向量,然后通過嵌入層得到每個(gè)特征域獨(dú)有的嵌入向量。對于每個(gè)包含多個(gè)特征域的特征,我們將其表達(dá)成特征圖的形式。在此特征圖上,每個(gè)節(jié)點(diǎn)對應(yīng)一個(gè)特征域,不同的特征域可以通過它們之間的邊進(jìn)行交互。為了建模任意兩個(gè)特征域之間的交互,在此圖中任意兩個(gè)點(diǎn)(特征域)之間都有邊連接,換句話說,這是一個(gè)完全圖,因此可以將建模交互任務(wù)轉(zhuǎn)換為在特征圖上的建模節(jié)點(diǎn)交互。通過將特征圖輸入所提出的 FiGNN 中,對節(jié)點(diǎn)交互進(jìn)行建模。在 Fi-GNN 的輸出上應(yīng)用一個(gè)注意層來進(jìn)行預(yù)測。

我們采用的圖神經(jīng)網(wǎng)絡(luò)為 GGNN。每個(gè)點(diǎn)(特征)的向量會(huì)根據(jù)聚合得到鄰居的狀態(tài)和自己的狀態(tài),輸入到門控循環(huán)單元里進(jìn)行更新。在此基礎(chǔ)上還增加了殘差連接的設(shè)置,為了使高層表達(dá)也能記住底層信息。此外,為了靈活建模不同特征之間的通過邊交互,試圖給每個(gè)邊上賦予一個(gè)獨(dú)有的交互函數(shù)。我們的圖具有大量邊的完全圖,簡單地為每條邊分配一個(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)級別,大大地降低了參數(shù)量。

經(jīng)過 K 次特征交互與更新后,可得到圖中每個(gè)節(jié)點(diǎn)(特征)的表達(dá)。由于節(jié)點(diǎn)與其 K 階內(nèi)的鄰居都進(jìn)行了交互,因此對 K 階特征交互進(jìn)行建模,即捕捉了 K 階的組合特征。根據(jù)所有特征域的最終表達(dá),可以進(jìn)行預(yù)測。顯然,每個(gè)特征域節(jié)點(diǎn)的最終表達(dá)捕獲了其與所有 K階內(nèi)鄰居的交互。在這里分別對每個(gè)特征域的最終表達(dá)進(jìn)行預(yù)測評分,并使用一個(gè)注意力機(jī)制來衡量它們對整體預(yù)測的影響。

3.2 圖神經(jīng)網(wǎng)絡(luò)與因子分解機(jī)的結(jié)合

上面介紹了我們第一次嘗試用圖神經(jīng)網(wǎng)絡(luò)建模特征交互,盡管取得不錯(cuò)效果,但圖神經(jīng)網(wǎng)絡(luò)本身是設(shè)計(jì)用來解決節(jié)點(diǎn)分類或者鏈接預(yù)測問題,因此包含很多并不適合于建模特征交互的操作。此外,因?yàn)椴恢滥男┨卣鹘换︻A(yù)測有效,在 Fi-GNN 中我們建模所有對的特征交互,因此特征交互圖是全連接形式。然而在實(shí)際應(yīng)用中,并不是所有對特征交互都是有效的,有些特征交互反而會(huì)對效果產(chǎn)生影響。因此直接使用圖神經(jīng)網(wǎng)絡(luò)建模特征交互,從效率及效果上考慮可能都不是最佳選擇。

為了解決這兩類方法各自的問題,并同時(shí)利用它們的優(yōu)勢,本節(jié)嘗試將因子分解機(jī)與圖神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,提出圖因子分解機(jī)(GraphFM)來高效顯式地建模高階特征交互。具體來講,同樣將多特征域的特征表達(dá)成圖的結(jié)構(gòu),然而我們設(shè)計(jì)的 GraphFM 可以篩選到有效融合的特征交互組合,通過結(jié)合因子分解機(jī)高效建模交互的功能,以及圖神經(jīng)網(wǎng)絡(luò)捕捉高階關(guān)系的功能,GraphFM 能夠有效地建模任意高階的特征交互。

如圖 2 所示, GraphFM 主要包含兩部分,特征交互選擇部分和特征交互聚合部分。前者將篩選出對最后預(yù)測的特征交互組合(特征交互圖中的邊);后者結(jié)合了因子分解機(jī)的特征交互組合建模方式,以及圖神經(jīng)網(wǎng)絡(luò)特征聚合方式,來聚合特征交互并更新特征表達(dá)。

在特征交互選擇部分的目的是選擇對最終預(yù)測有效的特征交互組合,這也可以看作是特征交互上的鏈接預(yù)測問題,即預(yù)測兩個(gè)特征點(diǎn)之間是否有鏈接(交互)。然而,圖結(jié)構(gòu)是離散的,其中連接兩個(gè)節(jié)點(diǎn)的邊要么存在、要么不存在,這就使得該過程不可微分,因此不能直接采用基于梯度下降的優(yōu)化技術(shù)進(jìn)行優(yōu)化。為了克服這一局限性,我們用加權(quán)邊集合代替二元邊集,每條邊的權(quán)重即為其存在的概率,這也反映了它所連接兩個(gè)特征之間的交互對最終預(yù)測的有利程度。需要注意的是,我們在每層學(xué)習(xí)都不同的圖結(jié)構(gòu)。通過這種方式,在列舉有益的高階特征交互時(shí)有更高的效率和靈活性,這樣的圖結(jié)構(gòu)連續(xù)建??梢詫?shí)現(xiàn)梯度的反向傳播。值得一提的是,由于不知道真正的圖結(jié)構(gòu),即哪些特征交互是對最終預(yù)測有益的,我們的梯度來自于模型輸出與目標(biāo)之間的誤差。直觀地講,將每對特征嵌入的元素乘積視為一個(gè)項(xiàng),并使用 MLP 估計(jì)其得分;也可以選擇歐氏距離或其他距離度量。根據(jù)估計(jì)的邊存在概率,可以采樣一個(gè) m 度圖,即每個(gè)點(diǎn)有 m 個(gè)鄰居。具體來講,對于每個(gè)點(diǎn),我們采樣與其連接的擁有最高 m 個(gè)概率的邊,保留這 m 個(gè)特征,掩蓋其他特征。

在特征交互聚合部分,由于已經(jīng)選擇了有效的特征交互,或者換句話說,學(xué)習(xí)了圖結(jié)構(gòu),就可以執(zhí)行特征交互(鄰域)聚合操作來更新特征表示。對于一個(gè)目標(biāo)特征節(jié)點(diǎn),當(dāng)聚合其與鄰居的有效交互時(shí),我們還會(huì)計(jì)算每個(gè)交互的注意力系數(shù)。這表明任意兩個(gè)特征之間相互作用的重要性。為了使系數(shù)在不同的特征節(jié)點(diǎn)之間容易比較,使用 softmax 函數(shù)對所有選擇進(jìn)行歸一化。為了捕捉不同語義子空間中特征交互的多義性,同時(shí)穩(wěn)定學(xué)習(xí)過程,擴(kuò)展了本機(jī)制——采用多頭注意力機(jī)制。具體來說,有多個(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ù)測行業(yè)基準(zhǔn)數(shù)據(jù)集,在展示廣告的 39 個(gè)匿名特征域中,有超過 4 500 萬用戶點(diǎn)擊記錄。給定用戶和其正在訪問的頁面,我們的目標(biāo)是為了預(yù)測他點(diǎn)擊給定廣告的概率。Avazu 數(shù)據(jù)集包含用戶對顯示在移動(dòng)設(shè)備廣告上的廣告點(diǎn)擊行為。擁有 23 個(gè)匿名特征域,包括用戶 / 設(shè)備功能和廣告屬性。MovielLens-1M 數(shù)據(jù)集包含了用戶對電影的評分,共包含 7個(gè)類別特征。對于前兩個(gè)數(shù)據(jù)集,分別刪除出現(xiàn)次數(shù)少于 10 次和 5 次的特征,并將它們視為單個(gè)特征<未知 >。將所有樣本隨機(jī)分成 8:1:1 進(jìn)行訓(xùn)練、 驗(yàn)證和測試。選擇兩個(gè)評價(jià)指標(biāo)AUC (Area Under the ROC curve) 和 Logloss(交叉熵 ), AUC 衡量一個(gè)正樣本的打分高于隨機(jī)選擇負(fù)樣本的概率,越高的 AUC 表示性能越好;Logloss 測量每個(gè)實(shí)例預(yù)測分?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)效果。這說明了考慮特征中隱含的結(jié)構(gòu)性,以及所提的基于圖神經(jīng)網(wǎng)絡(luò)的特征交互建模方法的有效性。而 GraphFM 在 Fi-GNN 的基礎(chǔ)上又取得了很大的效果提升,這說明我們提出的將圖神經(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é)束語

本文介紹了基于圖神經(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ò)來建模特征交互;第二個(gè)工作是在此基礎(chǔ)上,提出通過將圖神經(jīng)網(wǎng)絡(luò)與因子分解機(jī)結(jié)合,并結(jié)合各自的優(yōu)勢,解決各自存在的問題,所提方法能夠更有效、更顯式地在圖結(jié)構(gòu)特征上建模特征交互。實(shí)驗(yàn)結(jié)果表明,相比現(xiàn)有方法,所提出兩個(gè)基于圖神經(jīng)網(wǎng)絡(luò)的特征交互算法可以帶來顯著的性能提升。立足于本文當(dāng)前的研究成果,將來的工作重心在于探索所提方法是否也能在圖表示學(xué)習(xí)的任務(wù)上取得更好效果,例如節(jié)點(diǎn)分類和鏈接預(yù)測。

評論
劉海飛123
少師級
預(yù)測分析是網(wǎng)絡(luò)應(yīng)用中的一項(xiàng)重要任務(wù),在推薦系統(tǒng)和在線廣告等應(yīng)用上發(fā)揮著巨大作用。
2022-06-20
十方明亮
貢生級
預(yù)測分析是網(wǎng)絡(luò)應(yīng)用中的一項(xiàng)重要任務(wù),在推薦系統(tǒng)和在線廣告等應(yīng)用上發(fā)揮著巨大作用。
2022-06-21
薔薇紫陌@
進(jìn)士級
預(yù)測分析是網(wǎng)絡(luò)應(yīng)用中的一項(xiàng)重要任務(wù),在推薦系統(tǒng)和在線廣告等應(yīng)用上發(fā)揮著巨大作用。
2022-06-20