【GCN】图卷积网络 Graph Convolutional Networks
公众号关注 “视学算法”
设为 “星标”,DLCV消息即可送达!
作者 | Frank Cao
专栏 | 深度学习
地址 | https://zhuanlan.zhihu.com/p/101005150
本文仅作学术分享,若侵权,请联系后台删文处理
1. Basic
上面左图是2D卷积神经网络,其输入是4行4列的矩阵,通过卷积核逐步移动实现对整个输入的卷积操作;而右图输入是图网络,其结构和连接是不规则的,无法像卷积神经网络那样实现卷积操作,由此提出图卷积网络。
以Zachary’s Karate Club社群为例,其结构如下图所示:
即总共是0~33共34个node,代表34个人,两个node如果有线段连接代表两者关联,否则无关联;这34个人被分为两类,分别是“Officer”和“Mr. Hi”;为便于查看整个网络中每个人与其他人的关联关系,重构关联图如下:
基于上图结构,定义矩阵A(其shape=[34,34])如下, 每一行代表一个Node;
A[0] =[0., 1., 1., 1., 1., 1., 1., 1., 1., 0., 1., 1., 1., 1., 0., 0., 0., 1., 0., 1., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],代表第0个node与第1、2、3、4、5、6、7、8、10、11、12、13、17、19、21、31个node关联;
A[11] = [1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,0., 0.],代表第11个node只与第0个node关联;
A[12] = [1., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],代表第12个node只与第0、3个node关联;
定义矩阵X(其shape=[34, k],如k=3),每一行代表一个node的3个特征;其初始值随机生成;
定义矩阵W(其shape=[k, 1]),随机参数矩阵;
类别(Label):node[0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 16, 17, 19, 21]是“Mr. Hi”;node[9, 14, 15, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33]是“Officer”;
图卷积网络的propagation如下:
图卷积网络可用于特征表征,即最小化Loss,更新矩阵X和W,其中矩阵X的每一行即为对应node的特征,这和word2vec模型很像。
模型地址:https://zhuanlan.zhihu.com/p/88757091
2. More
矩阵A的每一行表示的关联点并不包含其自身,为更好的表达网络结构,定义矩阵AI
AI = A + eye(34);
矩阵AI中值为1.0多的行比少的行在propagation中意味着更大的值,训练时不稳定,容易造成梯度爆炸,由此引入对角矩阵D;
则图卷积网络的propagation修改为:
该式后又优化为:
Notes:D是对角矩阵,此处定义其0元素的负k(k=1.0, 0.5)次方仍是0;
优化前后两者的区别在于:
即优化后,运算时不仅仅考虑D矩阵中node[i]对应的点还考虑了node[j]对应的点;
Loss函数不变,仍为下式:
最小化Loss,更新X和W矩阵,其中X即为特征表征;
3. Other
3.1 X矩阵:特征表征
3.1.1 Karate Club的三维表征(即X矩阵为三维矩阵,并将其通过pca进行维度转换及降维进行展示)
3.1.2 football的多维(1~5)表征
1D feature representation
2D feature representation
3D feature representation
4D feature representation
5D feature representation
train figure for loss and accuracy
3.2 Semi-Supervised(半监督)
上述讨论中是所有node都是已知的,即其在网络中的关联关系和类别(Label)都是已知的,则矩阵A的shape=[34,34];如果有N个node在网络中的关联关系是已知的,但是类别未知,其亦可参与训练,此时矩阵A的shape=[34, 34+N],其它不变,然后进行训练,训练完成后,这N个node的类别是可以被这个训练完的模型预测的。
3.3 多layer多类别的情况
附代码:
https://link.zhihu.com/?target=https%3A//github.com/frank0532/graph_convolutional_networks
【GCN】图卷积网络 Graph Convolutional Networks相关推荐
- 图卷积网络(Graph Convolutional Networks, GCN)详细介绍
本文翻译自博客. 在这篇博文中会为大家详细地介绍目前使用广泛的图神经网络--图卷积网络(Graph Convolutional Networks, GCN)的相关知识.首先将带领大家直觉上感受其工作原 ...
- 图卷积神经网络--Graph Convolutional Networks for Hyperspectral Image Classification
一.文章摘要 卷积神经网络(CNN)由于能够捕捉空间-光谱特征表示,在高光谱(HS)图像分类中受到越来越多的关注.然而,他们对样本之间关系建模的能力仍然有限.除了网格采样的局限性,最近提出了图卷积网络 ...
- GCN图卷积网络 | 介绍
目录 0 前言 1 基于空间域的GCN[2] 2 基于谱域的GCN 2.1拉普拉斯矩阵 2.2为什么GCN要用拉普拉斯矩阵? 2.3 拉普拉斯矩阵的谱分解(特征分解) 2.4卷积的定义 2.5傅里叶变 ...
- GCN - Semi-Supervised Classification with Graph Convolutional Networks 用图卷积进行半监督节点分类 ICLR 2017
目录 文章目录 1 为什么GCN是谱图卷积的一阶局部近似?- GCN的推导 谱图卷积 Layer-wise Linear Model(逐层线性模型) 简化:K=1(2个参数的模型) 简化:1个参数的模 ...
- 一文秒懂图卷积神经网络Graph Convolutional Network(GCN)——从图信号处理(GSP)到图卷积神经网络详细推导
图卷积神经网络详解 1 为什么会出现图卷积神经网络? 2 图卷积网络的两种理解方式 2.1 vertex domain(spatial domain):顶点域(空间域) 2.2 spectral do ...
- GCN图卷积网络入门详解
在这篇文章中,我们将仔细研究一个名为GCN的著名图神经网络.首先,我们先直观的了解一下它的工作原理,然后再深入了解它背后的数学原理. >>>> 为什么要用Graph? 许多问题 ...
- 图注意力网络——Graph attention networks (GAT)
文章目录 摘要 引言 GAT结构 数据集与评估结果 未来改进方向 参考文献 摘要 图注意力网络,一种基于图结构数据的新型神经网络架构,利用隐藏的自我注意层来解决之前基于图卷积或其近似的方法的不足. ...
- 神经网络学习笔记4——GNN图神经和GCN图卷积网络
系列文章目录 博客依托于国外GNN综述 结合沐神视频 文章目录 系列文章目录 图神经 一.图是什么? 二.机器学习中使用图 1.邻接矩阵的表达 2.GNN 1.独自更新 2.VE交互更新 3.UVE交 ...
- 可变形卷积网络--Deformable Convolutional Networks
https://arxiv.org/abs/1703.06211 Microsoft Research Asia Code coming soon 本文可以看做是对 Spatial Transform ...
最新文章
- 兰州大学C语言程序设计课程作业,【兰州大学|兰州大学C语言程序设计课程作业( 五 )】语言程序设计|课程|作业-傻大方...
- 编译detours注意
- BC之链式块状结构:区块链之链式块状结构——链式块状结构、内容相关配图
- 【python】使用plt.imshow(image)显示图片一片空白,像素值有数据
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
- (算法)Trapping Rain Water I
- 【TensorFlow】Windows10 64位下安装TensorFlow - 官方原生GPU版安装
- python爬取下拉列表数据_python 抓取下拉列表控制的表格的所有数据
- GET请求缓存问题及解决方案
- for循环 与 while循环
- python处理excel表格-Python利用pandas处理Excel数据的应用
- 第3/24周 区_SQL Server中管理空间的基本单位
- iphone mac地址是否随机_iPad 的 Mac 地址是否会随机更换,如何关闭呢
- Kafka从上手到实践 - 实践真知:搭建单机Kafka | 凌云时刻
- 学习数据库系统概论这一篇就够了
- 知识图谱构建技术一览
- 伯努利试验和二项分布
- 使用Axis2创建一个Web Service的客户端 - 子非鱼,安知鱼之乐? - CSDNBlog
- python 转换图片大小,并保存
- Ansible mysql_db模块