GNN图神经网络(1)

摘要:
通常来说,GNN通过邻居节点的加权求和来更新节点的隐藏状态。
一、图

传统的欧几里得空间数据:文本、图像、视频等【LSTM、CNN可训练】

非欧几里得空间数据:图结构(包含对象和关系,如社交网络、电商网络、生物网络和交通网络等)【图卷积等技术可训练】

1、欧几里得空间

也称欧式空间,二维、三维空间的一般化。将距离、长度和角度等概念转化成任意维度的坐标系。

GNN图神经网络(1)第1张

常见的欧几里得结构化数据:

  • 1D:声音,时间序列等;
  • 2D:图像等;
  • 3D:视频,高光谱图像等;

2、非欧几里得空间

像社交网络、信息网络等数据不能转化到欧几里得空间中,则为非欧几里得结构化数据。

常见的非欧几里得结构化数据:

  • 1D:社交网络(eg:Facebook,Twitter等)等;
  • 2D:生物网络(基因,分子,大脑连接)等;
  • 3D:基础设施网络(eg:能源,交通,互联网,通信等)等;

针对非欧几里得结构化数据表示问题,研究者们引入了图论中抽象意义上的图(Graph)来表示非欧几里得结构化数据。

3、图Graph

GNN图神经网络(1)第2张

表现形式----邻接矩阵

GNN图神经网络(1)第3张

表现形式---度矩阵

GNN图神经网络(1)第4张

表现形式---领域

GNN图神经网络(1)第5张

4、图的学习任务

  • 节点分类 ——预测一个给定节点的类型【GCN、GraphSAGE、GAT模型】
  • 链接预测 ——预测两个节点是否连接
  • 社群检测 ——识别密集连接的节点群
  • 网络相似度 ——两个子网络有多相似
  • 图分类(图的同构)——将图中节点的特征聚合起来作为图的特征,再进行分类

例子:

GNN图神经网络(1)第6张

从图数据中节点间的关系以及特征,我们可以进行反欺诈以及商品推荐的操作。

1、节点分类—反欺诈:因为图中每个节点都拥有自己的特征信息。通过该特征信息,我们可以构建一个风控系统,如果交易节点所关联的用户 IP 和收货地址与用户注册 IP 和注册地址不匹配,那么系统将有可能认为该用户存在欺诈风险。

2、边结构预测—商品推荐:图中每个节点都具有结构信息。如果用户频繁购买某种类别商品或对某种类别商品评分较高,那么系统就可以认定该用户对该类商品比较感兴趣,所以就可以向该用户推荐更多该类别的商品。

二、GNN起源

起源1:CNN(基于邻居汇聚)

CNN能够提取出多尺度的局部空间特征,并将它们进行组合来构建更加高级的表示(expressive representations)。

如果深入研究CNN和图结构的特点,可以发现CNN的核心特点在于:局部连接(local connection),权重共享(shared weights)和多层叠加(multi-layer)。

这些同样在图问题中非常试用,因为图结构是最典型的局部连接结构,其次,共享权重可以减少计算量,另外,多层结构是处理分级模式(hierarchical patterns)的关键。

然而,CNN只能在欧几里得数据(Euclidean data),比如二维图片和一维文本数据上进行处理,而这些数据只是图结构的特例而已,对于一般的图结构,可以发现很难将CNN中的卷积核(convolutional filters)和池化操作(pooling operators)迁移到图的操作上。

如下图,左图为图像,是比较明显的Euclidean数据,而右图为普通的graph结构。

GNN图神经网络(1)第7张

起源2:graph embedding(基于随机游走)

另一种动机来源于图嵌入(embedding),所谓嵌入,就是对图的节点、边或者子图(subgraph)学习得到一个低维的向量表示,

传统的机器学习方法通常基于人工特征工程来构建特征,但是这种方法受限于灵活性不足、表达能力不足以及工程量过大的问题,

词嵌入常见的模型有Skip-gram,CBOW等,

图嵌入常见模型有DeepWalk,Node2Vec等,

然而,这些方法有两种严重的缺点,

  • 首先就是节点编码中权重未共享,导致权重数量随着节点增多而线性增大,
  • 另外就是直接嵌入方法缺乏泛化能力,意味着无法处理动态图以及泛化到新的图。

如何将图节点转化为embedding?

特征工程:将每个样本表示为向量,图中Node embedding带有节点信息,如相似节点离得近。

特征工程难点:

    • 图的结构可以任意变化【一个图可以具备各种形状,尽管它们的节点位置不一样,但是连接关系没变,所以图完全一样。】
    • 节点可以以任意顺序标记【同样一个5个节点的图,节点可以标记为1、2、3、4、5,也可以标记为4、2、1、3、5,节点编号变了,尽管图完全没变。】

解决思路:

  • (一维)Node2vec:通过图(graph)结构里的遍历,生成节点的序列,来创造“句子”语料,如以下方法:

GNN图神经网络(1)第8张

  • (二维)图神经网络方法:用周围节点来编码中心节点,相当于通过训练一个虚拟网络(Network),把每个节点周围的结构信息储存在了这个虚拟网络(Network)里,而输入周围节点后这个网络输出的向量,正是这个中心节点的embedding。如以下方法:

GNN图神经网络(1)第9张

三、GNN与传统NN的区别

首先,标准的神经网络比如CNN和RNN不能够适当地处理图结构输入,因为它们都需要节点的特征按照一定的顺序进行排列,但是,对于图结构而言,并没有天然的顺序而言,如果使用顺序来完整地表达图的话,那么就需要将图分解成所有可能的序列,然后对序列进行建模,显然,这种方式非常的冗余以及计算量非常大,与此相反,GNN采用在每个节点上分别传播(propagate)的方式进行学习,由此忽略了节点的顺序,相当于GNN的输出会随着输入的不同而不同。

另外,图结构的边表示节点之间的依存关系,然而,传统的神经网络中,依存关系是通过节点特征表达出来的,也就是说,传统的神经网络不是显式地表达中这种依存关系,而是通过不同节点特征来间接地表达节点之间的关系。通常来说,GNN通过邻居节点的加权求和来更新节点的隐藏状态。

最后,就是对于高级的人工智能来说,推理是一个非常重要的研究主题,人类大脑的推理过程基本上都是基于图的方式,这个图是从日常的生活经历中学习得到的。GNN尝试从非结构化数据比如情景图片和故事文本中产生结构化的图,并通过这些图来生成更高级的AI系统。

四、GNN分类

论文对GNN的模型分类如下:

  • 图卷积网络(Graph convolutional networks)和图注意力网络(graph attention networks),因为涉及到传播步骤(propagation step)。
  • 图的空域网络(spatial-temporal networks),因为该模型通常用在动态图(dynamic graph)上。
  • 图的自编码(auto-encoder),因为该模型通常使用无监督学习(unsupervised)的方式。
  • 图生成网络(generative networks),因为是生成式网络。

参考文献:

GNN 系列:Graph 基础知识介绍

图表示学习入门1——导言

GNN综述:Review of Methods and Applications

免责声明:文章转载自《GNN图神经网络(1)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ubuntu 修改/etc/fstab文件,取消ubuntu开机硬盘自检XXL-Job路由策略下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

模块度Q

模块度:也称模块化度量值,是目前常用的一种衡量网络社区结构强度的方法。 常用语衡量一个社区划分结果的优劣;一个理想化的社区划分应该对应着社区内部节点间相似度尽可能的高,同时社区外部节点间的相异度尽可能高,此时模块度的值近似等于1。也就是说,社区划分的质量越高对应的模块度Q越大。 令Avw为网络对应邻接矩阵的一个元素,即边(可能存在也能不存在),v和w表示两...

基于tensorflow的CNN卷积神经网络对Fasion-MNIST数据集的分类器(1)

写一个基于tensorflow的cnn,分类fasion-MNIST数据集 这个就是fasion-mnist数据集 这张图片是CNN的一般结构 先上代码,在分析: import tensorflow as tf import pandas as pd import numpy as np config = tf.ConfigProto() confi...

卷积神经网络技巧总结

从变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。中梳理提取补充. 前提名词 feature map: 特征图, 卷积核的输入和输出都被称为feature map 卷积核技巧 0x01 多个小卷积核代替大卷积核 之前的观念是越大的卷积核感受野(receptive field)越大, 看到的信息越多, 提取的特征越好, 但存在问题: 参数剧增,...

神经网络+增强学习

该文章转至:https://www.cnblogs.com/xlturing/p/5844555.html 马里奥AI实现方式探索 ——神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典的马里奥形象出现。平时我们都是人来玩马里奥游戏,能否可以让马里...

Chrome开发者工具面板 F12 调试大全 记录

面板上包含了Elements面板、Console面板、Sources面板、Network面板、Timeline面板、Profiles面板、Application面板、Security面板、Audits面板这些功能面板。这些按钮的功能点如下: Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈。...

AI佳作解读系列(一)——深度学习模型训练痛点及解决方法

1 模型训练基本步骤 进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的。选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤 定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobilenet等。 定义loss,选择优化器,来让loss最小 对数据进...