GNN图神经网络的简单学习了解

Abstract

本人能力有限,本篇文章只介绍图神经网络的结构,不涉及具体的训练过程和原理

参考https://blog.csdn.net/u012678060/article/details/81056008

(侵权则删)

1.简介

针对图而言,信息有两大类,一类为节点,一类为边,为了结构分析简洁,我们这里只考虑无向图。图的节点包含了一个节点的状态,我们用x(i)表示节点i的特征信息,用l(i)表示每个节点的状态,用l(i,j)表示节点i和节点j连接的边的状态(如果有边)。节点的特征x,我们可以假设一个函数f,通过模型不断这个函数,可以通过节点和节点之间的状态,提取整张图中所有点的状态信息。分析图如下:

GNN图神经网络的简单学习了解_第1张图片

我们的工作就是去学习得到每个节点的状态,但是我们发现节点i的状态与他周围的节点状态都有关系,所以会形成一个循环,我们可以通过循环迭代的方式,去求解全图所有点的状态。

2.节点特征的输出

我们这里考虑节点的特征,包含节点的状态,节点周围边的状态,所以,我们引入一个函数g进行输出,因此,我们引入了两个函数f和g,一个用于求解每个节点的状态,一个用于将节点的特征输出。写出迭代的表达式,并参考上述的CSDN博客的两张图。

GNN图神经网络的简单学习了解_第2张图片

                

GNN图神经网络的简单学习了解_第3张图片

其中f和g可以设计成神经网络结构进行训练

3.模型的学习方法

假设通过多次迭代可以收敛到特定值,这里的收敛需要一定的数学推导,由于数学能力不足,我们先不考虑收敛的问题,只了解大概原理。

每次迭代之后,都会得到每个节点新的特征,我们可以根据实际需求定义损失函数,通过类似于BP神经网络反向传播的方法,对f和g(神经网络)进行参数调整,直到最后迭代收敛,即完成训练。

你可能感兴趣的:(机器学习)