《Learning to Denoise Unreliable Intercations for Graph Collaborative Filtering》个人笔记
原文:
https://dl.acm.org/doi/10.1145/3477495.3531889
摘要
? 現(xiàn)已存在的基于GNN協(xié)同過濾模型面臨著一些用戶-項(xiàng)目噪音數(shù)據(jù),這個嚴(yán)重影響系統(tǒng)的有效性和魯棒性。而對去噪的研究當(dāng)中,他們要么是忽視GNN信息傳播過程中噪音的直接影響,或者就是在去噪時直接拋棄推薦的多樣性。
? 為了解決這個問題,作者提出了一種全新的基于GNN的協(xié)同過濾模型,Robust Graph Collaborative Filtering(RGCF),該模型將推薦過程中不可靠的交互去噪。具體來說,RGCF由一個圖去噪模塊graph denoising module和一個多樣性保留模塊diversity preserving module構(gòu)成。圖去噪模塊通過同時采用硬去噪策略(丟棄那些確定為噪音的交互)和軟去噪策略(為每一個留下來的交互分配一個可靠權(quán)重),減少GNN表示學(xué)習(xí)中噪音交互的影響。在保留多樣性模塊中,作者建立了一個diversity augmented graph(多樣性擴(kuò)充圖)并且基于mutual information maximization(MIM,互信息最大化)提出一個auxiliary self-supervised task,這樣是為了加強(qiáng)去噪后的表示以及保留推薦的多樣性。這兩個模塊將通過多任務(wù)學(xué)習(xí)的角度來整合。
總述
? RGCF由圖去噪模塊和多樣性保留模塊組成。圖去噪模塊目的是為了將交互數(shù)據(jù)中的噪音部分清除。首先計(jì)算用戶-項(xiàng)目交互的可靠程度,隨后基于可靠程度采取去噪硬策略和去噪軟策略。多樣性保留模塊中,首先建立一個多樣性擴(kuò)充的交互圖,隨后基于互信息最大化MIM提出一個輔助性自監(jiān)督任務(wù),提高根據(jù)圖去噪模塊的表示學(xué)習(xí)能力,最終保留推薦時的多樣性。作者通過在RGCF中采用多任務(wù)學(xué)習(xí)策略,整合上述兩個模塊。
U={u},I={i}分別表示可觀察到的用戶集合與項(xiàng)目集合交互數(shù)據(jù)標(biāo)記為矩陣R∈R∣U∣×∣I∣,元素為1表示交互過,0表示沒有交互過基于用戶?項(xiàng)目交互數(shù)據(jù),通過表示函數(shù)g(?),可以學(xué)習(xí)到用戶和項(xiàng)目的嵌入表示h:\mathcal{U}=\{u\},\mathcal{I}=\{i\}分別表示可觀察到的用戶集合與項(xiàng)目集合\\ 交互數(shù)據(jù)標(biāo)記為矩陣R\in\mathbb{R}^{|\mathcal{U}|\times |\mathcal{I}|},元素為1表示交互過,0表示沒有交互過\\ 基于用戶-項(xiàng)目交互數(shù)據(jù),通過表示函數(shù)g(·),可以學(xué)習(xí)到用戶和項(xiàng)目的嵌入表示h:\\ U={u},I={i}分別表示可觀察到的用戶集合與項(xiàng)目集合交互數(shù)據(jù)標(biāo)記為矩陣R∈R∣U∣×∣I∣,元素為1表示交互過,0表示沒有交互過基于用戶?項(xiàng)目交互數(shù)據(jù),通過表示函數(shù)g(?),可以學(xué)習(xí)到用戶和項(xiàng)目的嵌入表示h:
hu=g(R,u),hi=g(R,i)(1)h_u=g(R,u),h_i=g(R,i) \tag{1}\\ hu?=g(R,u),hi?=g(R,i)(1)
hu∈Rd,hi∈Rd分別是用戶u和項(xiàng)目i的嵌入表示h_u\in\mathbb{R}^d,h_i\in\mathbb{R}^d分別是用戶u和項(xiàng)目i的嵌入表示 hu?∈Rd,hi?∈Rd分別是用戶u和項(xiàng)目i的嵌入表示
圖去噪模塊
交互關(guān)系的可靠程度
作者是通過用戶和項(xiàng)目在交互圖中的結(jié)構(gòu)相似度來判斷他們之間關(guān)系的可靠程度的(根據(jù)homophily theory同構(gòu)定理),而并非通過注意力機(jī)制來計(jì)算。
我們首先通過用戶與項(xiàng)目的交互數(shù)據(jù)R∈R∣U∣×∣I∣R\in \mathbb{R}^{|\mathcal{U}|\times |\mathcal{I}|}R∈R∣U∣×∣I∣,構(gòu)造它們的交互二部圖G\mathcal{G}G。然后抽取出它們的one-hop鄰域節(jié)點(diǎn)作為它們的結(jié)構(gòu)上的特征,通過這個來表示它們節(jié)點(diǎn)的局部拓?fù)湫畔ⅰ>o接著使用==嵌入轉(zhuǎn)換矩陣EU∈R∣U∣×dE_U\in \mathbb{R}^{|\mathcal{U}|\times d}EU?∈R∣U∣×d和EI∈R∣I∣×dE_I\in \mathbb{R}^{|\mathcal{I}|\times d}EI?∈R∣I∣×d,在GNN訓(xùn)練過程中學(xué)習(xí)。==將用戶和項(xiàng)目的結(jié)構(gòu)特征轉(zhuǎn)換到相同維度的隱藏空間:
HUs=REI,HIs=RTEU(2)\mathbf{H_U^s}=\mathbf{RE_I},\mathbf{H_I^s}=\mathbf{R^T E_U} \tag{2} HUs?=REI?,HIs?=RTEU?(2)
這里,HUs∈R∣U∣×d,HIs∈R∣I∣×dH_U^s\in\mathbb{R}^{|\mathcal{U}|\times d},H_I^s\in\mathbb{R}^{|\mathcal{I}|\times d}HUs?∈R∣U∣×d,HIs?∈R∣I∣×d是隱藏空間中用戶與項(xiàng)目的結(jié)構(gòu)特征矩陣。hus,hish_u^s,h_i^shus?,his?分別是HUs,HIsH_U^s,H_I^sHUs?,HIs?兩個矩陣的第iii行。隨后采用余弦相似度來計(jì)算它們交互關(guān)系的相似度:
cos(hus,his)=husThis∣∣hu∣∣2?∣∣hi∣∣2(3)cos(\mathbf{h_u^s},\mathbf{h_i^s})=\frac{{\mathbf{h_u^s}^T\mathbf{h_i^s}}}{||h_u||_2·||h_i||_2} \tag{3} cos(hus?,his?)=∣∣hu?∣∣2??∣∣hi?∣∣2?hus?This??(3)
但是計(jì)算出來的并不能直接用來作為圖中的可靠程度,還需要正則化,否則可能會有負(fù)值。
su,i=(cos(hus,his)+1)/2(4)s_{u,i}=(cos(\mathbf{h_u^s},\mathbf{h_i^s})+1)/2 \tag{4} su,i?=(cos(hus?,his?)+1)/2(4)
去噪交互圖
現(xiàn)在要通過同時采用去噪硬策略和去噪軟策略,我們把交互圖G\mathcal{G}G變成去噪后交互圖G~\tilde{\mathcal{G}}G~?。圖中的實(shí)體對<u,i><u,i><u,i>的交互關(guān)系,它的可靠程度已通過公式(4)計(jì)算出,這個也就是去噪權(quán)重。
那么具體的去噪硬策略,就是把那些確定為噪音的交互關(guān)系在GNN信息傳播過程中移除。如何來確定噪音,也就是判斷該交互關(guān)系的可靠程度是否大于一個超參數(shù)β\betaβ。接下來的公式,就是結(jié)合了去噪硬策略與去噪軟策略,重新構(gòu)造交互關(guān)系R~\tilde{R}R~,同時這個交互關(guān)系也對應(yīng)著去噪后交互圖G ̄\overline{\mathcal{G}}G?:
r~u,i=I(su,i>β)?su,i(5)\tilde{r}_{u,i}=\mathbb{I}(s_{u,i}>\beta)·s_{u,i} \tag{5} r~u,i?=I(su,i?>β)?su,i?(5)
這里I(?)\mathbb{I}(·)I(?)是一個二值方程,當(dāng)符合括號內(nèi)條件時,值為1;否則為0。這種方式既滿足了去噪硬策略,又滿足了去噪軟策略。
CF圖神經(jīng)網(wǎng)絡(luò)
現(xiàn)在利用GNN網(wǎng)絡(luò),通過信息傳遞來學(xué)習(xí)用戶與項(xiàng)目的嵌入表示,大致如下:
H~U,H~I=GNN(HU(0),HI(0),G~)(6)\tilde{H}_U,\tilde{H}_I=GNN(H_U^{(0)},H_I^{(0)},\tilde{\mathcal{G}}) \tag{6} H~U?,H~I?=GNN(HU(0)?,HI(0)?,G~?)(6)
這里H~U,H~I\tilde{H}_U,\tilde{H}_IH~U?,H~I?分別是用戶、項(xiàng)目的嵌入表示,而HU(0),HI(0)H_U^{(0)},H_I^{(0)}HU(0)?,HI(0)?是公式(2)中給的矩陣,作為用戶、項(xiàng)目嵌入表示初始化的矩陣。而這GNN具體采用的哪個模型,作者采用的是LightGCN模型。那么通過聚合領(lǐng)域信息學(xué)習(xí)表示的具體過程如下:
h~u(k)=∑i∈Nur~u,i∑j∈Nur~u,jh~i(k?1)h~i(k)=∑u∈Nir~u,i∑j∈Nir~j,ih~u(k?1)(7)\tilde{h}_u^{(k)}=\sum_{i\in\mathcal{N}_u}\frac{\tilde{r}_{u,i}}{\sum_{j\in\mathcal{N}_u}\tilde{r}_{u,j}}\tilde{h}_i^{(k-1)}\\ \tilde{h}_i^{(k)}=\sum_{u\in\mathcal{N}_i}\frac{\tilde{r}_{u,i}}{\sum_{j\in\mathcal{N}_i}\tilde{r}_{j,i}}\tilde{h}_u^{(k-1)} \tag{7} h~u(k)?=i∈Nu?∑?∑j∈Nu??r~u,j?r~u,i??h~i(k?1)?h~i(k)?=u∈Ni?∑?∑j∈Ni??r~j,i?r~u,i??h~u(k?1)?(7)
r~u,i\tilde{r}_{u,i}r~u,i?在公式(5)中給出。Nu,Ni\mathcal{N}_u,\mathcal{N}_iNu?,Ni?分別是用戶uuu和項(xiàng)目iii的one-hop領(lǐng)域節(jié)點(diǎn)集合。而h~u(k),h~i(k)\tilde{h}_u^{(k)},\tilde{h}_i^{(k)}h~u(k)?,h~i(k)?分別是通過k層GNN網(wǎng)絡(luò)學(xué)習(xí)到的用戶與項(xiàng)目的嵌入表示。h~u(0)=hus,h~i(0)=his\tilde{h}_u^{(0)}=h_u^s,\tilde{h}_i^{(0)}=h_i^sh~u(0)?=hus?,h~i(0)?=his?是最初的表示。
在K層GNN網(wǎng)絡(luò)迭代聚合之后,最終的輸出為h~u,h~i\tilde{h}_u,\tilde{h}_ih~u?,h~i?,通過每層學(xué)習(xí)到的表示的組合而成。
h~u=∑k=0Kαkh~u(k),h~i=∑k=0Kαkh~i(k)(8)\tilde{h}_u=\sum_{k=0}^K\alpha_k\tilde{h}_u^{(k)},\tilde{h}_i=\sum_{k=0}^K\alpha_k\tilde{h}_i^{(k)} \tag{8} h~u?=k=0∑K?αk?h~u(k)?,h~i?=k=0∑K?αk?h~i(k)?(8)
αl=11+K\alpha_l=\frac{1}{1+K}αl?=1+K1?為控制GNN第lll層權(quán)重的超參數(shù)。K等于2或者3,即GNN網(wǎng)絡(luò)層采用兩層的或者三層的。
預(yù)測
通過用戶與項(xiàng)目的最終表示之間的點(diǎn)積,來求得預(yù)測評分:
y^u,i=h~u?h~i(9)\hat{y}_{u,i}=\tilde{h}_u·\tilde{h}_i \tag{9} y^?u,i?=h~u??h~i?(9)
為了訓(xùn)練圖去噪模塊,作者從沒有交互過的用戶-項(xiàng)目對抽取一些樣本(負(fù)樣本)作為訓(xùn)練數(shù)據(jù),然后使用Bayesian Personalized Ranking(BPR)loss貝葉斯個性化排序損失作為損失函數(shù):
LBPR=∑u∈U∑i∈Nu∑j∈I,j?Nu?log?σ(y^u,i?y^u,j)(10)\mathcal{L}_{BPR}=\sum_{u\in\mathcal{U}}\sum_{i\in\mathcal{N}_u}\sum_{j\in\mathcal{I},j\notin\mathcal{N}_u}-\log\sigma(\hat{y}_{u,i}-\hat{y}_{u,j})\tag{10} LBPR?=u∈U∑?i∈Nu?∑?j∈I,j∈/?Nu?∑??logσ(y^?u,i??y^?u,j?)(10)
σ\sigmaσ為sigmoid函數(shù)。
多樣性保留模塊
因?yàn)槿ピ霑趸扑]的多樣性,因此作者在訓(xùn)練過程中,基于去噪交互圖,動態(tài)地構(gòu)造額外的多樣性擴(kuò)充圖。然后通過輔助互信息最大化MIM損失,將多樣性特征注入到去噪后的用戶表示中(公式8).
多樣性擴(kuò)充圖Diversity Augmented Graph的構(gòu)造
為了權(quán)衡去噪后,推薦的精度與多樣性,關(guān)鍵思路就是將多樣又可靠的邊注入到去噪后的交互圖G~\tilde{\mathcal{G}}G~?中,構(gòu)造額外的多樣性擴(kuò)充圖G¨\ddot{\mathcal{G}}G¨?。構(gòu)造過程分為兩步:①隨機(jī)采樣和②可靠程度感知選擇。
具體一點(diǎn),首先,以概率ρ\rhoρ統(tǒng)一采樣一組未交互的用戶-項(xiàng)目對:
C=Sample({(u,i)∣u∈U,i∈I,ru,i=0}∣ρ)(11)\mathcal{C}=Sample(\{(u,i)|u\in\mathcal{U},i\in\mathcal{I},r_{u,i}=0\}|\rho) \tag{11} C=Sample({(u,i)∣u∈U,i∈I,ru,i?=0}∣ρ)(11)
C={(u,i)}\mathcal{C}=\{(u,i)\}C={(u,i)}是我們用來構(gòu)造額外的多樣性圖擴(kuò)充的候選用戶-項(xiàng)目對集合。而C\mathcal{C}C在每一輪訓(xùn)練當(dāng)中都會重新隨機(jī)生成,這樣我們添加交互信息的時候能夠保證多樣性。
隨后,我們選擇高可靠程度的交互關(guān)系即用戶-項(xiàng)目對:
r¨u,i=I(su,i∈top?M(S))?su,i(12)\ddot{r}_{u,i}=\mathbb{I}(s_{u,i}\in top-M(S))·s_{u,i} \tag{12} r¨u,i?=I(su,i?∈top?M(S))?su,i?(12)
S={su,i∣(u,i)∈C}S=\{s_{u,i}|(u,i)\in C\}S={su,i?∣(u,i)∈C},MMM是已選擇用戶-項(xiàng)目對的數(shù)目,設(shè)置M=∣R∣10=∣C∣10M=\frac{|R|}{10}=\frac{|C|}{10}M=10∣R∣?=10∣C∣?。注意,不像圖去噪模塊直接移除交互關(guān)系中的不可靠關(guān)系,多樣性保留模塊會從動態(tài)的候選交互中選擇一些交互關(guān)系。此時的圖就是多樣性擴(kuò)充圖,標(biāo)記為G¨\ddot{\mathcal{G}}G¨?。
多樣性保留
給定重構(gòu)多樣性擴(kuò)充圖G¨\ddot{\mathcal{G}}G¨?,我們可以利用GNN學(xué)習(xí)節(jié)點(diǎn)嵌入(公式6)。然而從G¨\ddot{\mathcal{G}}G¨?學(xué)習(xí)到的嵌入表示,可能會和從去噪后的交互圖G~\tilde{\mathcal{G}}G~?學(xué)習(xí)到的表示相矛盾。為了權(quán)衡精度與多樣性,作者利用基于MIM的輔助自監(jiān)督任務(wù),將兩種節(jié)點(diǎn)表示pull close,并且權(quán)衡這兩個。
MIM基于互信息MI這個概念而提出來的,互信息表達(dá)了隨機(jī)變量之間的依賴關(guān)系。
互信息(Mutual Information)是信息論里一種有用的信息度量,它可以看成是一個隨機(jī)變量中包含的關(guān)于另一個隨機(jī)變量的信息量,或者說是一個隨機(jī)變量由于已知另一個隨機(jī)變量而減少的不肯定性。
從形式上,給定兩個隨機(jī)變量XXX和YYY,互信息表示通過觀察Y能夠獲得多少關(guān)于X的信息,反之亦然。X和Y的互信息表示為I(X,Y)I(X,Y)I(X,Y):
I(X,Y)=H(X)?H(X∣Y)=H(Y)?H(Y∣X)(13)I(X,Y)=H(X)-H(X|Y)=H(Y)-H(Y|X) \tag{13} I(X,Y)=H(X)?H(X∣Y)=H(Y)?H(Y∣X)(13)
這里熵H(?)H(·)H(?)?表示隨機(jī)變量中蘊(yùn)含的不確定性。當(dāng)用來學(xué)習(xí)圖表示時,隨機(jī)變量X和Y通常會對應(yīng)不同的視圖[Jiancan Wu, Xiang Wang, Fuli Feng, Xiangnan He, Liang Chen, Jianxun Lian,and Xing Xie. 2021. Self-supervised graph learning for recommendation. In Proceedings of the 44th International ACM SIGIR Conference on Research and**Development in Information Retrieval. 726–735]。
通過最大化節(jié)點(diǎn)表示的互信息,我們能夠獲得圖的不同視圖之間的相關(guān)性,并且能夠識別出原始圖中最重要的信息。
特別地,在該論文中有兩個用戶-項(xiàng)目交互視圖,即去噪交互圖G~\tilde{\mathcal{G}}G~?和多樣性交擴(kuò)充互圖G¨\ddot{\mathcal{G}}G¨?。那么,基于不同交互圖,作者采用權(quán)值共享的GNN(公式6,7,8)來學(xué)習(xí)用戶和項(xiàng)目的表示:
H~U,H~I=GNN(HU(0),HI(0),G~)H¨U,H¨I=GNN(HU(0),HI(0),G¨)(14)\tilde{H}_U,\tilde{H}_I=GNN(H_U^{(0)},H_I^{(0)},\tilde{\mathcal{G}}) \\ \ddot{H}_U,\ddot{H}_I=GNN(H_U^{(0)},H_I^{(0)},\ddot{\mathcal{G}}) \tag{14} H~U?,H~I?=GNN(HU(0)?,HI(0)?,G~?)H¨U?,H¨I?=GNN(HU(0)?,HI(0)?,G¨?)(14)
直接最大化互信息是十分棘手的。受到前人工作InfoNCE的啟發(fā),作者采用對比損失,來優(yōu)化MI的下界。具體而言,對于每一個用戶uuu而言,去噪表示h~u\tilde{h}_uh~u?和多樣性表示擴(kuò)充h¨u\ddot{h}_uh¨u?分別考慮為anchor和positive sample正樣本。進(jìn)一步,其他用戶的多樣性擴(kuò)充表示就視為負(fù)樣本。給出多樣性保留損失:
LDIV=?∑u,v∈Ulog?exp(f(h~u,h¨u)/τ)exp(f(h~u,h¨u)/τ)+∑v≠uexp(f(h~u,h¨u)/τ)(15)\mathcal{L}_{DIV}=-\sum_{u,v\in\mathcal{U}}\log\frac{exp(f(\tilde{h}_u,\ddot{h}_u)/\tau)}{exp(f(\tilde{h}_u,\ddot{h}_u)/\tau)+\sum_{v\ne u}exp(f(\tilde{h}_u,\ddot{h}_u)/\tau)}\tag{15} LDIV?=?u,v∈U∑?logexp(f(h~u?,h¨u?)/τ)+∑v?=u?exp(f(h~u?,h¨u?)/τ)exp(f(h~u?,h¨u?)/τ)?(15)
τ\tauτ是temperature超參數(shù),f(?,?)f(·,·)f(?,?)是余弦相似度函數(shù)。通過最小化上述輔助損失,我們就能加強(qiáng)從去噪圖學(xué)習(xí)到的用戶表示和從多樣性擴(kuò)充數(shù)據(jù)中學(xué)習(xí)到的用戶表示,二者之間的相關(guān)性。
注意,這里的主要目標(biāo)是為了提升用戶去噪表示的多樣性,而多樣性擴(kuò)充圖只是起個輔助作用。不同于簡單融合兩種表示,作者采用的是,將多樣性信息注入去噪節(jié)點(diǎn)表示。
模型訓(xùn)練
圖去噪模塊和多樣性擴(kuò)充圖模塊二者共同訓(xùn)練,他們的損失函數(shù)為:
L=LBPR+λ1LDIV+λ2∣∣Θ∣∣22(16)\mathcal{L}=\mathcal{L}_{BPR}+\lambda_1\mathcal{L}_{DIV}+\lambda_2||\Theta||_2^2\tag{16} L=LBPR?+λ1?LDIV?+λ2?∣∣Θ∣∣22?(16)
λ1,λ2=1e?5\lambda_1,\lambda_2=1e-5λ1?,λ2?=1e?5是分別用來控制多樣性保留損失強(qiáng)度的超參數(shù)和L2L_2L2?正則化,而Θ={EU,EI}\Theta=\{E_U,E_I\}Θ={EU?,EI?}是模型的參數(shù)集合。
通過公式(2)-(8),我們可以生成最終表示用于最后的推斷。
總結(jié)
以上是生活随笔為你收集整理的《Learning to Denoise Unreliable Intercations for Graph Collaborative Filtering》个人笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智慧养老之社区养老管理系统
- 下一篇: 【连载】《linux入门很简单》电子版—