Graph Neural Network

该文章的博客链接
A Gentle Introduction to Graph Neural Networks

通过js交互图,介绍不同层之间,图的信息传递

在这里插入图片描述

摘要

Understanding Convolutions on Graphs 这篇文章会帮助我们理解从图像卷积自然过渡到图的卷积。GNN属于是一个新的领域,刚刚开始应用。本篇文章主要可以分为四个部分,第一部分是介绍什么数据可以表示成图。第二部分是介绍图和其他数据结构有什么区别。第三部分是介绍GNN的模型,从最简单的模型到现在最先进的模型。第四部分,作者提供了GNN的playground,可以让读者亲自体验体验GNN的魅力。
在这里插入图片描述
在本篇文章中,V/U/E的详细信息如上。为了更好的描述它,用长度较小的向量来表示。
图神经的核心就是,怎么样把我们想要的信息表示成向量,以及向量是否能通过数据学习到。

VEU
node(6)edge(8)全局信息,整个图(5)

1. 什么数据可以表示为图

image/text/molecule/social network/citation novels都可以用图来表示。

datagraph
image每个像素看作一个点,是否相邻看作一条边
text每个词看作一个点,词之间存在有向边
molecule每个原子看作一个点,它们之间的键看作边
social network每个人看作一个点,它们之间是否认识作为边
citation novels每篇文章引用别人的文章,文章的引用看作一条有向边

在图上面可以定义什么样的问题?

总共可以分为三大问题,分别是Graph/Edge/Node level

Graph Level

例子:给定一个分子表示的图,然后预测该分子的气味,或者是不是可以与某种疾病的受体相结合。

Node Level

例子:通过老师与学员打比赛,将学员分类到2个老师的队伍中。

Edge Level

例子:跆拳道比赛,预测不同的人的关系,比如观众看比赛,选手比赛。

2.图和其他数据类型的区别

图在机器学习上的挑战

challenges one

Graph 有4种信息,分别是node/edge/graph/connectivity。前三个相对简单,但是连接性很复杂。如果使用邻接矩阵来表示connectivity来表示,需要很大存储空间,而且空间上是稀疏的。稀疏矩阵存储的话,GPU计算较困难。

challenges two

排列不变性:同一个图,可以用不同的邻接矩阵来表示,但对于这些同一个图生成的不同的输入,无法保证对应的输出是一致的。

如何高效的表示这个图呢?(邻接表)

在这里插入图片描述
稀疏矩阵可以考虑用邻接表来存储,以上是图对应的邻接表。图中数值可以是任意的tensor。

3.GNN(Graph Neural Network)

GNN解决了上述存在的问题。一是GNN可以保持排列不变性,即对于同一个图,不同的表示并不会影响输出。二是GNN的输出和输入都是图,不会改变图的连接性。

simplest GNN

对于node、edge、Global,分别增加一个MLP层,不会改变图的连接性。
在这里插入图片描述

Pooling Information

问题:解决最后一层预测。某些节点没有node/edge/global中的一种,该怎么办?
解决:缺啥,用其他有的来做汇聚(pooling)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

消息传递的GNN(增加图的连接性)

node

通过相邻节点来更新自己这个节点的信息。
在这里插入图片描述
在这里插入图片描述

edge(3种)

1.节点——边——节点
在这里插入图片描述
2.边——节点——边
在这里插入图片描述
3.交替使用
在这里插入图片描述

global

在这里插入图片描述
可以将这个理解为特征级别的注意力机制,即这个Global整合了node/edge等诸多信息。Global(抽象)可以和所有的点和边连接,然后做MLP。
在这里插入图片描述

4.GNN playground

本文作者将GNN嵌入到js中,搭建了一个playground,给出了分子的数据集,通过调节超参数,可以得到不同的模型。并通过可变的分子结构,给出了结果的可视化。

模型超参数选择

下图是一个预测分子是否有味。可以改变的参数有层数、pooling函数、node、edge、global的表示向量的长度等。在超参数的基础上,会将模型训练50个epoch。最后会给出模型的AUC。
在这里插入图片描述

参数数量对于模型的影响

在这里插入图片描述

edge/node/global维度对于模型的影响

在这里插入图片描述

模型层数对于模型的影响

在这里插入图片描述

pooling的选择对于模型的影响

在这里插入图片描述

消息机制对于模型的影响

在这里插入图片描述

图相关的技术

多重图和超图

在这里插入图片描述

采样和batch

图的结构决定了不可能像CNN那样固定batch的大小。
随机采样、随机走采样、随机走采样+随机采样、扩散采样
在这里插入图片描述

Inductive biases

网络Inductive biases
CNN空间变换的不变性
RNN时序的连续性
GNN图的对称性

结论

图是非常强大,几乎所有数据都能表示成图,但是图上做优化很难,涉及到CPU和GPU的训练也是一个挑战,同时图神经网络对超参数非常敏感。近些年图神经网络在学术界迅速发展,实际上工业落地的并不多,GNN的发展还需要时间的沉淀。
参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值