論文メモ

Neural Graph Collaborative Filtering

概要

  • 本研究では、ユーザーアイテムのインタラクションから高次の接続性を利用する
  • 既存の取り組みでは、IDや属性など、ユーザー(またはアイテム)を記述する既存の特徴からマッピングすることで、ユーザー(またはアイテム)のエンベッディングを得るのが一般的
    • ユーザーとアイテムのインタラクションに潜在する協調的なシグナルが、エンベッディングにエンコードされていないことであると主張
  • 高次の接続性情報を埋め込み関数でモデル化
  • 2つの層を重ねることで,$u_1 \leftarrow i_2 \leftarrow u_2 $の行動の類似性を捉え,3つの層を重ねることで,$u_1 ← i_2 ← i_4$ の潜在的な推薦を捉え,情報の流れの強さ(層間の学習可能な重みによって推定される)によって,$i_4$ と $i_5$ の推薦の優先度を決定
  • 方法
    1. ユーザの埋め込みとアイテムの埋め込みを提供し、初期化する埋め込み層
    2. 高次の接続関係を注入して埋め込みを改良する複数の埋め込み伝搬層
    3. 異なる伝搬層からの改良された埋め込みを集約し、ユーザとアイテムのペアの親和性スコアを出力する予測層

  • 埋め込みベクトルの伝播

$$ \mathrm{m}_{u \leftarrow i}=f\left(\mathrm{e}_{i}, \mathrm{e}_{u}, p_{u i}\right) $$

$$ \mathbf{m}_{u \leftarrow i}=\frac{1}{\sqrt{\left|\mathcal{N}_{u}\right|\left|\mathcal{N}_{i}\right|}}\left(\mathbf{W}_{1} \mathbf{e}_{i}+\mathbf{W}_{2}\left(\mathbf{e}_{i} \odot \mathbf{e}_{u}\right)\right) $$

  • 活性化関数

$$ \mathrm{e}_{u}^{(1)}=\operatorname{LeakyReLU}\left(\mathrm{m}_{u \leftarrow u}+\sum_{i \in \mathcal{N}_{u}} \mathrm{~m}_{u \leftarrow i}\right) $$

  • user-itemの2部グラフの隣接行列のグラフラプラシアン

$$ \mathcal{L}=\mathrm{D}^{-\frac{1}{2}} \mathrm{AD}^{-\frac{1}{2}} , \mathrm{A}=\left(\begin{array}{cc} 0 & \mathrm{R} \\ \mathrm{R}^{\top} & 0 \end{array}\right) $$