图神经网络系列(一)介绍及基本模型
前言
在计算机视觉以及自然语言处理领域中,现有的技术大多把原始输入表示为欧几里得数据(Euclidean data)。欧几里得数据最显著的特征就是有规则的空间结构,比如图片是规则的正方形栅格,比如语音是规则的一维序列。而这些数据结构能够用一维、二维的矩阵表示,如下图所示
但是现实的处理问题当中还存在大量的非欧几里得数据,如社交多媒体网络数据,化学成分结构数据,生物基因蛋白数据以及知识图谱数据等等。如下图:
图神经网络的出现为这些非欧几里得数据的处理提供了新的思路。
图(Graph)
图(graph)是数据结构和算法学中最强大的框架之一。图可以用来表现多种类型的结构或系统,在很多应用上都有用武之地。
图GGG可以通过顶点集合V(vertex)和边E(edge)来进行描述。
G=(V,E)G=(V,E)G=(V,E)
根据顶点之间是否存在方向依赖关系,边可以是有向的,也可以是无向的。下图中a、b为无向图,c、d为有向图。
图有两个基本特征:
- 每个节点都有自己的特征信息
- 图谱中的每个节点还具有结构信息
总的来说,在图数据里面,我们要同时考虑到节点的特征信息以及结构信息,如果靠手工规则来提取,必将失去很多隐蔽和复杂的模式,因此我们尝试用图神经网络自动化地同时学到图的特征信息与结构信息。
图神经网络
简介
图神经网络是一种直接作用于图结构上的神经网络。图神经网络有以下特点:
- 忽略节点的输入顺序;
- 在计算过程中,节点的表示受其周围邻居节点的影响,而图本身连接不变;
- 图结构的表示,使得可以进行基于图的推理。
关于图的应用一般可以分为两类,分别称为 graph-focused 和 node-focused应用。
graph-focused 应用,函数与顶点相互独立,对整个图实现分类或回归任务。比如化学中的化合物可以通过图进行建模,每个顶点表示原子或者化学基团,边表示化学键。映射可以用来评估被评测化合物是否能导致某一特定的疾病。
node-focused 应用,映射依赖于节点,因此分类或者回归任务依赖于每个节点的性质,例如目标检测问题,检测图像中是否包含特定的目标,并进行定位。
符号
G=(N,E)G=(N,E)G=(N,E),其中 NNN 表示顶点集,EEE 表示边集合
ne[n]ne[n]ne[n] 表示顶点 nnn 的邻接顶点
co[n]co[n]co[n] 表示与顶点 nnn 相连的边
xnx_{n}xn 表示顶点 nnn 的特征
xco[n]x_{co[n]}xco[n] 表示与顶点 nnn 相连的边的特征
hne[n]h_{ne[n]}hne[n] 表示顶点 nnn 邻接顶点的嵌入表示 (state embedding)
xne[n]x_{ne[n]}xne[n] 表示顶点 nnn 相邻节点的特征
hnh_{n}hn 表示顶点 nnn 的嵌入表示
基本模型
图神经网络通常由两个模块组成:传播模块(propagation module) 和 输出模块(output module)
(1)传播模块
图中节点之间传递信息并更新状态,包括aggregator和updater两部分
aggregator:其目的为通过聚合节点nnn周围节点的信息,学习节点nnn的嵌入表示hnh_{n}hn,具体为:
hn=f(xn,xco[n],hne[n],xne[n])h_{n}=f(x_{n},x_{co[n]},h_{ne[n]},x_{ne[n]})hn=f(xn,xco[n],hne[n],xne[n])
其中,fff 可以解释为前馈全连接神经网络。
updater:模型在学习过程中迭代更新节点nnn的嵌入表示
Ht+1=F(Ht,X)H^{t+1}=F(H^t,X)Ht+1=F(Ht,X)
其中,ttt为第ttt轮迭代,XXX为所有特征,HtH^tHt为第ttt轮迭代中所有节点的嵌入表示。
(2)输出模块
输出模块根据模型的应用类型不同可分为两种形式
1.node-focused
对于节点分类问题,模型输出最后一次迭代后每个节点对应的标签
on=g(hnT,xn)o_n=g(h_n^T,x_n)on=g(hnT,xn)
其中,ggg 可以解释为前馈全连接神经网络。
此时模型的损失函数为:
loss=∑i=1p(ti−oi)loss=\sum_{i=1}^p(t_i-o_i)loss=i=1∑p(ti−oi)
其中tit_iti为第iii个节点的真实标签,oio_ioi为模型输出标签,ppp为节点数量
2.graph-focused
对于图分类问题,使用READOUT 函数从最后一次迭代中聚合节点特征来获取整个图的表征向量h(G)h(G)h(G)
h(G)=READOUT({hv(K)∣v∈G})h(G)=READOUT(\{h_v^{(K)}|v\in G\})h(G)=READOUT({hv(K)∣v∈G})
READOUT 函数可以是一个简单的置换不变函数,例如求和或者 graph-level 的 pooling 函数 (Ying et al., 2018; Zhang et al., 2018)。
常见模型
图神经网络按图类型、训练方法、传播方法的不同有多种变体,详细如下图所示:
下一篇博客将介绍常见的几种模型:图卷积神经网络(GCN)、门控图神经网络(GGNN)、注意力图神经网络(GAT)
参考:
https://blog.csdn.net/u011748542/article/details/86289511
https://yq.aliyun.com/articles/694432
https://blog.csdn.net/u012678060/article/details/81056008
http://www.zhuanzhi.ai/document/2c5360f090fb1d6b434eb53870660712
https://www.jianshu.com/p/89fbed65cd04?winzoom=1
图神经网络系列(一)介绍及基本模型相关推荐
- 图神经网络系列-Graph图基本介绍、度中心性、特征向量中心性、中介中心性、连接中心性
图神经网络系列-Graph图基本介绍.度中心性.特征向量中心性.中介中心性.连接中心性 目录 图的定义 图的类型 空图形 简单图 多重图 有向图 无向图 连通与断开图 正则图 完全图 循环图 二部图 ...
- 图神经网络系列-知识图谱Neo4j-图神经网络案例实战
图神经网络系列-知识图谱Neo4j-图神经网络案例实战 数据集简介 https://duanzhihua.blog.csdn.net/article/details/115530812 系列文章 图神 ...
- 图神经网络系列-BiNE算法
图神经网络系列-BiNE算法 BiNE算法论文提出了一种二部网络的表示学习方法.虽然现有的工作已经开发了各种网络数据嵌入方法,但它们主要集中在一般的同构网络上,而忽略了二部网络的特殊性质.因此,对于嵌 ...
- 图神经网络 Graph Neural Networks 系列(1)图神经网络基础知识介绍
图是一种对一组对象(节点)及其关系(边)进行建模的数据结构.近年来,利用机器学习分析图的研究越来越受到重视,因为图具有很强的表现力,即图可以作为社会科学(社会网络)和自然科学等多个领域中大量系统的表示 ...
- 图神经网络也能用作CV骨干模型,华为诺亚ViG架构媲美CNN、Transformer
来源丨机器之心 华为诺亚实验室的研究员发现图神经网络(GNN)也能做视觉骨干网络.将图像表示为图结构,通过简洁高效的适配,提出一种新型视觉网络架构 ViG,表现优于传统的卷积网络和 Transform ...
- 【CS224W】(task9)图神经网络的表示能力(GIN图同构模型)
note ranking by discriminative power(input):sum-multiset > mean-distribution > max-set [基础部分]G ...
- 华为诺亚ViG架构媲美CNN、Transformer,图神经网络也能用作CV骨干模型
华为诺亚实验室的研究员发现图神经网络(GNN)也能做视觉骨干网络.将图像表示为图结构,通过简洁高效的适配,提出一种新型视觉网络架构 ViG,表现优于传统的卷积网络和 Transformer.在 Ima ...
- 【图神经网络】 - GNN的几个模型及论文解析(NN4G、GAT、GCN)
文章目录 图神经网络 Neural Network for Graphs(NN4G) 论文信息 摘要 NN4G模型思想 Graph Attention Network(GAT) 论文信息 摘要 GAT ...
- 图神经网络系列(二)图卷积神经网络
图卷积神经网络 利用图卷积神经网络提取拓扑图的空间特征,其方式主要可以分为基于空间域(vertex domain,spatial domain)的方法 以及 基于谱域(spectral domain) ...
最新文章
- linux c++ 报错 invalid use of incomplete type 解决方法
- vs编译cuda DLL
- urllib2库的基本使用
- 杭电1861 游船出租
- 【机器学习】Andrew Ng——02单变量线性回归
- 大话手游时间服务器哪个最新,大话手游时间服和免费服优缺点分析!选择最适合你的...
- Office Communications Server 和客户端使用的端口和协议
- ubuntu 13.04 web开发从零配置到全装备手记(环境搭建全攻略)
- 关于微信公众号的测试
- Java视频教程免费分享(网盘直接取)
- 单声道数字功放芯片-NTP8835
- 《乔布斯的魔力演讲》读书笔记
- 循序渐进大数据组件之--【Zookeeper 03】进阶(选举机制以及ZBA协议)
- 还在担心零基础绘画?这篇文章让你少走弯路!
- /Users/apple/.zshrc:2: command not found: i 终端报错解决方法
- 面试必问题:缓存击穿、缓存穿透、缓存雪崩,你还傻傻分不清
- 用matlab解决多重共线性问题,多重共线性和非线性回归的问题
- 更改echarts中盒须图横坐标
- 用Java编写2到100之间的素数;判断一个数是不是素数
- HTML5期末大作业:月饼美食网站设计——月饼美食食品模板(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程食品设计网页规划与设计 计食品模板设计源码