MGAT: Multimodal Graph Attention Network for Recommendation

news/2024/11/14 8:20:02/

模型总览如下:

图1:多模态图注意力网络

背景:本论文是对MMGCN(Wei et al., 2019)的改进。MMGCN简单地在并行交互图上使用GNN,平等地对待从所有邻居传播的信息,无法自适应地捕获用户偏好。

MMGCN的消息聚合方式如下:

     

(平均值聚合

(最大值聚合)

j_{m}:邻居的特征向量

W_{1,m}:可训练的权重矩阵用于提取邻居的有用特征

由公式可见所有邻居都信息都通过W_{1,m}矩阵进行特征提取。当用户分别喜欢物品A的音乐,B的字幕。在音频模态上同等程度的提取B的音频特征,无疑会加入噪声。MGAT对MMGCN针对这点做了改进。

MGAT消息构造如下所示:

  • h:中心节点
  • t:h的邻居节点
  • e_{m,t}:物品t在模态m上的特征表示
  • f_{a}(h,t) : 注意力组件,学习不同邻居的重要性,反映两个节点之间的亲疏关系。

   

      利用Sotfmax函数进行正则化:

    

      其中w_{m,h}以及w_{m,t}是两个可训练矩阵,e_{m,i}为物品i 在模态m上的特征。为了简单起见,论文  中   直接用内积做为注意力分数。

  • f_{g}(h,t)决定项目的每个模态是否将信息传播给目标用户。

(内积门)

(连接门)

(双相互作用门)

其中d为节点h 的邻居的数量。

 三种门的效果对比:

 由实验结果可以发现“最简单”的内积门在两个数据集上的表现都最好,可能原因是其他两个门通过变换矩阵做了特征变换,造成了过拟合。

一层信息融合(h距离一跳的邻居):

 

 e_{m,h}为用户h在模态m上的特征表示,e_{h}为用户h的id特征。物品的不同模态属于不同的语意空间,通过下方的公式将物品所有模态的特征表示都转换到id空间,并在用户的特征表示中加入id属性。上面的公式也是同样的道理,将模态m上从邻居那里得到的信息转换到ID空间,并与自己的特征相结合,得到h在模态m上的最终表示 

高层信息融合

节点h在模态m上汇聚了l跳邻居信息后得到的表征。

节点h的表征为 。

预测:

 

同时融合了各层邻居的信息。


http://www.ppmy.cn/news/30797.html

相关文章

乐鑫特权隔离机制 #4 | 用户应用程序的安全启动

乐鑫特权隔离机制 系列文章 #4 目录 安全启动 (Secure boot) 受保护应用程序的安全启动 (Secure boot for protected app ) 用户应用程序的安全启动 (Secure boot for user app) 基于证书的验证方案 (Certificate-based verification scheme) 必要条件验证过程​​​​​…

部署安装Nginx服务实例

其他服务: 搭建zabbix4.0监控服务实例 普罗米修斯监控mysql数据库实战 Linux安装MySQL数据库步骤 一. Nginx概念介绍 1.介绍Nginx程序 Nginx (engine x) 是一款开源且高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。主要特点是占用…

redis集群模式登陆

总结redis单机模式时,登陆redis的命令格式: ./redis-cli -h 地址 -p 端口redis集群模式时,登陆redis的命令格式: ./redis-cli -h 地址 -p 端口 -c举例1:redis单机模式下登陆rootubuntu:/usr/local/redis/redis-7.0.0/b…

Java之内部类

目录 一.内部类 1.什么是内部类 2.内部类存在的原因 3. 内部类的分类 4.内部类的作用 二.成员内部类 1.基本概念 2.成员内部类的注意点 1.成员内部类可以用private方法进行修饰 2.成员内部类可以直接访问外部类的私有属性 3.外部类可以通过对象访问内部类的私有属性 …

【PySide6】信号(signal)和槽函数(slot),以及事件过滤器

说明 在PYQT中,父控件可以通过两种方式响应子控件的事件: 通过信号(signal)和槽函数(slot)机制连接子控件和父控件父控件可以通过设置eventFilter()方法来监听响应子控件的事件 一、信号(signal)和槽函数(slot) 示例 在PYQT中,每个组件都…

sizeof与一维数组和二维数组

🍕博客主页:️自信不孤单 🍬文章专栏:C语言 🍚代码仓库:破浪晓梦 🍭欢迎关注:欢迎大家点赞收藏关注 sizeof与一维数组和二维数组 文章目录sizeof与一维数组和二维数组前言1. sizeof与…

【信号量机制及应用】

水善利万物而不争,处众人之所恶,故几于道💦 目录 一、信号量机制 二、信号量的应用 >利用信号量实现进程互斥   >利用信号量实现前驱关系   >利用记录型信号量实现同步 三、例题 四、参考 一、信号量机制 信号量是操作系统提…

2.Elasticsearch入门

2.Elasticsearch入门[toc]1.Elasticsearch简介Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。 能够达到实时搜索,稳定,可靠,快速,安装使用方便。客户端支持Java、.NET(C#)、PHP、Pyth…