李宏毅机器学习课程梳理【九】:GNNSpatial-based GNN
文章目录
- 摘要
- 1 引入图神经网络
- 2 Spatial-based GNN
- NN4G(Neural Networks for Graph)
- DCNN(Diffusion-Convolution Neural Network)
- DGC(Diffusion Graph Convolution)
- MoNET(Mixture Model Networks)
- GAT(Graph Attention Networks)
- GIN(Graph Isomorphism Network)
- 3 总结与展望
摘要
上一篇文章介绍了卷积神经网络,一个多维列向量作为卷积神经网络的输入,经过卷积、池化与全连接网络后会对图像等识别工作取得较好结果,而不能处理数据结构中“图”的概念。本文介绍的Spatial-based GNN,受到卷积层计算的启发,考虑图的节点与边等结构,设计出符合图结构的Model。文章介绍了五种Spatial-based GNN及其有效性的判别结论。
1 引入图神经网络
Graph如何输入进神经网络里面?如何输入图的结构、节点和边的feature?
如果Graph有20k个节点如何处理?
如果Training Set中数据量很大,不能将全部数据Labeled,如何训练model?
GNN如何捕捉邻居关系来训练model?
如何将图的节点嵌入到feature space中做卷积?
方法一:借鉴CNN,用邻居更新Feature Map,Spatial-based convolution方法。
Aggregate:用邻居的特征更新Feature Map、也就是更新下一层的hidden state,示意图如图1所示。
Readout:把所有节点的特征集合起来代表整个graph
方法二:使用Signal Processing理论,经过一系列步骤得到经过Filter的输出,Spectral-based convolution方法
2 Spatial-based GNN
NN4G(Neural Networks for Graph)
NN4G这个model是采用方法一Spatial-based convolution,Model的Input layer输入节点、边和特征,Hidden layer 0使用特征矩阵提取每一个节点特征,这两个步骤的示意图如图2所示。
接下来Aggregate,NN4G把算法设计成将邻居的特征相加、经过一次Transform、再加上原本的Input layer的特征。示意图如图3所示。
最后Readout,叠的各层分别对特征取平均、经过一次Transform、再相加变成一个Feature,代表整个Graph的特征。示意图如图4所示。
DCNN(Diffusion-Convolution Neural Network)
以相同的输入图为例,Hidden layer 0设计成将所有与被计算节点距离为1的节点求平均、再微分,每一个节点做相同的事情,示意图如图5所示。
再叠加的层更新Feature时,所用特征的数据来源于Hidden layer 0,将Hidden layer 1中所有与被计算节点距离为2的节点求平均、再微分,每一个节点做相同的事情,示意图如图6所示。
Output layer的节点特征计算:
图7假设叠了K层,将某个节点在K层矩阵中对应数值取出来,经过一次Transform,即得到节点特征。
DGC(Diffusion Graph Convolution)
在Input layer、Hidden layer与DCNN相同,在Output layer采取相加,而非Transform,如图8所示。
MoNET(Mixture Model Networks)
Aggregate时,被计算节点的邻居之间应该考虑权重。定义节点之间的距离,即每条边都计算 u x , y u_{x,y} ux,y来表示节点x与节点y之间的距离,将距离Transform后作为权重。如图9所示。
GAT(Graph Attention Networks)
不仅要考虑权重,还让权重是机器自己学的。定义目标节点与其邻居的energy,如图10所示。
GAT目前使用很广泛。
GIN(Graph Isomorphism Network)
基于图相对复杂的结构,使用Max和Mean可能会导致失败,有效地更新特征的式子应该为 h v ( k ) = M L P ( k ) ( ( 1 + ϵ ( k ) ) ⋅ h v k − 1 + ∑ h u k − 1 ) h_v^{(k)}=MLP^{(k)}\big((1+\epsilon^{(k)})\cdot h_v^{k-1}+\sum h_u^{k-1}\big) hv(k)=MLP(k)((1+ϵ(k))⋅hvk−1+∑huk−1),求和是较好的处理。
3 总结与展望
本文介绍的Spatial-based GNN,受到卷积层计算的启发,考虑图的节点与边等结构,设计出符合图结构的Model。文章介绍了五种Spatial-based GNN及其有效性的判别结论。接下来将介绍Graph Signal Processing and Spectral-based GNN以及衡量GNN效果的Benchmark。
李宏毅机器学习课程梳理【九】:GNNSpatial-based GNN相关推荐
- 李宏毅机器学习课程-Transfer Learning
深度学习 -> 强化学习 ->迁移学习(杨强教授报告) 李宏毅机器学习课程-Transfer Learning 迁移学习-吴恩达 freeze 待处理的 理解深层神经网络中的迁移学习及Te ...
- 李宏毅机器学习课程12~~~半监督学习
Semi-supervised Learning The distribution of the unlabeled data tell us something. Usually with some ...
- 李宏毅机器学习课程4~~~分类:概率生成模型
分类问题用回归来解决? 当有右图所示的点时,这些点会大幅改变分类线的位置.这时候就会导致整体的回归结果变差.当把多分类当成回归问题,类别分别为1,2,3,4--,因为回归的问题是预测具体的值,这样定义 ...
- 李宏毅机器学习课程---2、Regression - Case Study
李宏毅机器学习课程---2.Regression - Case Study 一.总结 一句话总结: 分类讨论可能是比较好的找最佳函数的方法:如果 有这样的因素存在的话 模型不够好,可能是因素没有找全 ...
- 台大李宏毅机器学习课程
[机器学习入门] 台大李宏毅机器学习课程,转载来自:https://blog.csdn.net/soulmeetliang/article/details/77461607 TOPIC CONTENT ...
- 李宏毅机器学习课程10~~~卷积神经网络
卷积的意义 数字图像是一个二维的离散信号,对数字图像做卷积操作其实就是利用卷积核(卷积模板)在图像上滑动,将图像点上的像素灰度值与对应的卷积核上的数值相乘,然后将所有相乘后的值相加作为卷积核中间像素对 ...
- 【李宏毅机器学习课程笔记】深度强化学习(五)—— Sparse Reward
文章目录 Introduction Reward Shaping Curiosity Curriculum Learning Hierarchical Reinforcement Learning I ...
- 李宏毅机器学习课程--回归(Regression)
近期在学习李宏毅老师的机器学习视频(https://www.bilibili.com/video/av10590361/?p=4),下面写一下自己的心得体会. 李老师用的是精灵宝可梦做的比喻,假设进化 ...
- 李宏毅机器学习课程9~~~深度学习技巧
Recipe of Deep Learning Overfitting overfitting的判断是要训练误差与测试误差做比较.这个56-layer的网络在训练集上都没有训练好,说白了就是有点欠拟合 ...
最新文章
- 让植物“张嘴说话”!新加坡“植物机器人”可成为环境探测器促进农业生产...
- gradle入门,安卓gradle入门
- pygame的学习以及python的巩固(窗口尺寸的显示)
- tablespace innodb_index_stats is missing
- 2017.7.17数据类型
- 谈谈JS中的函数节流
- 【一周一算法】算法3:最常用的排序——快速排序
- ionic的Alert弹出框详解
- [UPF]低功耗(Low Power Design)and UPF介紹
- Spring Boot系列 —(一)手把手搭建 SpringBoot 项目
- 应该怎么学大数据?该从哪学起?
- 辉芒微IO单片机FT60F121-RB
- 【Servlet】2:认识一下Web服务器——Tomcat
- 电脑开机遇见a disk read error occurred场景:
- stm32LL库串口空闲中断+DMA接收
- collect2.exe: error: ld returned 1 exit status分析与解决
- 一文解锁BILIBILI、ACFUN等弹幕网站是如何审核视频
- 人工神经网络与神经网络,神经网络最新研究方向
- FusionCharts(Falsh图表)免费版下载和使用
- Java利用多线程编程实现一个正在旋转的地球
热门文章
- Python量化交易学习笔记(2)——A股数据下载
- javaee java_JavaEE:JavaEE技术组成
- 获取网站的Icon图标
- 为何人工智能 AI 首选Python 读完这篇文章你就知道了
- 如何快速构建物联网原型?
- 2020中考计算机统考答案,2020中考必读 | 中考电脑阅卷流程“潜规则”!读完孩子少丢20分!(转给中考生)...
- 利用VMware虚拟机,用汇编语言编写代码调用系统调用并输出
- Unicode介绍及Unicode编程
- Python 批量加水印只需一行命令
- Elasticsearch 设置密码,并配置 Kinaba 和 Filebeat