一、前言

深度学习一直都是被几大经典模型给统治着,如CNN、RNN等等,它们无论再CV还是NLP领域都取得了优异的效果,那这个GCN是怎么跑出来的?是因为我们发现了很多CNN、RNN无法解决或者效果不好的问题——图结构的数据。我们做图像识别,对象是图片,是一个二维的结构,于是人们发明了CNN这种神奇的模型来提取图片的特征。CNN的核心在于它的kernel,kernel是一个个小窗口,在图片上平移,通过卷积的方式来提取特征。这里的关键在于图片结构上的平移不变性:一个小窗口无论移动到图片的哪一个位置,其内部的结构都是一模一样的,因此CNN可以实现参数共享。这就是CNN的精髓所在。再回忆一下RNN系列,它的对象是自然语言这样的序列信息,是一个一维的结构,RNN就是专门针对这些序列的结构而设计的,通过各种门的操作,使得序列前后的信息互相影响,从而很好地捕捉序列的特征。

图卷积网络是把CNN拓展到非欧几里德数据。我们知道卷积神经网络之所以效果非常好,是因为利用了数据的局部结构特性(locality),所以在GCN里必须考虑的问题是如何利用数据的局部性。根据局部性不同,可以分成两类方法:(1)频域角度(2)空域角度。以空域角度为例子,直观地说,我们需要解决两个问题:其一是CNN里,神经元除了相邻之外还具有空间位置关系。而图里面没有空间位置关系,本质上缺少区分不同相邻节点的能力。其二是图里,每个节点的相邻节点数目不固定,导致无法固定卷积核的大小,从而无法共享参数。gcn设计了一些机制来解决这些问题。

二、GCN的原理

参考文章:https://blog.csdn.net/chensi1995/article/details/77232019

三、GCN源码分析

源代码 github:https://github.com/tkipf/gcn

源码剖析:https://www.jianshu.com/p/ad528c40a08f

GCN+AE代码逐行学习】参考资料记录:https://blog.csdn.net/qq_41727666/article/details/85334984

Keras版GCN源码解析:https://blog.csdn.net/tszupup/article/details/89004637

├── gcn
│   ├── data          //图数据
│   │   ├── ind.citeseer.allx
│   │   ├── ind.citeseer.ally
│   │   ├── ind.citeseer.graph
│   │   ├── ind.citeseer.test.index
│   │   ├── ind.citeseer.tx
│   │   ├── ind.citeseer.ty
│   │   ├── ind.citeseer.x
│   │   ├── ind.citeseer.y
│   │   ├── ind.cora.allx
│   │   ├── ind.cora.ally
│   │   ├── ind.cora.graph
│   │   ├── ind.cora.test.index
│   │   ├── ind.cora.tx
│   │   ├── ind.cora.ty
│   │   ├── ind.cora.x
│   │   ├── ind.cora.y
│   │   ├── ind.pubmed.allx
│   │   ├── ind.pubmed.ally
│   │   ├── ind.pubmed.graph
│   │   ├── ind.pubmed.test.index
│   │   ├── ind.pubmed.tx
│   │   ├── ind.pubmed.ty
│   │   ├── ind.pubmed.x
│   │   └── ind.pubmed.y
│   ├── __init__.py
│   ├── inits.py    //初始化的公用函数
│   ├── layers.py   //GCN层定义
│   ├── metrics.py  //评测指标的计算
│   ├── models.py   //模型结构定义
│   ├── train.py    //训练
│   └── utils.py    //工具函数的定义
├── LICENCE
├── README.md
├── requirements.txt
└── setup.py

四、参考资料

1、如何理解GCN

2、深度学习时代的图模型,清华发文综述图网络

3、简单的GCN实现(numpy)

4、清华大学孙茂松组:图神经网络必读论文列表

5、GCN的应用

6、关于GCN领域的方法和应用的综述:Graph Neural Networks:A Review of Methods and Applications

7、GCN相关论文

【知识图谱】——图卷积神经网络(GCN)相关推荐

  1. 图卷积神经网络(GCN)综述与实现(PyTorch版)

    图卷积神经网络(GCN)综述与实现(PyTorch版) 本文的实验环境为PyTorch = 1.11.0 + cu113,PyG = 2.0.4,相关依赖库和数据集的下载请见链接. 一.图卷积神经网络 ...

  2. 图卷积神经网络GCN大白话解读!

    何时能懂你的心--图卷积神经网络(GCN) https://zhuanlan.zhihu.com/p/71200936 蝈蝈 把知道的讲清楚.公众号SimpleAI,欢迎来逛逛. 已关注 天雨粟 . ...

  3. DeepLearning | 图卷积神经网络(GCN)解析(论文、算法、代码)

    本篇博客主要讲述三种图卷积网络(Graph Convolutional Network, GCN)的算法原理及python实现,全文阅读时间约10分钟. 博主关于图神经网络的文章 DeepLearni ...

  4. (21) 出行需求预测新视角---基于图卷积神经网络GCN的出租车OD需求预测

    交通预见未来(21): 出行需求预测新视角---基于图卷积神经网络GCN的出租车OD需求预测 1.文章信息 <Origin-Destination Matrix Prediction via G ...

  5. 深入理解图卷积神经网络(GCN)原理

    深入理解图卷积神经网络(GCN)原理 文章目录 深入理解图卷积神经网络(GCN)原理 前言 一.为什么需要GCN 二.GCN的原理 1.图的定义 2.GCN来了 2.1 矩阵计算公式 2.2 以小规模 ...

  6. 图卷积神经网络GCN原理+图结构学习+GAT+VGAE

    https://baijiahao.baidu.com/s?id=1678519457206249337&wfr=spider&for=pc GCN是一种卷积神经网络,它可以直接在图上 ...

  7. 图卷积神经网络GCN的一些理解以及DGL代码实例的一些讲解

    文章目录 前言 GCN 传播公式 例1 例2 DGL中的GCN实例 dgl.DGLGraph.update_all 参考 前言 近些年图神经网络十分火热,因为图数据结构其实在我们的现实生活中更常见,例 ...

  8. 图卷积神经网络(GCN)入门

    GCN是从CNN来的 CNN成功在欧式数据上:图像,文本,音频,视频 图像分类,对象检测,机器翻译 CNN基本能力:能学到一些局部的.稳定的结构,通过局部化的卷积核,再通过层级堆叠,将这些局部的结构变 ...

  9. tensorflow lstm 预测_图卷积神经网络GCN与递归结构RNN相结合的时间序列预测

    时间序列预测任务可以按照不同的方法执行.最经典的是基于统计和自回归的方法.更准确的是基于增强和集成的算法,我们必须使用滚动周期生成大量有用的手工特性.另一方面,我们可以使用在开发过程中提供更多自由的神 ...

  10. 图卷积神经网络(GCN)理解与tensorflow2.0代码实现

    图(Graph),一般用 G=(V,E)G=(V,E)G=(V,E) 表示,这里的VVV是图中节点的集合,EEE 为边的集合,节点的个数用NNN表示.在一个图中,有三个比较重要的矩阵: 特征矩阵XXX ...

最新文章

  1. c语言界面怎么加图形,「分享」C语言如何编写图形界面
  2. eeglab教程系列(13)-学习和删除ICA组件
  3. 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
  4. openCV和Tensorflow起步
  5. 全新的图形数据库云服务Amazon Neptune正式发布
  6. kali中wireshark打开后错误
  7. 2021年春季学期期末统一考试 组织行为学 试题
  8. [转载] Python 字典(Dictionary) get()方法
  9. CloudStack 4.4+KVM之CloudStack配置过程
  10. iChart--地图显示人口统计
  11. 个人微信公众号做外卖优惠券怎么弄?
  12. Assembler如何把跳转汇编变成机器码的(四)
  13. 使用计算机过程中 你有哪些有效措施防范计算机病毒,计算机病毒防范措施主要有什么...
  14. ehcache 缓存丢失_解决Ehcache缓存警告问题
  15. 白箱测试、黑箱测试、回归测试?
  16. 空间搜索(圆范围)中Geohash编码方案和格网编码方案对比探讨
  17. 乐鑫ESP32-C3开发(一)简述和目录
  18. 【蓝桥杯单片机】第五章 一位LED的位移
  19. home1.2 ServerFragment(fragment_server)
  20. linux驱动编写之十六(块驱动设备初识)

热门文章

  1. java.awt的父类,java.awt.Frame的父类是
  2. 手把手教学Linux下oracle11g自动化安装脚本编写
  3. js编码java解码_常用的js、java编码解码方法
  4. PMP认证-项目管理认证好处及优势
  5. 子类为什么不能直接调用object的clone方法
  6. 绝地求生外挂源代码被公布,或迎神仙大战时代?
  7. 抖音很多人给女朋友准备的表白特效
  8. Mac:php浏览器只显示源码
  9. [原创]从智能产品防丢器看中外差别
  10. about.php啥意思,about.php