Multi-view graph convolutional networks with attention mechanism

2023-05-16

摘要
传统的图卷积网络关注于如何高效的探索不同阶跳数(hops)的邻居节点的信息。但是目前的基于GCN的图网络模型都是构建在固定邻接矩阵上的即实际图的一个拓扑视角。当数据包含噪声或者图不完备时,这种方式会限制模型的表达能力。由于数据的测量或者收集会不可避免的会出现错误,因此基于固定结构的图模型表达能力是不充分的。本文提出了基于注意力机制的多视图图卷积网络,将拓扑结构的多个视图和基于注意力的特征聚合策略引入到图卷积中。MAGCN输入多个可靠的拓扑结构,这些结构一般是对应任务给定的结构或者使用经典图构造方法生成的。这样做更有可能为下游任务生成好的表示。

引言
图神经网络尤其是GCN在图数据上取得了很好的效果但是几乎所有的这些方法都是基于预先给定的一个固定的邻接矩阵的,即一个单一视角的图拓扑结构。由于邻接矩阵和理想的关系矩阵之间存在差异,基于单视图的图模型的表达能力受到限制。举个栗子,在Cora数据集中,节点表示表示文章或者文档,节点之间的边是文章之间的实际引用关系。然而很多情况下,两篇论文a和b可能涉及完全不同的主题,但因为论文a中开发的算法在b中用于特殊应用而产生了引用关系。但是论文a和论文b的关键词属性特征完全不同。如果仅根据这种引用关系(跨类连边)构造的拓扑结构进行邻域特征聚合,会导致两个类别不同的节点特征互相融合,从而导致误分类。这意味着除了给定的邻接矩阵外(基于引用关系),还可能有其他的视角可以更好的表示节点之间的关系,比如论文的关键词属性特征的相似性关系。

如何在给定的若干拓扑结构上执行消息传递便是本文要解决的问题。本文的最初想法是对于给定的任务,理想的图拓扑结构预先是不知道的,当前给定的邻接矩阵只是理想关系矩阵的估计,不可避免的会有一定程度的信息丢失。因此,多个邻接矩阵表示一个图的多个视角肯定更加可靠,因为他们提供了更加可靠的节点关系。

首先,给定多个邻接矩阵表示图结构的不同视角,multi-GCN对每个视图使用一个普通的GCN得到节点在不同视图下的表示。然后使用多图注意力模块自适应的融合多个结点级的表示。节点在不同视图中的注意力权重通过将各个视图的池化向量作为MLP的输入来学习得到。最终,在得到融合后的节点表示后,使用融合模块利用各个视图的拓扑结构为每个节点学习新的表示。

理论分析

  1. GCN表达能力的上界分析
    图片: https://uploader.shimo.im/f/zfJPyOnNzjs756Do.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTY4NTM0NjcsImZpbGVHVUlEIjoiNXhrR01QR1paMXVkNlYzWCIsImlhdCI6MTY1Njg1MzE2NywidXNlcklkIjo2NjY4ODY1NX0.YY1Mw8Vl0kv_jpsFX_4MAC2PFeNty3RUE0YrVt3E0iw

  2. 引入多视图的必要性
    在这里插入图片描述
    通过引入多个增强的视图,可以使视图表达的综合关系更加逼近理想的关系矩阵。

  3. GCN与MAGCN的上界分析
    图片: https://uploader.shimo.im/f/Idtn4rAmBWUDjeR4.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTY4NTM0NjcsImZpbGVHVUlEIjoiNXhrR01QR1paMXVkNlYzWCIsImlhdCI6MTY1Njg1MzE2NywidXNlcklkIjo2NjY4ODY1NX0.YY1Mw8Vl0kv_jpsFX_4MAC2PFeNty3RUE0YrVt3E0iw
    定理三表明在给定适当的注意力系数后,MAGCN可以以更高的概率逼近理想误差。

模型结构
图片: https://uploader.shimo.im/f/zXYBvrNW779AWcEK.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTY4NTM0NjcsImZpbGVHVUlEIjoiNXhrR01QR1paMXVkNlYzWCIsImlhdCI6MTY1Njg1MzE2NywidXNlcklkIjo2NjY4ODY1NX0.YY1Mw8Vl0kv_jpsFX_4MAC2PFeNty3RUE0YrVt3E0iw

Pn表示从隐式的完备空间S’中生成的视图,根据信息论,视图Pn与空间S’包含的信息量S之间的条件互信息大于等于一个正的参数。如下公式表示了在给定其他视图后Pn和S之间共享的贡献信息。
图片: https://uploader.shimo.im/f/EJoRA0Ax3SRmBC9y.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTY4NTM0NjcsImZpbGVHVUlEIjoiNXhrR01QR1paMXVkNlYzWCIsImlhdCI6MTY1Njg1MzE2NywidXNlcklkIjo2NjY4ODY1NX0.YY1Mw8Vl0kv_jpsFX_4MAC2PFeNty3RUE0YrVt3E0iw
可以看到,每个视图包含了完备空间中的一部分信息,很自然会想到利用多个拓扑结构学习图上的表示。

本文提出的模型主要分为三个模块分别为多视图表示学习模块,多视图融合模块和分类模块。
1)多视图表示学习模块
不同于传统的GCN只能处理单一的视图,Multi-GCN为每个视图设置一个GCN编码器学习不同视图上的表示信息。

在这里插入图片描述
在这里插入图片描述
其中Ai表示第i个视图的邻接矩阵,X表示节点的特征矩阵。

2)多图注意力融合模块
在分析不同视图对最终结果的影响时,需要设置权重系数调节各个视图中节点表示的权重。本文采用图池化的方式,对学习到的节点表示采用平均池化的方式为每个视图计算出一个全局的图表示xi。
图片: https://uploader.shimo.im/f/sJ1TlvwxystcLVuj.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTY4NTM0NjcsImZpbGVHVUlEIjoiNXhrR01QR1paMXVkNlYzWCIsImlhdCI6MTY1Njg1MzE2NywidXNlcklkIjo2NjY4ODY1NX0.YY1Mw8Vl0kv_jpsFX_4MAC2PFeNty3RUE0YrVt3E0iw
然后将得到的图表示输入到MLP中计算视图级的权重系数C,最后将各个视图的节点表示按照权重进行求和。
在这里插入图片描述
在这里插入图片描述

3)分类模块
在得到融合后的节点表示后,需要将节点映射到与节点类别数目一致的维度。本文通过multi-gcn,利用不同的拓扑结构将节点映射到对应类别上。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

实验
图片: https://uploader.shimo.im/f/UrOQ0vRoFOXZ2cgU.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTY4NTM0NjcsImZpbGVHVUlEIjoiNXhrR01QR1paMXVkNlYzWCIsImlhdCI6MTY1Njg1MzE2NywidXNlcklkIjo2NjY4ODY1NX0.YY1Mw8Vl0kv_jpsFX_4MAC2PFeNty3RUE0YrVt3E0iw

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Multi-view graph convolutional networks with attention mechanism 的相关文章

  • 使用什么来移动 UIView self.frame 或 self.transform 属性?

    这个问题我有点困惑 我知道我可以改变观点self frame origin 但我发现有一个名为 变换 的属性 我认为这是用于在屏幕上移动我的视图等 也许我有点不明白 所以我想知道 我必须使用哪个房产来搬家UIView 或者它的子类 另一个类
  • 如何跳过财务图中的空日期(周末)

    ax plot date dates dates highs lows 我目前正在使用此命令来绘制财务高点和低点Matplotlib http en wikipedia org wiki Matplotlib 效果很好 但如何删除 x 轴上
  • 使用 Haskell 绘制图表

    是否可以使用 Haskell 绘制一个简单的图表 你们中的任何人都可以告诉我该怎么做吗 该图应至少包含 3 个点 Haskell 图表 https github com timbod7 haskell chart似乎不错 The wiki
  • 加权图的 BFS 算法 - 寻找最短距离

    我看过很多帖子 即 post1 https stackoverflow com questions 30409493 using bfs for weighted graphs post2 https cs stackexchange co
  • 用于时间线数据的类似 gnuplot 的程序

    我正在寻找一个类似 gnuplot用于在时间轴中绘制数据图表的程序 类似 gnuplot 在 Linux 上运行 命令行功能 GUI 对我帮助不大 可编写脚本的语法 输出为 jpg png svg 或 gif 输出应该是这样的 set5 s
  • iOS绘图3D图形库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在搜索一个可以帮助我绘制 3D 图表的库 我想要类似的东西这一页 http www math uri edu bkaskosz fla
  • Seaborn HeatMap - 如何在多个不同的数据集中设置颜色分级

    所以我需要在seaborn中创建许多具有不同数据规模的热图 有些范围是 0 100 有些是 100 到 100 我需要做的是保持所有图表的颜色分级相同 例如 我希望任何低于 0 的值稳定地从深蓝色变为浅蓝色 而高于 0 的值则逐渐变为深红色
  • ASP.NET 视图中的区域?

    我正在使用 razor 引擎制作 ASP NET MVC 应用程序 我想知道是否可以使用Regions http msdn microsoft com en us library 9a1ybwek aspx在一个视图中 就像是 region
  • Kohana 3.1 中的模板

    我几个月前就用过它们 然后我改用燃料 然后我又切换回 Kohana 问题 我忘记了如何正确使用模板 我的意思是Controller Template 有教程 http kohanaframework org 3 1 guide kohana
  • 用dagger 2查看依赖注入

    我有一个自定义视图扩展TextView 我应该在哪里调用我的组件来注入视图 component inject customTextView 因此 我发现我需要在自定义视图的构造函数中添加注入 在所有视图中 或者使一个调用另一个 Exampl
  • 基于两个数据库表之间的数据比较创建oracle视图

    我有下表 我想创建视图以便descr O 以及对于常见的id isin两个表中的字段值 检查ratio字段并只取其中的行ratio字段值低 for descr O 如果 id isin 存在于一个表中但不存在于另一个表中 则获取这些行 双向
  • 获取包含位图支持的画布的 Android 视图上的点的像素颜色值

    我正在尝试找出获取给定点上像素颜色值的最佳方法View http developer android com reference android view View html 我可以通过三种方式写入视图 我设置了背景图像View setBa
  • d3 树 - 有相同孩子的父母

    我一直在将代码从 JIT 转换为 D3 并使用树布局 我已经复制了代码http mbostock github com d3 talk 20111018 tree html http mbostock github com d3 talk
  • 读取 CSV 并绘制彩色折线图

    我正在尝试在阈值之前和之后绘制带有彩色标记的图表 如果我使用 for 循环for随着时间的推移读取解析输入文件H M我只能绘制和着色两个点 但对于所有的点我无法绘制 Input akdj 12 00 34515 sdfg sgqv 13 0
  • Ruby on Rails(三)隐藏部分视图

    我正在开发 Ruby on Rails 3 Web 应用程序 我有一个名为User有一列名为role 我正在寻找对视图的这些部分具有 错误 角色的用户隐藏视图部分的最佳方法 例如我希望所有用户都能够看到用户index页面 但我只想要具有角色
  • Django:登录用户并在同一页面上刷新而不定义模板?

    我正在尝试使用引导下拉登录表单来让用户登录 我可以对我的用户名和密码进行硬编码并进行身份验证 但我试图在不进入登录屏幕的情况下让用户登录 这是我的代码 模板 我使用操作来调用 logUserIn url 以便表单可以发布到该视图 ul cl
  • 计算 Adamic-Adar 的快速算法

    我正在研究图形分析 我想计算一个 N N 相似度矩阵 其中包含每两个顶点之间的 Adamic Adar 相似度 为了概述 Adamic Adar 让我从以下介绍开始 给定邻接矩阵A无向图的G CN是两个顶点的所有公共邻居的集合x y 两个顶
  • Python 3.x 中的绘图

    在Python 2 6中 我使用matplotlib制作了一些简单的图表 但是 它与 Python 3 1 不兼容 有哪些替代模块可以完成相同的事情而不非常复杂 您说您想创建一些简单的图表 但没有真正说明您想要多简单或哪种类型的图表 只要它
  • ggplot2可以在一个图例中分别控制点大小和线大小(线宽)吗?

    一个使用的例子ggplot2绘制数据点组和连接每组均值的线 并使用相同的映射aes for shape并为linetype p lt ggplot mtcars aes gear mpg shape factor cyl linetype
  • 添加边权重以在 networkx 中绘制输出

    我正在使用 networkx 包在 python 中做一些图论 我想 将图表边缘的权重添加到绘图输出中 我怎样才能做到这一点 例如 我如何修改以下代码以获得所需的输出 import networkx as nx import matplot

随机推荐

  • 二进制部署Prometheus + Grafana监控集群,及各exporter安装

    一 Prometheus 监控集群概述 Prometheus三大组件 xff1a Server 主要负责数据采集和存储 xff0c 提供PromQL查询语言的支持 Alertmanager 警告管理器 xff0c 用来进行报警 Push G
  • MVC4 网站发布(整理 + 部分转载 + 部分问题收集和解决方案)

    网站发布步骤 这部分是转载文章 在此标明出处 xff0c 以前有文章是转的没标明的请谅解 xff0c 因为有些已经无法找到出处 xff0c 或者与其它原因 如有冒犯请联系本人 xff0c 或删除 xff0c 或标明出处 因为好的文章 xff
  • 2022-适用于 Windows 10 Version 1809 的 02 累积更新,适合基于 x64 的系统 (KB5010351) - 错误 0x800f0982

    2022 适用于 Windows 10 Version 1809 的 02 累积更新 xff0c 适合基于 x64 的系统 KB5010351 错误 0x800f0982 系统是win10 企业版 LTSC版本 可能安装的是精简版导致的 运
  • sqlsever中text字段类型是否会影响查询性能

    先上结论 会影响查询性能 我在库里找了一张表T Sys Log 然后做2个副本 备份表 SELECT INTO T Sys Log back FROM T Sys Log SELECT INTO T Sys Log back2 FROM T
  • 【无标题】

    起因 2010 年 xff0c 谷歌宣布退出地内市场的时候 xff0c 一直保留着 谷歌地图 和 谷歌翻译 这两个公共服务 有兴趣自行百度下谷歌和百度恩怨 在 2020 年 xff0c 谷歌停止了 谷歌地图 在内地的服务 现在 xff0c
  • vmware ESXI 裸金属架构 本地服务器 开启Intel VT-x(虚拟化技术)

    我想使用vmware ESXI 安装的WIN10虚拟机中装vmware软件再装win10 即虚拟机中套虚拟机 基于工作要求某个XXX项目需要开启VPN远程到客户内网进行维护 客户对网络审计比较严 安装VPN的那台机子识别码要上传服务器 基本
  • 对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性。

    因为是转载文章 在此标明出处 xff0c 以前有文章是转的没标明的请谅解 xff0c 因为有些已经无法找到出处 xff0c 或者与其它原因 如有冒犯请联系本人 xff0c 或删除 xff0c 或标明出处 因为好的文章 xff0c 以前只想收
  • 一元正态分布

    d import numpy as np import matplotlib pyplot as plt from scipy stats import norm 生成100个正态分布数据 xff0c 均值为1 xff0c 标准差为2 da
  • CaptureLayer的另外一个调用例子TaskSnapshot

    在前一篇讨论中 xff0c 我们查找了系统中调用captureLayers的地方 1323 public static GraphicBuffer captureLayers IBinder layerHandleToken Rect so
  • visualsvn server 无法访问url

    IIS 发布网站 本机能访问 其它人访问不了 看一下服务端 VisualSVN Server 的服务有没有启动 x A 34 H g6 L N s 管理 服务 VisualSVN Server 备注 做为开发机子 手动优化自己的电脑吧 否则
  • JS日期加减,日期运算

    因为是转载文章 在此标明出处 xff0c 以前有文章是转的没标明的请谅解 xff0c 因为有些已经无法找到出处 xff0c 或者与其它原因 如有冒犯请联系本人 xff0c 或删除 xff0c 或标明出处 因为好的文章 xff0c 以前只想收
  • jQuery easyui 选中特定的tab

    获取选中的 Tab 1 获取选中的 tab panel 和它的 tab 对象 2 var pp 61 39 tt 39 tabs 39 getSelected 39 3 var tab 61 pp panel 39 options 39 t
  • Server Error in '/' Application. 解决办法

    Server Error in 39 39 Application Access to the path 39 E NetWeb2 Content upFile BClientExcel 大客户部通讯录导入 xlsx 39 is denie
  • easyui-datagrid 数据出不来(样式引起的bug)

    今天任务是需要从另一个项目中将某几个功能页面移植到现有的项目中 这是比较繁琐的功能 理解要移植功能的逻辑 xff08 业务逻辑 xff0c 涉及到的表和存储过程 xff09 页面样式 这么是我遇到的一个问题之一 xff1b 我需要展现一个e
  • c#切割字符串几种方法

    1 xff0c 按单一字符切割 string s 61 34 abcdeabcdeabcde 34 string sArray 61 s Split 34 c 34 oreach string i in sArray Console Wri
  • 动态链接库与静态链接库的区别

    静态链接库与动态链接库都是共享代码的方式 xff0c 如果采用静态链接库 xff0c 则无论你愿不愿意 xff0c lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了 但是若使用 DLL xff0c 该 DLL 不必被包含在最终
  • ssm——小学期实训总结

    实训总结 经过这两个星期短暂的学习 xff0c 我学习了ssm的框架搭建与web前端设计基础 在第一个星期 xff0c 老师着重为我们讲了框架的原理 搭建与运用 xff1b 而在第二个星期 xff0c 重点则转移到了小组对项目的开发与研究上
  • 节点中心性

    文章目录 度中心性 Degree Centrality 特征向量中心性 Eigenvector Centrality Katz中心性 Katz Centrality Katz index PageRank中心性PageRank算法 接近中心
  • 机器学习面试知识点总结

    文章目录 计算学习理论过拟合与欠拟合过拟合欠拟合 偏差与方差最大似然估计与贝叶斯估计极大似然估计贝叶斯决策论贝叶斯估计 特征工程与特征选择特征工程逐层归一化特征选择 模型融合融合策略 评估方法与评价指标评估方法评价指标 优化算法正则化深度模
  • Multi-view graph convolutional networks with attention mechanism

    摘要 传统的图卷积网络关注于如何高效的探索不同阶跳数 hops 的邻居节点的信息 但是目前的基于GCN的图网络模型都是构建在固定邻接矩阵上的即实际图的一个拓扑视角 当数据包含噪声或者图不完备时 xff0c 这种方式会限制模型的表达能力 由于