机器学习第九周周报

GNN是一种将图结构数据转化为神经网络输入的算法,用于图的分类、生成等任务。它通过节点和边的特征信息进行操作,包括Spatial-basedConvolution、NN4G、DCNN、MoNET、GAT和GIN等不同实现方法。GAT引入注意力机制,而GIN则通过加权求和处理邻居节点信息。
摘要由CSDN通过智能技术生成

摘要

图神经网络是指使用神经网络来学习图结构数据,提取和发掘图结构数据中的特征和模式,满足聚类、分类、预测、分割、生成等图学习任务需求的算法总称。将一个图输入到网络中,会得到一个输输出图,输出的图和输入的图相比,顶点、边、以及全局信息会发生一些改变。类似于一般的神经网络一样,会对输入的数据进行改变得到输出数据,不同的是GNN的输入是一个图,输出也是一个图。

Abstract

Graph neural network refers to the algorithm that uses neural network to learn graph structure data, extract and discover features and patterns in graph structure data, and meet the needs of graph learning tasks such as clustering, classification, prediction, segmentation, generation and so on.
If you input a graph into the network, you will get an output graph. Compared with the input graph, the vertex, edge, and global information in the output graph will change. Similar to the general neural network, the input data will be changed to get the output data, except that the input of GNN is a graph, and the output is also a graph.

一、GNN

1.简介

在这里插入图片描述在这里插入图片描述
GNN简单来说就是Graph + Nerual Networks,关键问题就是将图的结构和图中每个节点和边的特征转化为一般的神经网络的输入。

2.功能

可以做的事情主要为分类和生成。
对化学分子结构特征进行分类,判断其特征是否属于会导致突变的那类
在这里插入图片描述
学习若干个分子结构特征后,能够去生成类似结构的分子
在这里插入图片描述

3.实现方法

模拟卷积神经网络
在这里插入图片描述
将图结构中各节点和边的特征信息代入到特征矩阵中,之后选择相应大小的过滤器进行卷积神经网络操作。卷积有两种方式:基于空间的卷积(Spatial-based convolution)和基于频域的卷积(Spectral-based convolution)

4.Spatial-based Convolution

在这里插入图片描述
Aggregate:模仿卷积神经网络工作(每一次操作考虑的是某个点的所有联通邻居的特征信息,因此在 GNN 当中也是通过这样的方式下更新下一层,当然会包括这个节点本身的特征feature
Readout:整个图所有结点的feature集合起来,用一个特征值代表整个graph的信息

5.NN4G(Neural Network for Graph)

input layer 首先经过基本的 embedding 之后到 hidden layer 0。然后更新的话是将其相邻的节点相加然后乘以权重再加上之前 input layer 的原始输入。
Aggregate 更新方法:
每个隐藏层都是一个图,图中每个结点的权值 = 一个待学习的参数 w × 上一层这个结点所有相邻结点的权值和 + 原本在第一层 input layer 这个结点输入的值
全连接神经网络的神经元是固定的,因此对于每个图输入后,最后进入全连接层的 vector 维度应该是一样的。因此 NN4G 使用的方法特点是:对于每个图都固定隐藏层数量,然后取每层的均值送入全连接神经网络,这样可以避免图大小的影响
在这里插入图片描述
Readout 方法:
通过求出整个图中的每个顶点间的特征均值,然后各自乘以相应的权重再把每个结点得到的结果相加。
在这里插入图片描述

6.DCNN(Diffusion-Convolution Neural Network)

对每一层进行更新时,第 n 层看离当前节点距离 n 的节点信息。
在这里插入图片描述
例如在第一层,更新结点 3 首先找到与它距离为 1 的节点,然后用这三个与节点距离为 1 的 结点的原始的输入相加取平均值再乘以权重
在第二层,更新节点 3 首先找到与它距离为2的节点,然后用这几个符合条件的结点的原始的输入相加取平均值再乘以权重。
这样就可以将每一层的节点特征组成一个矩阵,然后叠在一起。
当我们需要每个节点的feature 信息的时候,采用以下的方式来表示图中每个节点的特征:
在这里插入图片描述
在这里插入图片描述

7.MoNET(Mixture Model Networks)

与之前只是将相关联结点信息相加求和相比,MoNET 考虑到一个节点的邻居跟之间的区别

  • deg(x) 表示x的出入度数
  • u(x,y) 自定义的距离计算方式
    在这里插入图片描述

8.GAT(Graph Attention Network)

与 MoNET 相比,GAT 在定义距离公式时所用的权重 weighted sum 需要学习而得,相当于对邻居结点做 attention,不同的邻居结点给出不同的 weight,而不是事先规定好的
在这里插入图片描述
在这里插入图片描述

9.GIN (Graph Isomorphism Network)

首先把邻居结点都求加相见 + 结点自己本身信息 × 系数,不用 maxpooling 和 meanpooling(例如在下图中,a 中 每个结点的特征值都一样,若选择 maxpooling 和 meanpooling,都无法确定最后选择的到底是 v 的哪个邻居结点 )
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值