首页 > 其他分享 >Multi-View Graph Convolutional Network for Multimedia Recommendation

Multi-View Graph Convolutional Network for Multimedia Recommendation

时间:2024-03-22 10:25:20浏览次数:32  
标签:Convolutional bar Multi mathbf Network mul mathcal id mathbb

目录

Yu P., Tan Z., Lu G. and Bao B. Multi-view graph convolutional network for multimedia recommendation. MM, 2023.

本文主要处理模态内的一些不合理的相似度 (可以理解为噪声).

符号说明

  • \(\mathcal{U} = \{u\}\), users;
  • \(\mathcal{I} = \{i\}\), items;
  • \(\mathcal{M} = \{m\}\), modalities;
  • \(\mathcal{G} = (\mathcal{V}, \mathcal{E}), \mathcal{V} = \mathcal{U} \cup \mathcal{I}\), behavior graph;
  • \(\mathbf{E}_{id} \in \mathbb{R}^{d \times (|U| + |I|)}\), id embeddings;
  • \(\mathbf{E}_{i, m} \in \mathbb{R}^{d_m \times |I|}\), item modality features;

MGCN

Motivation

  • 如上图所示, 两幅图片实际上展示的是两种不同的商品 (我怎么看着还挺一致的?), 但是因为图片的背景的相似度等等, 这两张图片在隐空间中的表示的 cosine 相似度能够达到 0.648.

  • 可以认为, 图片中的无关商品的因素会带来很大的噪声, 使得商品的相互建模产生一些问题.

Behavior-Guided Purifier

  • 本文的第一步就是利用 behavior 信息来对模态信息进行一个过滤:
    1. 首先对原始的模态特征 \(\mathbf{E}_{i,m}\) 进行一个线性变换:

      \[\mathbf{\dot{E}}_{i, m} = \mathbf{W}_1 \mathbf{E}_{i, m} + \mathbf{b}_1, \]

      其中 \(\mathbf{W}_1 \in \mathbb{R}^{d \times d_m}, \mathbf{b}_1 \in \mathbb{R}^d\).

    2. 通过 behavior 信息进行调整:

      \[\mathbf{\ddot{E}}_{i,m} = f_{gate}^m (\mathbf{E}_{i, id}, \mathbf{\dot{E}}_{i, m}) = \mathbf{E}_{i, id} \odot \sigma(\mathbf{W}_2 \mathbf{\dot{E}}_{i, m} + \mathbf{b}_2), \]

      其中 \(\mathbf{W}_2 \in \mathbb{R}^{d \times d}, \mathbf{b}_2 \in \mathbb{R}^d\).
      \(\odot\) 表示 element-wise 的乘法, \(\sigma\) 表示 sigmoid 激活函数.

Multi-View Information Encoder

  • User-Item View: 首先通过 LightGCN 在 User-Item 的图上将 id embedding \(\mathbf{E}_{id}\) 转换为 \(\mathbf{\bar{E}}_{id}\).

  • Item-Item View: 首先和 LATTICE 一样得到 kNN Item-Item graph 的标准化后的邻接矩阵 \(\mathcal{\ddot{S}}_m\), 然后通过

    \[\mathbf{\bar{E}}_{i, m} = \mathbf{\ddot{E}}_{i,m} \mathcal{\ddot{S}}_{m} \]

    得到平滑后的 item modality embeddings.
    然后 user modality features 通过聚合 user 交互过的 items 的 modality features 得到:

    \[\mathbf{\ddot{e}}_{u, m} = \sum_{i \in \mathcal{N}_u} \frac{1}{ \sqrt{|\mathcal{N}_u| |\mathcal{N}_i|} } \mathbf{\bar{e}}_{i, m}. \]

  • 将二者拼接起来得到:

    \[\mathbf{\bar{E}}_m = [\mathbf{\bar{E}}_{u, m}, \mathbf{\bar{E}}_{i, m}] \in \mathbb{R}^{d \times (|U| + |I|)}. \]

Behavior-Aware Fuser

  • 接着我们要把之前的特征融合起来.

  • Modality prefrences:

    \[\mathbf{P}_m = \sigma( \mathbf{W}_3 \mathbf{\bar{E}}_{id} + \mathbf{b}_3 ), \]

    其中 \(\mathbf{W}_3 \in \mathbb{R}^{d \times d}, \mathbf{b}_3 \in \mathbb{R}^{d}\).

  • Modality-shared features:

    \[\mathbf{E}_s = \sum_{m \in \mathcal{M}} \alpha_m \mathbf{\bar{E}}_m, \\ \alpha_m = \text{softmax}(\mathbf{q}_1^T \tanh (\mathbf{W}_4 \mathbf{\bar{E}}_m + \mathbf{b}_4)). \]

    其中 \(\mathbf{W}_4 \in \mathbb{R}^{d \times d}, \mathbf{b}_4 \in \mathbb{R}^{d}\), \(\mathbf{q}_1 \in \mathbb{R}^d\) 表示 attention vector.

  • Modality-specific features:

    \[\mathbf{\tilde{E}}_m = \mathbf{\bar{E}}_m - \mathbf{E}_s. \]

  • 最后融合得到最后的特征:

    \[\mathbf{E}_{mul} = \mathbf{E}_s + \frac{1}{\mathcal{M}} \sum_{m \in \mathcal{M}} \mathbf{\tilde{E}}_m \odot \mathbf{P}_m. \]

Prediciton

  • user embedding:

    \[\mathbf{e}_u = \mathbf{\bar{e}}_{u, id} + \mathbf{e}_{u, mul}, \\ \mathbf{e}_i = \mathbf{\bar{e}}_{i, id} + \mathbf{e}_{i, mul}. \]

  • score:

    \[\hat{y}_{ui} = \mathbf{e}_u^T \mathbf{e}_i. \]

Optimation

  • 损失如下

    \[\mathcal{L} = \mathcal{L}_{BPR} + \lambda \mathcal{L}_C, \]

    其中 \(\mathcal{L}_C\):

    \[\mathcal{L}_C = \sum_{u \in \mathcal{U}} -\log \frac{ \exp( e_{u, mul} \cdot \bar{e}_{u, id} / \tau ) }{ \sum_{v \in \mathcal{U}} \exp(e_{v, mul} \cdot \bar{e}_{v, id} / \tau) } \sum_{i \in \mathcal{I}} -\log \frac{ \exp( e_{i, mul} \cdot \bar{e}_{i, id} / \tau ) }{ \sum_{j \in \mathcal{I}} \exp(e_{j, mul} \cdot \bar{e}_{j, id} / \tau) }. \]

  • 作者说其 \(\mathcal{L}_C\) 的目的是促进 behavior 和模态信息的利用, 看着只是单纯对比损失好用吧.

代码

[official]

标签:Convolutional,bar,Multi,mathbf,Network,mul,mathcal,id,mathbb
From: https://www.cnblogs.com/MTandHJ/p/18088841

相关文章

  • A Tale of Two Graphs: Freezing and Denoising Graph Structures for Multimodal Rec
    目录概FREEDOMMotivationFrozenItem-ItemgraphDenoisingUser-ItemBipartiteGraphTwoGraphsforLearning代码ZhouX.andShenZ.Ataleoftwographs:Freezinganddenoisinggraphstructuresformultimodalrecommendation.概本文主要是对LATTICE的改进.FREE......
  • SpringCloud 使用feign进行文件MultipartFile传输
    SpringCloud组件fiegn默认是不支持传递文件的。但是提供了feign-form扩展工具解决方法:步骤一:在消费者服务中加入相关pom依赖。<!--解决SpringCloud组件feign默认是不支持传递文件的--><dependency><groupId>io.github.openfeign.form</groupId>......
  • GUROBI案例实战(一)——Supply Network Design(网络流模型)
    GUROBI官方给出的案例,但本篇实现方式与其有些不一样,并且对一些函数给出了解释:ymodeling-examples/supply_network_design/supply_network_design_1.ipynbatmaster·Gurobi/modeling-examples(github.com)一、问题描述给定两个工厂、四个中转站、六个客户:FactorySupply......
  • Meta-Learned Attribute Self-Interaction Network for Continual and GeneralizedZer
    目录摘要介绍releatedworkzero-shotlearning零样本持续学习提出的方法bibtex格式参考文献摘要零样本学习(ZSL)是一种有希望的方法,通过利用类别属性将模型推广到训练期间未见过的类别,但仍然存在挑战。最近,利用生成模型来解决对训练期间已见类别的偏见的方法推动了技......
  • 【EDSR】《Enhanced Deep Residual Networks for Single Image Super-Resolution》
    CVPRworkshops-2017code:https://github.com/limbee/NTIRE2017/tree/masterhttps://github.com/sanghyun-son/EDSR-PyTorch文章目录1BackgroundandMotivation2RelatedWork3Advantages/Contributions4Method4.1Residualblocks4.2Single-scalemodel4.3M......
  • Learning Disentangled Graph Convolutional Networks Locally and Globally论文阅读
    LearningDisentangledGraphConvolutionalNetworksLocallyandGlobally论文阅读笔记Abstract存在的问题:​ 尽管现有的gcn取得了成功,但它们通常忽略了现实世界图中通常出现的纠缠潜在因素,这导致了无法解释的节点表示。更糟糕的是,虽然重点放在局部图信息上,但整个图的全局知......
  • SciTech-Mathmatics-ComplexSpace + (Discrete)Multi-Dimensional FourierTransform:
    多维\(C^k\)复数空间(k维复数空间)上的离散傅立叶变换(FourierTransform)可以合成任意的\(R^n\)几何体;\(C^k\)复数空间(k维复数空间):每一列向量,有k维度的变量;每一维度变量,是一个复数类型因变量\(z\);每一个复数类型因变量\(z\),都是时间\(t\)(\(R\)实数类型自变量)的函数,表......
  • P2746 [USACO5.3] 校园网Network of Schools 题解
    题目链接:校园网NetworkofSchools这个题得翻译下题目意思才知道在干嘛,题目一开始表明了这个是一个有向图,因为边是单向的。其次关于第一个问题:基于一个事实,如果有\(x\rightarrowy\rightarrowz\),那么只需要\(x\)接受协议,它所在的\(scc\)强连通分量上的点一定都能不需要......
  • KGAT Knowledge Graph Attention Network for Recommendation
    目录概符号说明KGATEmbeddingLayerAttentiveEmbeddingPropagationLayers代码WangX.,HeX.,CaoY.,LiuM.andChuaT.KGAT:Knowledgegraphattentionnetworkforrecommendation.KDD,2019.概知识图谱for推荐系统.符号说明\(\mathcal{G}_1=\{(u,y_{ui}......
  • set/multiset容器
    set/multiset容器头文件:#include<set>1.set基本概念所有元素都会在插入时自动被排序set/multiset属于关联式容器,底层结构是用二叉树实现。set和multiset区别:set不允许容器中有重复的元素multiset允许容器中有重复的元素2.set构造和赋值构造:set<T>st;//默......