【李宏毅】GNN学习笔记

news2024/9/22 15:34:37

视频链接

[TA 補充課 Graph Neural Network (1/2) (由助教姜成翰同學講授) - YouTube]

[TA 補充課 Graph Neural Network (2/2) (由助教姜成翰同學講授) - YouTube]

[speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/GNN.pdf]

Introduction

应用:分类、Generation(生成)等

目前研究领域的架构图如下:

 基于空间卷积、基于频率卷积(傅里叶变换)

Dataset & task & Benchmark

Graph Classification:图像转成结点然后分类。MNIST手写识别、CIFAR10物品类别识别

 Regression:ZINC预测化学物质的性质

Node classification:拓扑块位置定位,图聚类

 Edge classification:旅行商问题,遍历每个节点不重复

TA的课里面有详细对比不同Task的不同方法表现,总的来说层数不是越深越好(4/8层就够了),GCN表现很烂,有不同注意力参数的那类模型普遍会好。

Special Based  GNN

总结方法和术语:

 通过卷积结点本身与它邻居的feature聚合得到下一层、读出所有的feature得到整个graph

NN4G(Neural Networks for Graph)

首先把原始feature通过处理得到纯Embeddings(参数w1)为layer0,然后sum它的邻居节点再做trans(参数w1,0)再加上layer0本身,得到h1为layer1

 针对得到的每一层,把所有的feature相加然后去平均,再做一次transform,然后相加,得到一个feature代表整个图

 为什么是相加?因为不同结点的邻居数目不同,用相加比较好批量化处理。

DCNN(Diffusion-Convolution Neural Network)

d(3,·)=1代表距离结点3为1的所有节点,所以layer0找1跳邻居平均值再transform,layer1找2跳邻居(的原始x feature 这样注意力没有掺杂别的信息),这样多层就能把多跳邻居的信息都看到。

 每一行都是一个节点的feature,把他们transform一下就得到最终这个node的feature

MoNET(Mixture Model Networks)

 

GraphSAGE

用LSTM来处理邻居的feature,这里邻居的顺序是随机的用来平衡LSTM的先后顺序影响

 

GAT(Graph Attention Neworks)

让机器自己去学每个node邻居的weight,这里的e就是energy,也就是对于节点i,节点j有多重要。

 

GIN(Graph Isomorphism Network)

 先说结论,最好是把邻居节点加起来而不是用mean或者max,epsilon取0就好。

 因为可以看到,在不同的单节点结构下,如果用sum是能区分的,但是用mean和max是不能区分的。

 

频率基础卷积

 一个向量是由基向量线性组合得到的,这里vk是基向量,ak是线性组合。这里假设是orthnormal basis正交基。这里可以看到线性组合可以由点乘计算出来(用二维向量试一下就知道了,其他方向是直接乘上0)

有一个常用的正交基是傅里叶变化,即sin和cos。

ChebNet

 

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

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

相关文章

Docker 快速入门

1、Docker 简介 Docker是一个开源的容器引擎,它可以帮助我们更快地交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker,可更快地打包、测试以及部署应用程序,并可减少从编写到部署…

mysql主从复制搭建--待实践完善

一、什么是mysql主从复制 参考链接:MySQL主从介绍_rain_yunlx的博客-CSDN博客 Linux下搭建Mysql主从复制详细步骤(Mysql版本5.7.35)_linuxmysql主从_Direct_的博客-CSDN博客 Linux环境MySQL数据库主从复制保姆级教程_linux主从复制_小学生…

山东大学2023操作系统实验2

目录 (1)操作系统实验2内容: (2)完成方式: (3)使用函数和功能: 1.pipe函数与有关的功能 2.pipe的返回值 3.pipe的参数 4.使用事项: (4)实现代码 (5)实现效果 (1)操作系统实验2内容: 创建三个并行的进程,分别完成计算F(x),F(y),F(x,y)三个函数的计算 (2)完成方式: 实验…

再也不去字节跳动面试了,6年测开经验的真实面试经历.....

前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了快6年软件测试员。。。为了进大厂,也花了很多时间和精力在面试准备上,也刷了很多题。但题刷多了之后有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到&…

18.Java异常

Java异常 Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流。为了能够及时有效地处理程序中的运行错误,Java中引入了异常类的概念。异常类的引入即明确了程序在执…

QT stackUnder 用法小结

stackUnder是什么意思?根据官方的解析,简而言之一句话:把窗口的小部件放置于父窗口的堆栈窗口中。本文将通过一则简单的示例,来具体解析stackUnder该如何使用。 官方解析 void QWidget::stackUnder(QWidget *w) Places the widg…

ThinkPHP6之数据库操作上

ThinkPHP6之数据库操作上 前言1. 数据库配置2. 数据库操作1. 查询操作2. 插入操作3. 修改4. 删除5. 其他 3.数据集总结 前言 注意,tp6在进行语法学习的时候都是在app/index.php中写代码的,代码写在index函数下面,而且tp6自带的文件都是由自动…

经常打电话的人用什么耳机好?通话质量好的蓝牙耳机推荐

用蓝牙耳机听歌、刷视频、玩游戏已经成为趋势,作为人手必备的一件单品,在款式层出不穷,功能各异的蓝牙耳机市场,许多人都不知道究竟什么蓝牙耳机好?下面整理了几款通话质量好的蓝牙耳机。 一、南卡小音舱Lite2蓝牙耳机…

【服务器数据恢复】Raid磁盘阵列常见故障类型原因分析

由于raid的特点和优势,磁盘阵列技术被广泛应用于服务器和存储等商用领域。由于用户基数大,出现故障的情况也不少。通过这篇文章介绍一下常见的raid磁盘阵列数故障类型和原因。 故障类型一、磁盘阵列处于降级状态时未及时rebuild。 RAID磁盘阵列的数据安全…

Linux+云服务器

目录 前言 一、Linux介绍 二、Linux 环境搭建 2.1 云服务器 2.2 XShell 终端 三、Linux 常用命令 3.1操作目录的命令 3.1.1 ls 【list的缩写】 双击某个目录 3.1.2 pwd 【print working directory的缩写】打印当前所处地址 3.1.3 cd 【change directory的缩写】切…

DAY02_运算符和选择语句

1:运算符 对数据进行运算。而对数据运算就要用到运算符。 和表达式做一个简单的描述: 运算符:对字面量或者变量进行操作的符号 表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的…

JUC多并发编程 volatile

特点: 可见性有序性(有时需要禁用重排) 内存语义: 当写一个 volatile 变量时, JMM 会把该线程对应的本地内存中的共享变量值立即刷新回主存中当读一个 volatile 变量时, JMM 会把该线程对应的本地内存设置无效,重新…

m4a怎么转换成mp3,4招搞定

m4a怎么转换成mp3?相信很多朋友都知道,无论是音频、视频、图片等很多电子文件,都会有多种格式。由于格式不统一,很容易导致文件和软件之间出现不兼容的情况,最直接的结果就是在播放器中无法打开,或者使用的…

一篇文章带你了解Spring/SpringBoot常用注解(建议收藏!!! )

这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景。对于每一个注解我都说了具体用法,掌握搞懂,使用 SpringBoot 来开发项目基本没啥大问题了! 1. SpringBootApplication 这里先单独拎出SpringBootAppl…

NUXT规范及常见问题

props中不要使用Web环境才有的对象&#xff0c;服务端渲染的时候会失败 使用<Nuxt/>组件代替<router-view/>&#xff0c;使用<NuxtLink/>代替<router-link/>static目录下的资源是静态资源&#xff0c;不应该通过import或../static/img/logo.png等方式…

【AI绘画】我以Midjourney为主学习AI绘画效果咋样?

上一篇博客链接&#xff1a;【ChatGPT】ChatGPT掀起AIGC与AI浪潮_山楂山楂丸的博客-CSDN博客 这周&#xff0c;我加入了新星计划&#xff0c; 涉及的领域是我感兴趣以及对未来规划有帮助的——AI绘画&#xff01;​​​​​​​ 文章目录 前言 一、AI绘画是什么 二、AI绘画进…

MYSQL命令小总结

一、创建查看 1.输入cmd&#xff0c;打开控制器&#xff0c;输入如下&#xff0c;打开MYSQL C:\Users\ASUS> mysql -u root -p 2.查看已有数据库 mysql> show databases; 3.建立数据库 4.使用数据库 use englishword;5.建立表单 CREATE TABLE user ( id INT primar…

AI Stable Diffusion Prompt参数【一】

AI Stable Diffusion Prompt参数【一】 配置场景1:草丛里的女性promptNegative Prompt结果 场景2: 雨中披头散发的女孩promptNegative Prompt结果 场景3: 一个女孩和她的朋友在逛街promptNegative Prompt结果 场景4: 学生在教室promptNegative Prompt结果 场景5: 穿着白色丝袜和…

自动化工具 基于 Antd+DRF 开发了一款适配 JMeter 的接口自动化测试报告

JMeter Report 基于 AntdDRF 开发的一款 JMeter 测试报告服务&#xff0c;用于在 JMeter 接口测试中使用。 &#x1f334; 背景 JMeter 是测试工作中常用的一款工具&#xff0c;除了压测还可以用来做接口自动化的测试。 从事测试多年&#xff0c;接口自动化也做过很多的尝试…

从零搭建开发脚手架 自定义打包构建研发输出产物

文章目录 背景目录源码目录结果目录 实现项目打包方式一 使用IDEA工具打包,选择对应的profiles,然后clean package方式二 使用maven命令打包 部署 背景 在打包项目时&#xff0c;通常只需要生成一个可执行的jar文件。然而&#xff0c;有时候需要将启动脚本或外部配置文件附加到…