2W字長文 | 漫談工業(yè)界圖神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng)(4)
3. 論文介紹
3.1 Graph Convolutional Neural Networks for Web-Scale Recommender Systems[46] [PinSage],KDD 2018,Pinterest
問題背景:現(xiàn)有的GNN難以在大規(guī)模圖數(shù)據(jù)場景落地 業(yè)務(wù)場景:i2i Top N推薦(似乎因為場景復(fù)雜性低的問題,這里并沒有進(jìn)一步分召回排序)
圖的構(gòu)建:Pin-Board二分圖,Pin是照片,Board類似收藏夾
特征使用:Pin包含了圖像特征和文本特征,Board本身沒有特征,而是通過Average Pooling對應(yīng)的Pin們得到
采樣方法:Node-Wise Random Walk Sampling,使用個性化PageRank采樣鄰居,得分既可以用來加權(quán)聚合鄰居,也可以用來構(gòu)造Hard Sample。
Model Architecture:使用采樣時的得分加權(quán)聚合鄰居
Pinsage
Max-Margin Loss
User在某個Pin下點(diǎn)擊的Pin構(gòu)成一對正例,然后從其他Pin中隨機(jī)采樣一部分作為Easy Negative,采樣時得分位于某個范圍的Pin鄰居作為Hard Negative。Easy Sample往往很好區(qū)分,模型無法從中學(xué)習(xí)到有效信息,而Hard Negative則可以迫使模型學(xué)得更好,但是也容易導(dǎo)致收斂困難,因此可以在起初幾個Epoch只使用Easy Sample,然后再逐步加入Hard Sample
3.2 Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation[41] [MEIRec],KDD 2019,阿里
問題背景:當(dāng)前的方法沒有充分利用關(guān)聯(lián)信息,作者利用異構(gòu)圖和相應(yīng)模型來建模學(xué)習(xí);通過Term Embedding共享的方法來降低學(xué)習(xí)量。
業(yè)務(wù)場景:底紋推薦排序階段
圖的構(gòu)建:群體用戶行為數(shù)據(jù)構(gòu)建的Query-Item-User異構(gòu)圖,目標(biāo)是學(xué)習(xí)User和Query的Embedding。特征使用:
Query和Item的Title共享Term Embedding,降低了需要學(xué)習(xí)的參數(shù)量,同時可以適應(yīng)新的Query和Item
User的embedding通過Q-I-U、I-Q-U兩條Meta-Path對應(yīng)的鄰居聚合得到
User Profile等靜態(tài)特征最后與GNN得到的Embedding Concat后輸入MLP
采樣方法:Node-Wise Meta-Path隨機(jī)采樣
模型結(jié)構(gòu):主要是對于不同類型的鄰居采用了不同的Aggregator
對于Item的Query鄰居采用Mean Aggregator
對于User的Item和Query鄰居采用LSTM Aggregator,考慮到了User對Item和Query的行為是有時序的
對于Query的鄰居Item和User采用了CNN Aggregator
MEIRec
3.3 IntentGC:a Scalable Graph Convolution Framework Fusing Heterogeneous Information for Recommendation[45] [IntentGC],KDD 2019,阿里
問題背景:已有的工作大多利用社交網(wǎng)絡(luò)或共現(xiàn)關(guān)聯(lián)分別為User-Item二分圖中的Users和Items擴(kuò)充內(nèi)部連接,卻忽略了屬性關(guān)聯(lián)這一類豐富的信息。
業(yè)務(wù)場景:廣告推薦召回階段
圖的構(gòu)建:群體用戶行為數(shù)據(jù)+屬性數(shù)據(jù)構(gòu)建以User和Item為主體的異構(gòu)圖,接著通過User-Property-User和Item-Property-Item構(gòu)建User-Item異構(gòu)圖,屬性結(jié)點(diǎn)的類型決定了構(gòu)建的邊的類型。
特征使用:雙塔結(jié)構(gòu),可以用多種特征(不存在特征對齊的問題)
采樣方法:先采樣一些User-Item Pairs(包括負(fù)樣本)作為mini-batch,然后對這些User和Item分別Node-Wise Sampling同構(gòu)鄰居。Faster Convolutional Network: IntentNet
Vector-wise convolution operation
公式(2)有兩個作用,一是以不同的重要性融合自身和鄰居信息,二是concat后的各維度間的特征交叉,作者認(rèn)為自身Embedding和鄰居Embedding之間的特征交叉沒有意義,內(nèi)部的特征交叉才是有意義的
公式(3)對公式(2)進(jìn)行了簡化(時間復(fù)雜度和模型參數(shù)量都有所降低),在vector-wise的層次以不同重要性融合自身和鄰居信息,并且通過多組融合操作得到不同角度的信息(類似多個不同的卷積核),最終再進(jìn)行一次加權(quán)融合。
IntentNet:再經(jīng)過一個多層MLP進(jìn)行特征交叉 Heterogeneous relationships:將Vector-wise convolution operation推廣到了存在多種類型關(guān)系的情形,對不同類型關(guān)系對應(yīng)的鄰居分別聚合然后對得到的鄰域表征再加權(quán)融合
Dual Graph Convolution in HIN:對于User-User和Item-Item分別應(yīng)用上述模型(雙塔結(jié)構(gòu)),最終得到User和Item Embedding做點(diǎn)積,使用Pair-Wise Margin Loss訓(xùn)練。
3.4 A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce[44] [DHGAT],KDD 2020,阿里
問題背景:shop name和query的語義存在gap,很多時候shop name并不能表明含義;shop search場景的行為數(shù)據(jù)比較稀疏,特別是對于長尾的Query和Shop效果不佳
業(yè)務(wù)場景:shop搜索召回階段
圖的構(gòu)建:長期群體用戶行為數(shù)據(jù)構(gòu)建的shop-query-item異構(gòu)圖
Homogeneous Neighbors
對于Query,某個用戶同一個Session內(nèi)的Query之間構(gòu)成鄰居;引導(dǎo)點(diǎn)擊同一個Shop的Query之間構(gòu)成鄰居
對于Shop,同一個Query下點(diǎn)擊的Shop之間構(gòu)成鄰居
Heterogeneous Neighbors
Query下點(diǎn)擊的Shop,它們之間構(gòu)成鄰居(但是這種關(guān)系是非常稀疏的)
某個shop提供的item在某個query下被成交過,則該shop和query構(gòu)成鄰居(本質(zhì)上是二階鄰居,該關(guān)系相對豐富)
shop提供的item,query下點(diǎn)擊的item,它們之間構(gòu)成鄰居
特征使用:
DHGAT部分用的是Query、Shop、Item的ID特征
TKPS部分用的是Query、Shop、Item的Term特征
采樣方法:Node-Wise Sampling,對于Shop和Query,分別采樣N個Homogeneous和Heterogeneous鄰居,即2N個鄰居(防止熱門shop或query的影響)。
Dual Heterogeneous Graph Attention Network:
先對同構(gòu)鄰居和異構(gòu)鄰居分別Attention Pooling,然后再對不同類型的鄰域Embedding加權(quán)融合,最后再與自身Embedding進(jìn)行concat融合
在對異構(gòu)鄰居進(jìn)行聚合時使用heterogeneous neighbor transformation matrix建模異構(gòu)性
這里item不作為target node,最終需要的是query和shop的embedding
Transferring Knowledge from Product Search:利用行為數(shù)據(jù)相對豐富的product search場景的數(shù)據(jù)促進(jìn)對shop search場景的學(xué)習(xí)
這里使用的是query,item和shop的terms mean pooling特征
由于quey和shop name語義的模糊性,聚合時不適合用Attention pooling,而是直接使用mean pooling
最后同樣融合自身表征
Incorporating User Features:用戶自身的特點(diǎn)也會影響偏好,預(yù)測用戶在某query下是否會點(diǎn)擊某shop需要考慮該信息 Two-tower Architecture:對shop和query embedding的學(xué)習(xí)可以并行進(jìn)行,線下訓(xùn)練時可以存下user,query和shop embedding,其中shop embedding存的是最后一層的輸出(線上不可能再將所有的shop過一遍右塔),線上打分時獲取到user和query embedding,然后需要經(jīng)過左側(cè)的塔得到一個融合的embedding(這個過程只需要進(jìn)行一次,其線上開銷是可以接受的),接著通過LSH等方法召回相關(guān)的shop
Objective and Model Training
使用交叉熵?fù)p失訓(xùn)練CTR預(yù)估任務(wù),不過值得注意的是召回階段負(fù)樣本的選擇,不能是曝光未點(diǎn)擊的作為負(fù)樣本
CTR Loss可能會導(dǎo)致不能充分學(xué)習(xí)到圖的拓?fù)湫畔?,這里又進(jìn)一步加了graph loss,從loss角度促進(jìn)同構(gòu)鄰居更相似
3.5 M2GRL: A Multi-task Multi-view Graph Representation Learning Framework for Web-scale Recommender Systems[52] [M2GRL],KDD 2020,阿里
問題背景:單個向量表達(dá)Multi-View(多種特征空間)信息可能會存在兩點(diǎn)問題,容量不足以及分布不同
業(yè)務(wù)場景:商品推薦召回階段
圖的構(gòu)建:文中沒有具體談到,應(yīng)該是群體行為數(shù)據(jù)構(gòu)建的多個Single-View同構(gòu)圖。但是值得注意的是,本文具體實現(xiàn)時并沒有用圖結(jié)構(gòu),而是類似Item2Vec的方法直接對行為序列用skip-gram建模。本文構(gòu)建了三個Single-View圖,基于Item本身構(gòu)建的圖,基于Item Shop構(gòu)建的圖,基于Item-Category構(gòu)建的圖
Node sequence sampling:用于下文的Skip-Gram方法,通過Session劃分盡量保持滑動窗口內(nèi)Item的同構(gòu)性
Data Clean:去掉停留時間比較短的Item,用戶可能是誤點(diǎn)并不感興趣
Session split and merge:用戶打開和關(guān)閉淘寶的時間段作為一個Session,對于時間較長的Session(幾個小時,可能是后臺運(yùn)行)進(jìn)一步拆分,對于時間較短(小于30分鐘)的兩個連續(xù)的Session進(jìn)行合并 Intra-view Representation Learning:隨機(jī)采樣上文劃分后的Session序列,然后使用Skip-Gram方法訓(xùn)練。
Inter-view Alignment:不同View的信息存在關(guān)聯(lián),例如,某個Item屬于某類Category或者某個Shop,這里進(jìn)一步學(xué)習(xí)該關(guān)聯(lián)使得相關(guān)的Item-Category或者Item-Shop的Embedding更加接近,使用了一個變換矩陣期望將不同View的Embedding映射到同一個特征空間。
Learning Task Weights with HomoscedasticUncertainty:考慮到許多任務(wù)聯(lián)合訓(xùn)練,人工設(shè)置加權(quán)Loss不太現(xiàn)實,這里利用homoscedastic uncertainty來自動學(xué)習(xí)不同任務(wù)的重要性,最終不確定性越大(可學(xué)習(xí)的參數(shù))的任務(wù)權(quán)重越低。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。