在 GNN笔记:图卷积_UQI-LIUWJ的博客-CSDN博客中,我们知道了谱图卷积相当于是

那么问题在于,如何设计含有可训练的、共享参数的kernel呢?

1 GCN-ver1.0 (2013)

1.0 原理

Spectral Networks and Deep Locally Connected Networks on Graphs

  • 谱图卷积核
  • 这里就是可学习的参数

1.1 弊端

  • 每一次前向传播,都需要计算和,和U三者的矩阵乘积

    • ——>计算复杂度高 
  • 卷积核需要n个参数
  • 不具有spatial localization(即不能很好地体现 k-阶邻居的这个信息)

2 ChebNet

2.1 原理

  • 使用切比雪夫多项式作为谱图卷积的卷积核

    • ——k阶切比雪夫多项式
    • βk——对应的系数(训练中迭代更新的参数)
      • λmax表示拉普拉斯矩阵L最大的特征值
      • 是L的特征值组成的对角矩阵
  • ——>
  • 进一步推导(把矩阵运算放到切比雪夫多项式里面),有
    • ——>
      • 其中
    • 这样变换的好处是:计算过程中无需对拉普拉斯矩阵进行特征分解
    • 论文中说,,也就是说,每个βk应该是一个常数
    • 注:这里默认x的维度是N*1,也就是每个点对应的属性是标量;如果x的维度是N*dim,那么需要先split成dim个N*1,分别进行上述的ChebNet计算,然后把dim个结果加起来
      • 或者可以理解成:时,βk是1*1的,然后将对dim个的乘积结果相加
    • 这样一个Filter,进行chebNet的结果就是N*1,如果有q个filter,那么结果就是N*q

2.1.1 为什么要限制?

第一类切比雪夫多项式的解析形式是

由于有arccos(x)函数,所以输入必须在[-1,1]之间

拉普拉斯矩阵半正定

——>拉普拉斯矩阵的特征值非负

——>

——>

——>

2.1.2 切比雪夫多项式

2.2 K的含义

即图卷积的感受野

注:实际的ChebNet 中,每一次卷积是把图中的所有顶点都做了一次上述的邻居点message passing

2.3 好处

  • 卷积核只有K个参数(一般K远小于n,这样参数的数量级大大降低了)
  • 矩阵变换后,不用再做特征分解了(λmax可以用幂迭代法得出)
    • ——>直接用拉普拉斯矩阵L进行计算
    • 但由于要计算L^j,所以计算复杂度还是
  • 具有很好的spatial localization

    • K是卷积核的感受野

3 GCN_ver2.0(ChebNet的一阶近似)

  • 一个层线性方程可以由堆叠多个使用拉普拉斯矩阵的一阶近似的局部图卷积层来达到相同的效果

    • (用深度换广度)
  • 对ChebNet进行一阶近似,即中的K=1
  • 同时, 由于在神经网络中,参数可以放大缩小,可以归一化,所以我们可以进一步假定
    • 因此,我们可以进一步将谱图卷积简化 (相当于上面切比雪夫多项式近似的时候,K取1,也就是只考虑1阶邻居)
  • 是谱图卷积核公用的参数。为了约束参数并为了稳定数值计算 ,θ0和θ1被一个参数θ代替:
  • 我们再令

那么我们有:

堆叠K个一阶近似的图卷积可以获得和平行的K阶卷积相同的效果,所有的卷积可以从一个顶点的K阶邻居中获取到信息。

【相比于直接使用邻接矩阵,这边的W+In个人觉得更合理:计算新特征的时候,添加自连接之后,相当于考虑了自己的特征】

 

【至于,我觉得进行归一化是有必要的:因为进行特征更新的时候,如果不进行归一化的话,度大的节点特征会越来越大,对于度小的节点则正相反】

GCN笔记:Graph Convolution Neural Network,ChebNet相关推荐

  1. 图卷积网络GCN(Graph Convolution Network)(一)研究背景和空域卷积

    文章首发于个人站点: 图卷积网络GCN(Graph Convolution Network)(一)研究背景和空域图卷积 | 隐舍 公众号:[DreamHub] 由于文章篇幅较长,因此将其分解为三部分: ...

  2. 论文笔记 Inter-sentence Relation Extraction with Document-level Graph Convolutional Neural Network

    一.动机 为了抽取文档级别的关系,许多方法使用远程监督(distant supervision )自动地生成文档级别的语料,从而用来训练关系抽取模型.最近也有很多多实例学习(multi-instanc ...

  3. Spectral-based graph convolutional neural network

    这里写自定义目录标题 Spectral-based graph convolutional neural network 1. 来自对<[A Comprehensive Survey on Gr ...

  4. 【面向代码】学习 Deep Learning Convolution Neural Network(CNN)

    转载自: [面向代码]学习 Deep Learning(三)Convolution Neural Network(CNN) - DarkScope从这里开始 - 博客频道 - CSDN.NET htt ...

  5. 卷积神经网络Convolution Neural Network (CNN) 原理与实现

    本文结合Deep learning的一个应用,Convolution Neural Network 进行一些基本应用,参考Lecun的Document 0.1进行部分拓展,与结果展示(in pytho ...

  6. 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network

    台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network 本博客主要整理自: http://blog.csdn.net/x ...

  7. 2019 NIPS | Variational graph recurrent neural network

    2019 NIPS | Variational graph recurrent neural network Paper: https://arxiv.org/abs/1908.09710 Code: ...

  8. Graph Wavelet Neural Network

    论文标题 Graph Wavelet Neural Network 论文来源 ICLR 2019, 论文PDF 论文代码 https://github.com/benedekrozemberczki/ ...

  9. Graph Convolutional Neural Network - Spatial Convolution 图卷积神经网络 — 空域卷积详解

    文章目录 往期文章链接目录 Note Convolutional graph neural networks (ConvGNNs) GCN Framework GCN v.s. RecGNN What ...

最新文章

  1. Spark 把RDD数据保存到hdfs单个文件中,而不是目录
  2. Android Activity和Fragment的转场动画
  3. windows下qt5 kinect 2.0开发与环境配置
  4. 动画狗奔跑gif图片_常用的GIF制作工具,自媒体人常用,你还不会做表情包
  5. [Idea Fragments]2013.08.08
  6. 数据结构与算法---查找算法(Search Algorithm)
  7. mybatis ------ 逆向工程(十)
  8. GIT插件EGIT使用手册
  9. js中字符串方法集合
  10. 在实习的过程中规划自己的未来职业蓝图
  11. 爱普生690k打印针测试软件_求兄弟给个爱普生针式打印机 打印断针检测程序,型号Epson LQ-300K+~谢谢了...
  12. vmin、vmax用处
  13. 一文系统搞懂协同推荐算法(二)
  14. 格式化数据#1:数据存储|Database
  15. android 强制退出当前应用程序,android 强制退出应用
  16. 记一次失败的云函数的实践
  17. 字节、腾讯争先部署,ClickHouse+Doris 赶超 MySQL 810 倍
  18. 局域网内通信和局域网与局域网间通信
  19. Python数据收集入门
  20. 使用Excel计算财务NPV和内部收益率IRR

热门文章

  1. 关于ImportError: DLL load failed: 找不到指定的模块
  2. Oracle 数据库的性能优化
  3. linux shell翻译英文脚本
  4. mysql启动参数(/etc/my.cnf)详解汇总
  5. findfirst, findnext
  6. Learning both Weights and Connections for Efficient Neural Networks
  7. (无美国卡)如何进行美国号码是否可正常接收短信的验证,解决方案详见内文...
  8. 计算机处理器i5和i7,i5与i7有什么区别 酷睿i5和i7区别汇总【详细介绍】
  9. ubuntu14.04安装theano,cuda7.5
  10. 阿里云LNMP环境搭建