文章目录
本笔记参考自b站up主小巴只爱学习的图神经网络教程
原教学视频链接
一、图神经网络应用领域分析
首先是我们的芯片领域,芯片中很多小单元是连通在一起的,如果直接人为设计难度会很大。但由于都是连在一起的,如果放在图神经网络中进行解决,技术水平收益就比较高。
还有就是推理分析的一些场景,无论我们的数据是图像数据还是文本数据,或者是结构化数据。我们的一些特征之间并不一定是完全独立的,特征之间可能会有关系。
举个例子,我们坐一圈玩剧本杀,我们在考虑特征的时候除了自己的特征肯定还要考虑其他人的特征,考虑其他人的特征能不能和我连上一条边,也就是谁和我有关系,然后根据情况去重构我们所需的特征。
目前应用最多的就是推荐系统了,我们在玩抖音的时候看到一些自己喜欢的人,那推荐系统就会根据这个人的一些特征,还有这个人他自己的关系网络给我们推荐类似的东西。这个本质还是一个图结构,我们的点和点之间会存在一定的关系。
二、图基本模块定义
vertex:也就是图中的各个点,比如我们交通网络中可以把十字路口看成一个点
edge:就是图中的边,点和点之间如果有边,就说明这两个点是有关系的。有时边也会有相关的特征,比如一个点到另一个点的距离。
global:全局的图,它其实也可以看成一个向量,因为目前我们的神经网络中,要计算某个东西是什么,那肯定要有各个特征(各个向量)组成来判断。
我们神经网络最核心的就是要整合特征。比如我们要预测一个人喜欢什么,我们不仅要考虑这个人,还要考虑他的朋友喜欢什么。因为在图上,这些点连在一起,我们的点特征会做一个重构,边特征还有图特征都需要重构。我们把点、边的特征做成最好的,后面整个图的特征自然就会是最好的。
后面要输出一些结果,我们最终的结果其实就是对点做分类回归,对边做分类回归,对图做分类回归。
三、邻接矩阵的定义
这个邻接矩阵主要是表示某个点和其他点是否具有关系。
在做实际案例的时候,邻接矩阵会作为我们的输入一并传过去。比如GNN模型传一个点特征,还有点和其他点的关系。