图神经网络系列之消息传递

news/2024/7/3 0:38:26

文章目录

  • 1.前言
  • 2.消息传递机制
    • 1.RecGNN
    • 2.ConvGNNs
    • 3.GAT

1.前言

相比较于神经网络最基本的网络结构全连接层(MLP),特征矩阵乘以权重矩阵,图神经网络多了一个邻接矩阵。计算形式很简单,三个矩阵相乘再加上一个非线性变换。
在这里插入图片描述
因此一个比较常见的图神经网络的应用模式如下图,输入是一个图,经过多层图卷积等各种操作以及激活函数,最终得到各个节点的表示,以便于进行节点分类、链接预测、图与子图的生成等等任务。
在这里插入图片描述
消息传递机制(属性向量优化的方法叫做消息传递机制)是目前GNN的主流研究方向,以下面这个无向图举例说明各类别网络的消息传递机制的不同

2.消息传递机制

1.RecGNN

[ h 1 ′ h 2 ′ h 3 ′ h 4 ′ h 5 ′ ] = [ 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 ] ∗ [ h 1 h 2 h 3 h 4 h 5 ] \begin{bmatrix} h_1^{'}\\h_2^{'}\\h_3^{'}\\h_4^{'}\\h_5^{'} \end{bmatrix} = \begin{bmatrix} 0&1&1&0&1\\1&0&0&1&0\\1&0&0&1&0\\0&1&1&0&0\\1&0&0&0&0 \end{bmatrix} * \begin{bmatrix} h_1\\h_2\\h_3\\h_4\\h_5 \end{bmatrix} h1h2h3h4h5 = 0110110010100100110010000 h1h2h3h4h5
最原始的GNN是SUM求和传递机制, 可以看出 h 1 ′ = h 2 + h 3 + h 5 h_1^{'} = h_2 + h_3 + h_5 h1=h2+h3+h5
在这里插入图片描述

2.ConvGNNs

图卷积网络(GCN)就考虑到了节点的度,度越大,权重越小,使用了加权的SUM
[ h 1 ′ h 2 ′ h 3 ′ h 4 ′ h 5 ′ ] = [ 0 1 3 2 1 3 2 0 1 3 1 ⋮ ⋮ ⋮ ⋮ ⋮ ] ∗ [ h 1 h 2 h 3 h 4 h 5 ] \begin{bmatrix} h_1^{'}\\h_2^{'}\\h_3^{'}\\h_4^{'}\\h_5^{'} \end{bmatrix} = \begin{bmatrix} 0&\frac{1}{\sqrt{3}\sqrt{2}}&\frac{1}{\sqrt{3}\sqrt{2}}&0&\frac{1}{\sqrt{3}\sqrt{1}}\\\vdots&\vdots&\vdots&\vdots&\vdots \end{bmatrix} * \begin{bmatrix} h_1\\h_2\\h_3\\h_4\\h_5 \end{bmatrix} h1h2h3h4h5 =[03 2 13 2 103 1 1] h1h2h3h4h5
可以看出, h 1 ′ = 1 3 2 h 2 + 1 3 2 h 3 + 1 3 1 h 5 h_1^{'} = \frac{1}{\sqrt{3}\sqrt{2}}h_2 + \frac{1}{\sqrt{3}\sqrt{2}}h_3 + \frac{1}{\sqrt{3}\sqrt{1}}h_5 h1=3 2 1h2+3 2 1h3+3 1 1h5
在这里插入图片描述

3.GAT

再到后面发展为图注意力网络GAT,在消息传递过程中引入了注意力机制:
在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1555940.html

相关文章

java字符串训练与学习

package com.itheima;import java.util.StringTokenizer;public class 字符串训练学习 {public static void main(String[] args) {String s new String("HelloWorld");System.out.println(s);System.out.println(s.length());//创建字符串//String s new String(&…

「大数据-0.1」虚拟机VMware安装、配置、使用、创建大数据集群教程

目录 一、下载VMware Wworkstation Pro 16 二、安装VMware Wworkstation Pro 16 三、检查与设置VMware的网卡 1. 检查 2. 设置VMware网段 四、在VMware上安装Linux虚拟机 五、对安装好的虚拟机进行设置 1. 打开设置 2. 设置中文 3. 修改字体大小 4. 修改终端字体大小 5. 关闭虚…

如何使用 MATLAB 数学编程软件调用 Python 脚本详细教程(每周更新中)

MATLAB 读写操作 在 MATLAB 中,可以使用各种函数来读取和写入文件。其中,filename.txt 是要读取或写入的文件名,r 表示读取模式,w 表示写入模式。fscanf 和 fprintf 函数用于读取和写入文件内容,%c 和 %s 是格式说明符…

element ui-表头自定义提示框

版本 “element-ui”: “^2.15.5”,需求&#xff1a;鼠标悬浮到该列表头&#xff0c;显示提示框代码 <el-table:data"xxxx"><el-table-column label"序号" width"40" type"index" /><el-table-columnv-for"(ite…

激光焊如何更准更稳?维视智造激光焊视觉解决方案助力精密制造

激光焊接是一种高能密度、非接触的焊接技术&#xff0c;它利用激光束对工件进行加热和熔化&#xff0c;然后使其在熔池的情况下形成连接。与传统的焊接方法相比&#xff0c;激光焊具有高密度、熔深小、变形小、焊缝质量高、适用性广、自动化程度高等特点&#xff0c;可以实现焊…

Ubuntu20.4搭建基于iRedMail的邮件服务器

iRedMail 是一个基于 Linux/BSD 系统的零成本、功能完备、成熟的邮件服务器解决方案。基于ubuntu20.4搭建基于iRedMail的邮件服务器包括环境配置&#xff0c;iRedMail安装与配置&#xff0c;iRedMail调整邮件附件大小等3个小节进行描述。具体如下详细描述。 1 环境配置 1.设置…

powerDesigner 导入导出字段增加注释

打开脚本执行器 打开powerDesigner 按CtrlShiftX 打开脚本编辑器,也可以去菜单中找(Tools --> Excute commands --> Edit/Run Script). 运行脚本即可 Option Explicit ValidationMode True InteractiveMode im_BatchDim mdl the current model get the current acti…

【MATLAB】安装 shared_slreportgen_reportexplorer_common 时检测到以下错误

解决方法 下载matlab的时候以及安装的时候关闭杀毒软件。 然后也可以把simulink和DSP以及signal processing 相关的toolbox全部不勾选&#xff08;推荐&#xff09; 这两个工具箱没有其实没啥大的影响&#xff0c;就是信号处理这块的增强功能没有了 &#xff08;来自&#xff…