Neural Graph Collaborative Filtering


Neural Graph Collaborative Filtering

Neural Graph Collaborative Filtering

Drawback of the previous learning-based models: collaborative signal is not encoded in the embedding process.

A new recommendation framework is proposed: NGCF.

Two key components in learnable CF models: 1. embedding 2. interaction modeling

For CF, these methods are not sufficient to yield satisfactory embeddings for CF. The key reason lies in collaborative signal!

collaborative signal: reveal the behavioral similarity between users or items

To be more specific, interaction information tends to be neglected when embedding the nodes while employed to define the objective function for model training.

Framework: embedding layer -> multiple embedding propagation layers -> prediction layer

​ initialized state -> refined embedding ->

  • First-order propagation:
    • message construction:

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

    • message aggregation:

    \mathbf{e}_{u}^{(1)}=\text { LeakyReLU }\left(\mathbf{m}_{u \leftarrow u}+\sum_{i \in \mathcal{N}_{u}} \mathbf{m}_{u \leftarrow i}\right)

    where: m_{u \leftarrow u}=W_1e_{u}

  • High-order propagation:

High-order connectivities are crucial to encode the collaborative signal to estimate the relevance score…

In the l-th step, the representation of user u is recursively formulated as:

\mathbf{e}_{u}^{(l)}=\text { LeakyReLU }\left(\mathbf{m}_{u \leftarrow u}^{(l)}+\sum_{i \in \mathcal{N}_{u}} \mathbf{m}_{u \leftarrow i}^{(l)}\right)

\mathbf{m}_{u \leftarrow i}^{(l)}=p_{u i}\left(\mathbf{W}_{1}^{(l)} \mathbf{e}_{i}^{(l-1)}+\mathbf{W}_{2}^{(l)}\left(\mathbf{e}_{i}^{(l-1)} \odot \mathbf{e}_{u}^{(l-1)}\right)\right)

\mathbf{m}_{u \leftarrow u}^{(l)}=\mathbf{W}_{1}^{(l)} \mathbf{e}_{u}^{(l-1)}

Matrix form:

\mathrm{E}^{(l)}=\text { LeakyReLU }\left((\mathcal{L}+\mathrm{I}) \mathrm{E}^{(l-1)} \mathbf{W}_{1}^{(l)}+\mathcal{L} \mathrm{E}^{(l-1)} \odot \mathrm{E}^{(l-1)} \mathbf{W}_{2}^{(l)}\right)

concatenating the representations from different layers to the final embedding:

\mathbf{e}_{u}^{*}=\mathbf{e}_{u}^{(0)}\Vert\cdots\Vert \mathbf{e}_{u}^{(L)}, \quad \mathbf{e}_{i}^{*}=\mathbf{e}_{i}^{(0)}\Vert\cdots\Vert \mathbf{e}_{i}^{(L)}

Finally, we conduct the inner product to estimate the user’s preference towards the target item:

\hat{y}_{\mathrm{NGCF}}(u, i)=\mathrm{e}_{u}^{* \top} \mathrm{e}_{i}^{*}

Optimization -> BPR Loss

\text { Loss }=\sum_{(u, i, j) \in O}-\ln \sigma\left(\hat{y}_{u i}-\hat{y}_{u j}\right)+\lambda|\Theta|_{2}^{2}


What are the recall and ndcg?


admin administrator