SIGIR 2021 | 推荐系统中的自监督图表征学习
?PaperWeekly 原創(chuàng) · 作者 |?吳劍燦
學(xué)校 |?中國科學(xué)技術(shù)大學(xué)博士生
研究方向?|?信息檢索
摘要
推薦系統(tǒng)中用戶-物品交互圖上的表征學(xué)習(xí)(Representation Learning)已經(jīng)從使用單個(gè) ID 或歷史交互行為發(fā)展到利用交互圖上的高階鄰域信息,催生了諸如 PinSage 和 LightGCN 等圖卷積網(wǎng)絡(luò)(Graph Neural Networks)。
雖然它們?nèi)〉昧瞬诲e(cuò)的性能提升,但我們認(rèn)為這些模型存在如下局限性:(1)高度結(jié)點(diǎn)對(duì)表征學(xué)習(xí)的影響更大,從而降低了低度(長尾)物品的推薦效果;(2)鄰居聚合方案進(jìn)一步擴(kuò)大了觀測到的連邊的影響,使得表征學(xué)習(xí)容易受到噪聲交互的干擾。
在這個(gè)工作中,我們探索在用戶-物品交互圖上的自監(jiān)督學(xué)習(xí)以改善基于 GCN 的推薦模型的準(zhǔn)確性和魯棒性。其思想是在經(jīng)典的有監(jiān)督推薦任務(wù)的基礎(chǔ)上增加一個(gè)輔助的自監(jiān)督學(xué)習(xí)任務(wù),通過自我鑒別的方式來增強(qiáng)結(jié)點(diǎn)的表征學(xué)習(xí)。我們將這種新的學(xué)習(xí)范式稱為自監(jiān)督圖學(xué)習(xí)(SGL)。
通過理論分析,我們發(fā)現(xiàn) SGL 具有主動(dòng)挖掘難負(fù)樣本(Hard Negatives)的能力。在三個(gè)基準(zhǔn)數(shù)據(jù)集的測試表明SGL可以提高推薦的準(zhǔn)確性,尤其是長尾物品的推薦精度,而且對(duì)噪聲交互具有更強(qiáng)的魯棒性。
論文標(biāo)題:
Self-supervised Graph Learning for Recommendation
論文作者:
吳劍燦(中國科學(xué)技術(shù)大學(xué)),王翔(新加坡國立大學(xué)),馮福利(新加坡國立大學(xué)),何向南(中國科學(xué)技術(shù)大學(xué)),陳亮(中山大學(xué)),練建勛(微軟亞洲研究院),謝幸(微軟亞洲研究院)
收錄會(huì)議:
SIGIR 2021
論文鏈接:
https://arxiv.org/abs/2010.10783
代碼鏈接:
https://github.com/wujcan/SGL
?
研究背景
從交互數(shù)據(jù)中學(xué)習(xí)高質(zhì)量的用戶和物品表征是協(xié)同過濾的核心。早期的工作如矩陣分解模型(MF)將每個(gè)用戶(或物品)的 ID 映射為一個(gè) embedding 向量來進(jìn)行學(xué)習(xí)。后續(xù)的研究則考慮引入歷史交互行為來豐富單一的 ID 信息,以便更好地進(jìn)行表征學(xué)習(xí)。
最近,受到圖卷積網(wǎng)絡(luò)的啟發(fā),推薦系統(tǒng)中的表征學(xué)習(xí)發(fā)展到利用用戶-物品交互圖中的高階連通性,將多跳鄰居聚合到結(jié)點(diǎn)表征學(xué)習(xí)中,并取得了性能提升。雖然這些方法很有效,但存在著如下的不足:
監(jiān)督信號(hào)稀疏:大部分的推薦系統(tǒng)模型采用有監(jiān)督學(xué)習(xí)范式,其監(jiān)督信號(hào)來自觀測到的交互數(shù)據(jù)。然而,與完整的交互空間相比,觀測到的交互極其稀疏,使得模型無法學(xué)習(xí)到高質(zhì)量的表征;
數(shù)據(jù)分布偏態(tài):用戶-物品交互圖上的用戶結(jié)點(diǎn)和物品結(jié)點(diǎn)通常呈現(xiàn)冪律分布(power-law distribution),其中由低度物品構(gòu)成的長尾部分缺乏監(jiān)督信號(hào),相反,高度物品則頻繁出現(xiàn)在鄰居聚合和目標(biāo)函數(shù)中,對(duì)表征學(xué)習(xí)產(chǎn)生更大的影響,使得模型偏向于推薦頭部物品,而犧牲了長尾物品的曝光;
交互數(shù)據(jù)存在噪聲:用戶提供的反饋信息大部分是隱式的(如點(diǎn)擊、瀏覽等)而非顯式的(如評(píng)分、喜歡/不喜歡等)。因此觀測到的交互數(shù)據(jù)通常存在噪聲,例如,用戶被誤導(dǎo)而點(diǎn)擊了某個(gè)物品,然而在消費(fèi)該物品后發(fā)現(xiàn)對(duì)其不感興趣。而 GCN 中的鄰居聚合機(jī)制擴(kuò)大了交互行為對(duì)表征學(xué)習(xí)的影響,使得模型更容易受到噪聲交互的影響。
在這個(gè)工作中,我們重點(diǎn)探討利用自監(jiān)督學(xué)習(xí)(Self-supervised Learning, SSL)來解決上述問題。雖然自監(jiān)督學(xué)習(xí)在 CV 和 NLP 領(lǐng)域應(yīng)用廣泛,但它在推薦領(lǐng)域受到的關(guān)注還相對(duì)較少。其核心思想是設(shè)置一個(gè)輔助任務(wù),從輸入數(shù)據(jù)本身(特別是未標(biāo)注的數(shù)據(jù)空間)提取額外的監(jiān)督信號(hào)。例如,BERT 隨機(jī)掩碼一些詞項(xiàng),然后將輔助任務(wù)設(shè)置為對(duì)這些詞項(xiàng)的預(yù)測以捕捉詞項(xiàng)之間的依賴關(guān)系。
?
一般來講,除了必需的圖編碼器外,基于GNN的自監(jiān)督學(xué)習(xí)還需要額外兩個(gè)關(guān)鍵模塊:(1)數(shù)據(jù)增強(qiáng)模塊,它為每個(gè)結(jié)點(diǎn)生成多個(gè)視圖;(2)對(duì)比學(xué)習(xí)模塊,它最大化同一結(jié)點(diǎn)的不同視圖間的一致性表征和不同結(jié)點(diǎn)的視圖間的差異性表征。與有監(jiān)督學(xué)習(xí)相比,SSL 允許我們通過對(duì)輸入數(shù)據(jù)進(jìn)行更改來利用未標(biāo)注的數(shù)據(jù)空間,從而在下游任務(wù)中獲得顯著的性能提升。
方法介紹
方法介紹共分為三個(gè)部分:圖結(jié)構(gòu)上的數(shù)據(jù)增強(qiáng)、多任務(wù)訓(xùn)練框架、SGL 的梯度分析
?
3.1圖結(jié)構(gòu)上的數(shù)據(jù)增強(qiáng)
考慮到二分圖是由用戶-物品的交互構(gòu)建的,包含著豐富的協(xié)同過濾信號(hào),具體來講,二分圖上的一階鄰居直接描述用戶歷史交互的物品(或交互過該物品的用戶);二階鄰居表示具有相同行為的用戶(或有相同受眾的物品);用戶到物品結(jié)點(diǎn)的高階路徑則代表著用戶對(duì)物品的潛在興趣。因此,挖掘圖結(jié)構(gòu)的內(nèi)在模式對(duì)表征學(xué)習(xí)具有積極的意義。一個(gè)基于圖神經(jīng)網(wǎng)絡(luò)的推薦模型可以抽象成如下公式:
其中 表示第 l 層結(jié)點(diǎn)表征, 表示根據(jù)用戶歷史交互構(gòu)建的二分圖, 表示 ID embedding 矩陣,也即模型的可訓(xùn)練參數(shù)。在獲得 L 層結(jié)點(diǎn)表征后,通常會(huì)經(jīng)過一個(gè) Readout 層生成結(jié)點(diǎn)的最終表征。
圖結(jié)構(gòu)作為圖神經(jīng)網(wǎng)絡(luò)的輸入,在推薦模型中起到至關(guān)重要的作用。因此針對(duì)圖結(jié)構(gòu),我們進(jìn)行數(shù)據(jù)增強(qiáng)操作來生成結(jié)點(diǎn)的不同視圖,其正式定義如下:
其中 S 表示所有數(shù)據(jù)增強(qiáng)操作的集合, 和 分別是從 S 中隨機(jī)采樣的兩個(gè)相互獨(dú)立的數(shù)據(jù)增強(qiáng)操作,并由此獲得兩個(gè)相關(guān)的結(jié)點(diǎn)視圖 和 。我們采用的數(shù)據(jù)增強(qiáng)操作如下:
結(jié)點(diǎn) Dropout:圖上的任一結(jié)點(diǎn)及其關(guān)聯(lián)的連邊以概率 被移除出去,這樣可以從不同的增強(qiáng)視圖中識(shí)別出有影響力的結(jié)點(diǎn),并使表征學(xué)習(xí)對(duì)結(jié)構(gòu)的變化更加魯棒。
連邊 Dropout:圖上的任一連邊以概率 被移除出去,僅使用部分鄰居信息來進(jìn)行鄰居聚合,這樣可以捕捉結(jié)點(diǎn)局部結(jié)構(gòu)的有效模式,賦予表征學(xué)習(xí)更強(qiáng)的魯棒性,對(duì)抗噪聲交互的干擾。
隨機(jī)游走:與上述兩種各個(gè)圖卷積層共享增強(qiáng)子圖的數(shù)據(jù)增強(qiáng)操作不同,這種操作對(duì)不同卷積層敏感,也即為各個(gè)卷積層分別生成不同的增強(qiáng)子圖,可以將其視為利用隨機(jī)游走為各個(gè)結(jié)點(diǎn)生成各自的子圖。以采用連邊 Dropout 為例,其定義如下:
3.2 多任務(wù)訓(xùn)練框架
在構(gòu)建了結(jié)點(diǎn)的增強(qiáng)視圖后,我們下面介紹整個(gè)模型的框架,如下圖所示。
▲ 圖1 SGL模型框架
?
我們采用 LightGCN 作為圖編碼器來實(shí)現(xiàn) SGL。需要提到的是,我們的 SGL 沒有對(duì)圖編碼器進(jìn)行約束,因此可以適用于任何基于 GNN 的推薦模型。
在這個(gè)多任務(wù)訓(xùn)練框架中,主任務(wù)是有監(jiān)督推薦任務(wù),將原始用戶-物品交互圖輸入圖編碼器后得到結(jié)點(diǎn)在隱空間中的向量表征,然后采用 BPR Loss 作為目標(biāo)函數(shù)。而在輔助任務(wù)中,我們需要為同一個(gè)結(jié)點(diǎn)生成兩個(gè)不同的視圖,因此需要兩路圖編碼器得到結(jié)點(diǎn)的兩套表征。
我們將由同一個(gè)結(jié)點(diǎn)生成的不同表征看作正樣本對(duì),而與其他不同結(jié)點(diǎn)的表征構(gòu)成負(fù)樣本對(duì)。正樣本對(duì)的輔助監(jiān)督信號(hào)可促進(jìn)同一結(jié)點(diǎn)的不同視圖之間的一致性表征學(xué)習(xí),而負(fù)樣本對(duì)的監(jiān)督信號(hào)則可促進(jìn)不同結(jié)點(diǎn)之間的差異性表征學(xué)習(xí)。
具體地,我們采用 InfoNCE 作為自監(jiān)督的目標(biāo)函數(shù)。考慮到用戶結(jié)點(diǎn)和物品結(jié)點(diǎn)是不同類型的結(jié)點(diǎn),在定義目標(biāo)函數(shù)時(shí),我們分別在用戶側(cè)和物品側(cè)定義了損失函數(shù),兩者的加和作為總的 SSL 損失函數(shù),公式如下:
最終的目標(biāo)函數(shù)由主任務(wù)和輔助任務(wù)加和得到,公式如下:
需要注意的是,由于 LightGCN 沒有特征變換矩陣,其唯一的可訓(xùn)練參數(shù)是 0 層的結(jié)點(diǎn) embedding,我們這里采用參數(shù)共享的策略,即主任務(wù)中的圖編碼器和自監(jiān)督任務(wù)中的兩路圖編碼器共享 0 層的結(jié)點(diǎn)表征,這樣,整個(gè)模型不會(huì)引入新的參數(shù)。而且在模型推斷階段,輔助任務(wù)部分不參與計(jì)算,因此不會(huì)提高模型的推斷復(fù)雜度。
?
3.3 SGL的梯度分析
在這一部分,我們通過分析 SSL 損失函數(shù)來試圖回答如下問題:推薦模型如何從 SSL 中獲益?我們從梯度的角度來分析負(fù)樣本對(duì)目標(biāo)結(jié)點(diǎn)的表征的貢獻(xiàn)。經(jīng)過推導(dǎo),我們可以得到負(fù)樣本的梯度的 范式正比于如下式子:
其中 表示負(fù)樣本與目標(biāo)結(jié)點(diǎn)表征的余弦相似度。根據(jù)余弦相似度,我們大致可以將負(fù)樣本劃分為兩類:
1. 難負(fù)樣本,它的表征與目標(biāo)結(jié)點(diǎn)相似(0<x≤1),使得它難以在隱空間中與目標(biāo)結(jié)點(diǎn)進(jìn)行區(qū)分;
2. 簡單負(fù)樣本,它的表征與目標(biāo)結(jié)點(diǎn)差異較大(),因此容易區(qū)分開來。下圖展示了在 不同取值時(shí) 的變換情況。
▲ 圖2 函數(shù)曲線以及其最大值和極值點(diǎn)隨??的變化情況
從圖 2(a) 和圖 2(b) 可以看到,在 取不同值時(shí),負(fù)樣本的梯度貢獻(xiàn)差異很大。在 時(shí), 的值域是(0,1.5),它對(duì) x 的響應(yīng)變化不大,說明不管是難負(fù)樣本還是簡單負(fù)樣本,它的梯度貢獻(xiàn)相差不大;而在 時(shí), 的取值可以達(dá)到 4000,而簡單負(fù)樣本的貢獻(xiàn)幾乎可以忽略,說明難負(fù)樣本提供更大的梯度來指導(dǎo)優(yōu)化,使得結(jié)點(diǎn)表征更具區(qū)分性,并加速訓(xùn)練過程。
從圖 2(c) 和圖 2(d) 中,我們發(fā)現(xiàn)隨著 的減小,最具影響力的負(fù)樣本與目標(biāo)結(jié)點(diǎn)越來越相似,而且它們的貢獻(xiàn)被超指數(shù)(super-exponentially)放大。因此,選取合適的 將賦予 SGL 主動(dòng)挖掘難負(fù)樣本的能力。
?
實(shí)驗(yàn)結(jié)果
我們?cè)谌齻€(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行測試來驗(yàn)證所提出的 SGL 的有效性。
?
4.1 整體性能
表 1 展示了不同 SGL 變種與 SOTA 模型 LightGCN 的性能比較。可以看到,我們的 SGL 取得了顯著的性能提升。
▲ 表1 不同SGL變種與LightGCN的性能比較
4.2 長尾推薦
為了驗(yàn)證 SGL 是否可以緩解長尾問題,我們根據(jù)物品的流行度進(jìn)行分組,每組內(nèi)的總曝光數(shù)保持一致,組的 ID 越大說明該組內(nèi)的物品越流行。圖 3 展示了各組 Recall@20 的分布情況,可以看到,LightGCN 存在著嚴(yán)重的長尾問題,比如在三個(gè)數(shù)據(jù)集上,第 10 組的物品數(shù)分別只占了總物品數(shù)的 0.83%、0.83% 和 0.22%,但卻貢獻(xiàn)了 39.72%、39.92% 和 51.92% 的 top 20 推薦列表。
而 SGL 則明顯緩解了這個(gè)問題,其第 10 組的貢獻(xiàn)降到 36.27%、29.15% 和 35.07%。而且綜合分析表 1 和圖 3,我們可以發(fā)現(xiàn) SGL 的性能提升主要來自于對(duì)稀疏物品的準(zhǔn)確推薦。
▲ 圖3 SGL-ED和LightGCN在不同物品流行度分組下的性能比較
?
4.3 噪聲交互的魯棒性
我們也做了實(shí)驗(yàn)來驗(yàn)證SGL是否對(duì)噪聲交互具有魯棒性。為此,我們通過添加一定比例的對(duì)抗樣本(5%,10%,15%,20%)來污染訓(xùn)練集,而保持測試集不變。圖4展示了在兩個(gè)數(shù)據(jù)集上的性能結(jié)果。可以看到,隨著噪聲交互數(shù)量的增大,相比于 LightGCN,SGL 性能下降的比例明顯更小,這表明通過比較結(jié)點(diǎn)的不同增強(qiáng)視圖,SGL 能夠找到有用的模式,特別是結(jié)點(diǎn)的結(jié)構(gòu)性質(zhì),來降低對(duì)特定連邊的依賴以提高模型的魯棒性。
▲ 圖4 噪聲交互的比例對(duì)模型性能的影響
總結(jié)
在本工作中,我們強(qiáng)調(diào)了在有監(jiān)督學(xué)習(xí)范式下基于 GCN 的推薦模型的局限性,并探索利用自監(jiān)督學(xué)習(xí)來解決這些局限性。我們提出了一個(gè)模型無關(guān)的框架 SGL,利用用戶-物品交互圖上的自監(jiān)督學(xué)習(xí)來補(bǔ)充有監(jiān)督推薦任務(wù),并從圖結(jié)構(gòu)的角度設(shè)計(jì)了三種數(shù)據(jù)增強(qiáng)方式來構(gòu)建對(duì)比學(xué)習(xí)任務(wù)。這是自監(jiān)督學(xué)習(xí)在推薦系統(tǒng)中的一個(gè)初步嘗試,希望能開辟一個(gè)新的研究可能性為后續(xù)的研究提供一些指導(dǎo)意義。
?
?
參考文獻(xiàn)
[1] Rex Ying, Ruining He, Kaifeng Chen, Pong Eksombatchai, William L. Hamilton, and Jure Leskovec. 2018. Graph Convolutional Neural Networks for Web-Scale Recommender Systems. In KDD. 974–983.
[2] Xiangnan He, Kuan Deng, Xiang Wang, Yan Li, Yong-Dong Zhang, and Meng Wang. 2020. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation. In SIGIR. 639–648.
[3] Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, and Lars Schmidt-Thieme. 2009. BPR: Bayesian Personalized Ranking from Implicit Feedback. In UAI. 452–461.
[4] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In NAACL-HLT. 4171–4186.
?
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。
?????稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以 markdown 格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的SIGIR 2021 | 推荐系统中的自监督图表征学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7 网络问题怎么解决 win7网络
- 下一篇: 新硬盘怎么设置引导 全新硬盘如何设置启动