天天看點

論文《Graph Neural Networks for Social Recommendation》閱讀論文概況IntroductionGraphRec模型介紹總結一下一點不成熟的評價

論文《Graph Neural Networks for Social Recommendation》閱讀

  • 論文概況
  • Introduction
  • GraphRec模型介紹
    • User Modeling
      • Item Aggregation
      • Social Aggregation
    • Item Modeling
    • Rating Prediction和Model Training
  • 總結一下
  • 一點不成熟的評價

論文概況

本文是香港城市大學聯合京東發表在WWW 2019上的一篇論文,CCF A會議,提出了模型GraphRec。這篇文章聚焦于社會化推薦(Social Recommendation),是社會化推薦較早的作品之一。

Introduction

論文解決三個問題:

  1. user-item的顯式互動包含不同分數(文中稱之為意見,opinion),不同的分數代表不同的喜好,如何處理?
  2. user和user之間的社交關系也有親疏遠近之分,不應該有連邊就進行平均處理,如何展現?
  3. user同時包含在use-item的互動和user-user的社交關系中,如何處理?

針對這三個問題,作者進行了GraphRec模型的設計。

GraphRec模型介紹

論文《Graph Neural Networks for Social Recommendation》閱讀論文概況IntroductionGraphRec模型介紹總結一下一點不成熟的評價

GraphRec可以分為兩部分,User Modeling和Item Modeling,其中User Modeling又分為Item Aggregation和Social Aggregation,下面分别介紹。

User Modeling

Item Aggregation

Item Aggregation 這裡是指通過user-item的互動矩陣進行使用者在item-space的分解。

具體的,如下式所示,這裡我們使用相對容易了解的符号進行重新書寫,對文中一些不太友好的符号表示也進行了重新表示:

h i I = σ ( W ⋅ A g g i t e m s ( { x i a ∣ ∀ a ∈ C i } ) + b ) σ ( W ⋅ { ∑ a ∈ C ( i ) α i a x i a } + b ) h_i^I = \sigma (W \cdot Agg_{items}(\{x_{ia} | \forall a \in C_i \}) +b) \\ \sigma(W\cdot\{\sum_{a\in C(i)}\alpha_{ia} x_{ia}\} + b) hiI​=σ(W⋅Aggitems​({xia​∣∀a∈Ci​})+b)σ(W⋅{a∈C(i)∑​αia​xia​}+b)

這裡, h i I h_i^I hiI​就表示item空間使用者 i i i的embedding表示, A g g i t e m s ( ⋅ ) Agg_{items}(\cdot) Aggitems​(⋅)表示item-space的聚合函數,可以看到使用權重求和并線性變換的方式進行表示,其中, α i a \alpha_{ia} αia​表示權重, x i a x_{ia} xia​表示使用者 i i i和與其鄰接的物品 a a a的聚合向量, C i C_i Ci​表示使用者 i i i在item-space中與其鄰接的所有物品集合。見下式:

x i a = g v ( [ q a ∣ ∣ e r ] ) x_{ia} = g_v([q_a || e_r]) xia​=gv​([qa​∣∣er​])

x i a x_{ia} xia​使用物品 a a a和評分等級 r r r的可訓練向量進行表示, g v ( ⋅ ) g_v(\cdot) gv​(⋅)表示融合函數,文中這裡沒有交代清楚,聯系後文,應該是一個三層的MLP網絡。

注意力系數 α i a \alpha_{ia} αia​如下面兩式所示

α i a ∗ = w 2 T ⋅ σ ( W 1 ⋅ [ x i a ∣ ∣ p i ] + b 1 1 ) + b 2 \alpha_{ia}^* = w_2^T \cdot \sigma(W_1 \cdot [x_{ia} || p_i] + b_11) + b_2 αia∗​=w2T​⋅σ(W1​⋅[xia​∣∣pi​]+b1​1)+b2​

α i a = exp ⁡ ( α i a ∗ ) ∑ c ∈ C i α i c ∗ \alpha_{ia} = \frac{\exp(\alpha_{ia}^*)}{ \sum_{c \in C_i} {\alpha_{ic}^*} } αia​=∑c∈Ci​​αic∗​exp(αia∗​)​

可以看到,使用者 i i i和與其鄰接的物品 a a a的之間的注意力系數通過雙層MLP進行計算,輸入包括 x i a x_{ia} xia​和 p i p_i pi​,是以可以了解為使用者 i i i和與其鄰接的物品 a a a之間的親和力(affinity)指數。

Social Aggregation

後面的部分可以參考前面,我們不進行太詳細的介紹,大緻方式相同。

h i S = σ ( W ⋅ A g g n e i g h b o r s ( { h o I ∣ ∀ o ∈ N i } ) + b ) σ ( W ⋅ { ∑ o ∈ N ( i ) β i o h o I } + b ) h_i^S = \sigma (W \cdot Agg_{neighbors}(\{h_{o}^{I} | \forall o \in N_i \}) +b) \\ \sigma(W\cdot\{\sum_{o\in N(i)}\beta_{io} h_{o}^I\} + b) hiS​=σ(W⋅Aggneighbors​({hoI​∣∀o∈Ni​})+b)σ(W⋅{o∈N(i)∑​βio​hoI​}+b)

類似的, h i S h_i^S hiS​就表示social空間使用者 i i i的embedding表示, A g g n e i g h b o r s ( ⋅ ) Agg_{neighbors}(\cdot) Aggneighbors​(⋅)表示social-space的聚合函數,可以看到使用權重求和并線性變換的方式進行表示,其中, β i o \beta_{io} βio​表示權重, h o I h_o^I hoI​是item-space完成的使用者 o o o的item-space向量表示, N i N_i Ni​表示使用者 i i i在social-space中與其鄰接的所有使用者集合。具體的計算方式和Item Aggregation一樣,篇幅原因,不一而足。

h i h_i hi​表示最終的使用者 i i i的向量表示,先通過連接配接 h i S h_i^S hiS​與 h i I h_i^I hiI​,再通過多層感覺機進行變換得到。

需要指出的是,這裡的權重矩陣和向量如 W W W、 b b b等應該是不同的,在計算過程中應該進行區分,上面為了友善了解,沒有進行更多的區分。

Item Modeling

直接在使用者-物品的互動矩陣中進行提取,使用 z j z_j zj​進行表示, A g g u s e r s Agg_{users} Aggusers​是其聚合函數, μ j t \mu_{jt} μjt​表示注意力系數。

Rating Prediction和Model Training

使用MLP,先通過 h i h_i hi​和 z j z_j zj​的concatenation,然後通過多層感覺機進行非線性變換得到最終的預測結果。

損失函數使用均方誤差MSE進行表示,針對訓練過程,一個三元組 ( i , j , r ) (i, j, r) (i,j,r)表示使用者 i i i對物品 j j j進行評分,評分為 r r r,其中使用者向量 h i h_i hi​、物品向量 z j z_j zj​、評分向量 e r e_r er​都是随機初始化的可訓練參數,除此以外各種MLP中的 W W W和 b b b也是可訓練參數,共同構成訓練參數。

總結一下

針對開頭提出的三個問題,現總結如下:

  1. 不同分數代表使用者的不同意見,作者使用意見向量 e r e_r er​進行表示,進而可以針對不同評分計算不同的意見注意力分數。
  2. user和user之間,通過social aggregation時使用不同user之間的注意力分數 β i o \beta_{io} βio​進行計算
  3. user兩方面的屬性,分别通過social space和item space進行計算,具體的,先通過item space的評分矩陣得到每個使用者的item space表示 h o I h_o^I hoI​,将上面的item space表示 h o I h_o^I hoI​放進social space,完成使用者之間的屬性傳播。

一點不成熟的評價

本文從社交網絡和推薦互動圖兩部分進行學習,完成社會化推薦任務,值得一讀。但是本人認為有以下幾點需要注意一下:

  1. 文章中的數學符号比較亂,容易混淆
  2. 論文最後的related work含金量不高,基本沒有GNN based social recommendation的相關論文,列舉的方法都是比較久遠的矩陣分解一類的方法,可以略過。
  3. 公式中一些不規範表達需要注意一下

繼續閱讀