zoukankan      html  css  js  c++  java
  • GNN图神经网络(1)

    一、图

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

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

    1、欧几里得空间

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

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

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

    2、非欧几里得空间

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

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

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

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

    3、图Graph

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

     表现形式---度矩阵

     表现形式---领域

    4、图的学习任务

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

    例子:

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

    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结构。

     起源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)结构里的遍历,生成节点的序列,来创造“句子”语料,如以下方法:

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

    三、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

  • 相关阅读:
    SharePoint 2013 图文开发系列之自定义字段
    SharePoint 2013 图文开发系列之Visual Studio 创建母版页
    SharePoint 2013 图文开发系列之代码定义列表
    SharePoint 2013 图文开发系列之计时器任务
    SharePoint 2013 图文开发系列之应用程序页
    SharePoint 2013 图文开发系列之事件接收器
    SharePoint 2013 图文开发系列之可视化WebPart
    SharePoint 2013 图文开发系列之WebPart
    SharePoint 2013 对二进制大型对象(BLOB)进行爬网
    SharePoint 2013 状态机工作流之日常报销示例
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/12650731.html
Copyright © 2011-2022 走看看