当前位置: 首页 > news >正文

图学习——02.Graph Neural Network

Graph Neural Network

GCN

A矩阵表示邻接矩阵,I矩阵表示单位阵,D~矩阵是对A~的矩阵按行求和后把每行的值写在对角线上(度矩阵,包括自连接的度),W(l)是要学习的参数,H(l)是这一层的节点的特征
在这里插入图片描述

举例:
在这里插入图片描述
在这里插入图片描述
公式里矩阵相乘的结果会作为一个固定值,表示在图上的一个转换,在每一层的时候对节点的权重和节点的特征都会乘上这个固定值,得到节点在下一层的特征表示。

这几个矩阵相乘的含义是什么?
首先,考虑A矩阵和特征H相乘的含义,下图给定了每个节点的特征表示和A矩阵。对于节点1来说,相乘后的结果就是聚合了所有和它相邻的节点的特征值(节点2和节点3),那当A矩阵加上I矩阵之后的A~和H相乘的结果,其实就是还加上了这个节点自己本身的特征值,也就是考虑自连接将自身的节点考虑到计算中
将所有相邻节点信息聚合之后,可能会出现一个现象就是有的节点的连接点很多,导致聚合的特征值很大,所以这里要进行归一化的操作
左边和右边各乘一个D~的-1/2次方
在这里插入图片描述

GCN的操作
其中A~代表已经经过归一化的矩阵,X就是节点本身的特征,W表示可学习的参数
在这里插入图片描述

GraphSAGE

SAmple and aggreGatE(采样和聚合)
在这里插入图片描述
算法流程:
在这里插入图片描述
算法最重要的两点就是聚合邻居信息,把邻居信息和上一层特征拼接在一起得到到新的特征表示

举例:
比如求节点1的在当前层的特征表示,首先聚合节点1所有相邻节点3,4,5,6的特征(采用求平均的方法),然后将聚合后的特征值和上一层的特征值拼接,在乘上权重W得到节点1在当前层的特征值
在这里插入图片描述

采样可以不对所有邻居点解采样,可以选择部分节点采样
聚合不仅可以使用max,其他的排列不变性的函数都可以

在这里插入图片描述

GraphSAGE_minibatch

在大规模图上训练,可以不考虑整个图的信息,而只考虑每一个minibatch中用到的图的节点信息
在这里插入图片描述
算法流程:
在这里插入图片描述
举例:
假设已经做了两层的GraphSAGE,对第1层聚合的邻居节点的数量是2,即s1=2,第2层聚合的邻居节点的数量是3,即s2=3
B2要聚合的minibatch就是a节点本身,倒数第二层,采样的数量是a相邻的的三个节点(黄色),倒数第一层采样的数量是倒数第二层选进来的每个节点的相邻的两个节点(绿色)
这样的话,就能把一个大图缩为一个小图,减少内存消耗,用来训练
在这里插入图片描述
选择完之后,就可以对选择的节点做GraphSAGE
在这里插入图片描述

GraphSAGE做节点embedding的方式
在这里插入图片描述

GAT

求出一个节点和它周围节点的attention系数,然后将这个attention系数和权重w以及特征值相乘求和得到这个节点嵌入相邻节点特征后的表示

求attention系数:如下图第一个公式所示,求节点i和节点jattention系数,将节点i和节点j的特征表示乘上权重(可学习参数w)的结果拼接再乘上一个可学习向量a,经过一个激活函数做exp,再除以节点i和所有相邻节点的权重拼接经过一个激活函数做exp的结果之和,也就是归一化处理。

求结点i的特征表示:得到节点i的attention系数之和,将节点i的所有相邻节点j乘上一个可学习参数w以及他们的注意力系数,然后聚合,经过一个激活函数得到节点i聚合了邻居节点的特征表示

举例:
在这里插入图片描述

multi-head attention

多头注意力机制就是计算多个节点i和节点j的attention值,这多个attention值的不同是因为可学习参数W的不同
计算出来的多个attention可以进行拼接concat,但是如果是最后预测层,应该用一个softmax方式,因为预测要做的是每一类attention的比重,但如果是接一个全连接层,是无所谓的
在这里插入图片描述

相关文章:

  • 宝鸡品牌网站开发公司/网站优化的方法有哪些
  • 金融企业网站制作/软文发布平台哪个好
  • 邢台做wap网站多少钱/网络优化推广公司哪家好
  • 青岛建网站的公司/营销推广方式都有哪些
  • 哪些网站可以做免费外贸/seo实战培训课程
  • david网站做go富集分析/十大看免费行情的软件下载
  • Java学习笔记 ---- 类变量和类方法
  • smart原则简单案例,java规则引擎使用场景
  • 高阶数据结构 —— 红黑树(较平衡搜索树)
  • 矩阵的基本性质【转置/求逆/伴随等】
  • 【PyTorch深度学习项目实战100例】—— 基于Transformer实现电影评论星级分类任务 | 第42例
  • mysql的多种安装方式(Linux+Windows)
  • 图注意力网络GATs - 《Graph Attention Networks》论文详解
  • Java基础和面试题-语言特点,保留字,数据类型
  • 【小嘟陪你刷题10】二叉树的基础面试题
  • 【快速排序】
  • 大闸蟹提货系统asp版源码提供
  • 【简单dp】舔狗舔到最后一无所有