【图神经网络】李宏毅

news2024/11/20 1:26:41

GNN 引入

假如要预测一个人是否是凶手。可以通过每个角色的特征训练出一个分类器。

在这里插入图片描述

有没有我们忽略的信息,或者我们可以利用但没有完全利用的信息。就是角色的关系。

在这里插入图片描述

这些角色关系可以让我们在做分类的时候获得一些额外的信息,可以帮助我们做更好的model。怎样同时考虑角色的特征和角色之间的关系,这个时候就要用GNN。

CNN 扩展到 GNN

在这里插入图片描述
对于CNN,通过卷积核,将一个点周围的邻居和卷积核对应相乘相加,得到下一层 feature map 的结果。这件事情能否 generalize 到 graph 上?
对于GNN,能否有一个类似卷积核的东西?

在这里插入图片描述

方法一:通过邻居 update ferture map。
方法二:信号处理的方法。先把信号转到 fourier domain 里面,再把转到 fourier domain 的信号和转到 fourier domain 的 filter response 做相乘,相乘之后再做 inverse fourier transform,就可以得到最后经过 filter 的信号。

如何在 graph 上做 convolution

有两种方式,就是上面讲的两个方法,一种是 Spatial-based 方法,一种是 Spectral-based 方法。

在这里插入图片描述

Spatial-based GNN

回顾 CNN 的做法
在这里插入图片描述
Spatial-based GNN 的做法
在这里插入图片描述

NN4G

看一下具体的 GNN 是如何做的

先做 embedding
embedding 是一个将离散变量转为连续向量表示的一个方式。
在这里插入图片描述
更新一个节点的做法
将邻居节点的特征相加,经过一个 transform,再加上该节点原本的特征。
在这里插入图片描述
Readout 的做法

在这里插入图片描述

DCNN

在这里插入图片描述
第一层是将跟节点3距离为1的节点取平均,第二层是将跟节点3距离为2的节点取平均。如果叠 k 层,就能看到 k 邻居的信息。

在这里插入图片描述
把每一层节点的特征叠起来。

在这里插入图片描述
得到最终某个节点的特征。

DGC

和 DCNN 的区别
在这里插入图片描述

MoNET

NN4G 是将每个节点相加,没有考虑邻居的权重。MoNET 考虑了邻居的权重。
在这里插入图片描述

GAT

MoNET 是定义了权重的计算方式,GAT 让网络自己去学这个权重。

在这里插入图片描述

做法是对邻居做 attention

在这里插入图片描述

GIN

在这里插入图片描述
结论是对邻居做 sum 而不是 mean 或 max

Spectral-based GNN

还是想像 CNN 一样做卷积
在这里插入图片描述

上图原理是时域卷积等于频域乘积

后面就听不懂了。。。
可以去看原视频
P43(选修)To Learn More - Graph Neural Netwo(2_2)

参考

P42 (选修)To Learn More - Graph Neural Network(1_2)
P43(选修)To Learn More - Graph Neural Netwo(2_2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 断言

文章目录前言assertstatic_assert前言 断言(Assertion)是一种常用的编程手段,用于排除程序中不应该出现的逻辑错误。它是一种很好的Debug工具。其作用是判断表达式是否为真。C提供了assert和static_assert来进行断言。在C库中也有断言,其中断言与C的相同…

java @Autowired @Resource @Inject 三个注解的区别

javax.annotation.Resourcejdk 内置的,JSR-250 中的注解。依赖注入通过 org.springframework.context.annotation.CommonAnnotationBeanPostProcessor 来处理。org.springframework.beans.factory.annotation.Autowired org.springframework.beans.factory.annotati…

汇编系列01-汇编语言简介

每天进步一点点,不要浮躁,沉下心来。 什么是汇编语言 我们知道CPU是经过精心设计的电路组成的,里面有很多微小的门电路,门电路是通过输入电平控制的,电平分为高低,我们用1表示高电平,0表示低电…

MySQL基础查询操作

文章目录🚏 Select语句🚀 一、SQL底层执行原理🚬 (一)、查询的结构🚬 (二)、SQL语句的执行过程🚭 1、WHERE 为什么不包含聚合函数的过滤条件?(面试…

Python | Leetcode刷题日寄Part05

欢迎交流学习~~ LeetCode & Python 系列: 🏆 Python | Leetcode刷题日寄Part01 🔎 Python | Leetcode刷题日寄Part02 💝 Python | Leetcode刷题日寄Part03 ✈️ Python | Leetcode刷题日寄Part04 Python|Leetcode刷题日寄Par…

【企业服务器LNMP环境搭建】nginx安装

1、介绍(官方网址:nginx news ) 1.1 常见用法 1) web服务器软件 httpd http协议 同类的web服务器软件:apache nginx(俄罗斯) IIS(微软 fastcgi) lighttpd(德国) 2)代理服务器 反向代理 3)邮箱代理服务器 IMAP POP3 SMTP 4)负载均…

前端ES6异步编程技术——Promise使用

Promise是什么 官方的定义是:Promise是ES6新推出的用于进行异步编程的解决方案,旧方案是单纯使用回调函数来解决的。对于开发人员来说,我们把promise当作一个普通的对象即可,使用它可以用来封装一个异步操作并可以获取其成功/失败…

Spring Cloud(微服务)学习篇(六)

Spring Cloud(微服务)学习篇(六) 2 Sentinel实现流量规则(控制台版) 2.1 变更pom.xml(shop-user-server项目)代码 2.1.1 加入如下依赖 <!--熔断限流--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-…

稀疏子空间聚类——对超像素聚类

如何使用&#xff1a;超像素分割算法进行过分割——>对所有的超像素样本提取新特征(包括对比度增强直方图特征、超像素样本邻域纹理特征、基于先验知识的位置信息特征)——>采用距离约束优化的稀疏子空间聚类算法(对超像素样本进行聚类) 在超像素分割中构造自适应相似度系…

【linux】:进程状态(僵尸进程等)以及环境变量

文章目录 前言一.进程状态 进程的优先级二.环境变量总结前言 本篇文章是接着上一篇【linux】:进程概念的后续&#xff0c;对于有基础的同学可以直接看这篇文章&#xff0c;对于初学者来说强烈建议大家从上一篇的概念开始看起&#xff0c;上一篇主要解释了冯诺依曼体系以及操…

将 Visual Studio Code 设置为3dmax Maxscript脚本编辑器的方法详解

Visual Studio Code对Autodesk 3dMax脚本语言 (MaxScript) 支持 本教程给大家分享Visual Studio Code对Autodesk 3dMax 脚本语言 (MaxScript) 支持。 MXSPyCOM项目&#xff1a;允许从外部代码编辑器编辑和执行3dMax MaxScript和Python文件。 功能特性 语法高亮。语法错误检查语…

x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建

文章目录[toc]关于 docker 版本查看是否开启 experimental 功能开启 experimental 功能查看当前环境平台拉取一个 arm 平台的容器运行一个 arm 平台的容器整一个 qemu-user-static注册可支持的架构解释器尝试启动 arm64 镜像尝试启动 ppc64le 镜像后台运行 arm64 容器build 一个…

Libgdx 导入blender 3D动画

导入blender3D模型可以看上篇libgdx导入blender模型 本篇3D动画在上篇的基础上。 具体参考官网 3D 动画和蒙皮 blender动画参考 八个案例教程带你从0到1入门blender【已完结】 打开上次的blender的&#xff0c;选则物体属性 点击位置和旋转x&#xff0c;y&#xff0c;z后面…

一个好的工程项目管理软件所包含的主要功能

工程项目管理软件哪个好&#xff1f;借助Zoho Projects强大的工程项目管理软件&#xff0c;您的团队可以在预算范围内按时交付。从质量保证到预算规划&#xff0c;Zoho Projects的工程项目管理平台旨在推动切实的成果是Zoho Projects工程项目管理软件的优势。 高质量的可交付成…

骨传导耳机是什么意思,骨传导耳机的好处具体有哪些

​在这个全民都是手机的时代&#xff0c;各种蓝牙耳机&#xff0c;入耳式耳机&#xff0c;真无线耳机等各种款式琳琅满目。而骨传导耳机是一种全新的科技产物&#xff0c;顾名思义就是通过头骨振动将声音传至外耳内的耳机。由于无需入耳&#xff0c;不会对耳朵造成任何影响。那…

Linux用户空间与内核空间通信(Netlink通信机制)

一&#xff0c;什么是Netlink通信机制 Netlink是linux提供的用于内核和用户态进程之间的通信方式。但是注意虽然Netlink主要用于用户空间和内核空间的通信&#xff0c;但是也能用于用户空间的两个进程通信。只是进程间通信有其他很多方式&#xff0c;一般不用Netlink。除非需要…

JVM详解——执行引擎

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;耶瞳空间 一&#xff1a;执行引擎介绍 “虚拟机”是一个相对于“物理机”的概念&#xff0c;这两种机器都有代码执行能力&#xff0c;其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和…

程序、进程、线程的基本概念、信号量的PV操作、前趋图的PV操作

程序、进程、线程的基本概念 进程控制块PCB的组织方式&#xff1a;顺序方式、链接方式、索引方式、Hash。 在JVM 中进程与线程关系 进程&#xff1a; 拥有资源的独立单位。可以被独立调度。可以分配资源。 线程&#xff1a; 可以被独立调度。同一进程中的多个线程&#xff0c;…

Java高效率复习-SpringMVC[SpringMVC-2]

SpringMVC获取请求参数 SpringMVC获取请求参数的两种方式↓ 通过ServletAPI获取请求参数 将HttpServletRequest作为控制器方法的形参&#xff0c;此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象 通过request的API——getParameter(String s)方法来获取…

LQB,手打,PCF8591,ADDA转换,AD1是光敏电阻,AD3是电位器,DA输出

在上述at24c02de 基础上&#xff0c;添加三个函数 一个是读取通道1光敏电阻的数据&#xff1b; 一个是读取通道3的电压&#xff1b; 一个是输出DA的数据。。 5V的AD DA。 如果读入的电压是5V&#xff0c;输入AD&#xff0c;就是255&#xff1b; 如果是0V&#xff0c;就是00000…