李宏毅机器学习笔记(十一)——图神经网络(GNN)

文章目录

  • 一.与图相关的问题
  • 二.基于空间特征的图神经网络(spatial-based)
    • 1.NN4G
    • 2.DCNN/DGC
    • 3.MoNET/GAT
    • 4.GIN
  • 三.基于频谱的图神经网络

  前言:这部分是比较新兴的内容,内容杂且难度较大,这里只是根据课上所讲加上自己的理解去总结一小部分最浅显的内容, 主要用于科普,不能用于GNN的入门

一.与图相关的问题

  这里的图,指的不是现实中的图片,图片我们使用CNN即可;这里指的是数据结构中的图。这种图是非常结构化的数据,而且由于数据是多对多的关系,因此具有最高的普适性。然而很多图上的问题,使用普通的算法是难以解决(npc类问题)或者本来就没有可靠算法的,例如以下问题:
  1. 给出一个分子(可看成是原子为节点,化学键为边),计算其溶解度(或者其他特性)。
  2.半监督的图的点聚类问题。
  3.在大的图上去找到需要的子图或者子结构。
  4.判断图是否同构,TSP等npc问题的启发式算法。
  因此我们自然而然的会想到使用神经网络的思想来解决这些问题。但是这里就有了个问题,我们对比一下图和之前的输入的数据,之前的输入数据都可以很好的把信息转成一个向量而不丢失信息(二维的图像也不怕,CNN就可以记住信息);而图是不行的:我们肯定要考虑到图的结构,对于一个点来说肯定是相邻的点最重要,因此也要用CNN的思想,然而我们无法通过将整个图转化成向量去表示出这些点的相邻关系。因此下面的各个模型(都是属于GNN),本质上都是基于很好的去提取图中所谓的局部特征,来进行神经网络的构建,而不是忽视掉图中相连的边仅仅是作为普通的神经网络来进行构建。

二.基于空间特征的图神经网络(spatial-based)

  注:由于一个图是一个输入,因此每个节点就可以看成是一个标量了,当然也可以是向量,但是可以转化为内部元素独立的向量,从而一维一维的看;因此我们都以节点是标量为前提进行图神经网络的建模
  其实本人最开始学这些的时候也有很多迷惑,最大的迷惑点就是:为什么要这么做?有什么理论依据?答案就是,确实不能算多么有依据,就是我们按照常识觉得某种结构有特征,那我们额外的去按照这个结构去提取特征,最后只要结果好不就完事了嘛,不需要有可解释性。或者说白了就是炼丹。

1.NN4G

  原理就是:“既然是相邻的会有影响,那我就加起来做卷积来模拟CNN的卷积吧”。
  因此每个隐藏层都是一个图,然后图中每个节点的权值,都是一个待学习的参数乘上一层这个节点的所有相邻节点的权值和,再加上本来节点的值。如下图所示(这里的 w 1 x 3 就 是 h 3 0 w_1x_3就是h_3^0 w1x3h30)。
李宏毅机器学习笔记(十一)——图神经网络(GNN)_第1张图片
  上面是卷积的过程,最后可以用各种特征来进行所谓的全连接层的训练;但是这里要注意的是,全连接神经网络的神经元是固定的,因此对于每个图输入,最后喂入全连接层的向量维度应该是一样的。因此NN4G一般使用的是对于每个图都固定住隐藏层数量,然后把每层的均值(这样可以避免掉图大小的影响)喂入全连接神经网络。

2.DCNN/DGC

  和第一种方式不同的是,它每层不再是和上一层联系,而是每层都只和原图联系,第 k k k个隐藏层某个点的值是由原图中与这个点距离为 k k k的点取平均乘上待学习的参数得来。
李宏毅机器学习笔记(十一)——图神经网络(GNN)_第2张图片
  如果是为了最后得到一个数值,那还是与第一种方法一样,放入全连接层,即为DCNN;而如果是为了得到一张图,那就把所有隐藏层叠加乘一个参数来解码,就…做完了,即为DGC。

3.MoNET/GAT

  前面的NN4G网络中卷积的操作我们可以看成卷积核的权重都是1,即为将相邻的内容加起来。然而实际上,我们更希望这个权重是可以更灵活甚至是可以学习的。
  因此MoNET按照对应的点的度数来定义了权重,而GAT则直接是把权重也作为了参数学习,从而几乎是完全模拟了CNN的过程。

4.GIN

  如下图所示,其实就是多加了个可学习的 ϵ \epsilon ϵ(虽然一般设成0足够),然后把单层网络变为多层网络,就…完事了。
李宏毅机器学习笔记(十一)——图神经网络(GNN)_第3张图片
  最后的结果都是GAT和GIN最好,反正结果好就完事了。

三.基于频谱的图神经网络

  这里有着较为严格的数学推导过程。我们既然是想要做卷积,找到所谓的卷积核。那我们就可以把图按照顺序,把点的值作为信息,转化成一个信号,卷积核也这样处理。之后的卷积就可以依靠傅里叶变换变为乘积,再经过傅里叶逆变换还原,从而在这个过程中找到合适的卷积核。
  先咕咕,这里需要信号与系统的大量知识…以后再补充

你可能感兴趣的:(李宏毅机器学习笔记(十一)——图神经网络(GNN))