码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 图神经网络(1):图卷积神经网络GCN ICLR 2017


    图卷积神经网络GCN ICLR 2017 , 是曾经在美国加州大学UCI教授、现在荷兰阿姆斯特丹大学教授 Max Welling团队的大作(Max是图灵奖获得者Hinton的弟子),第一作者T. N. Kipf已经成为这个领域有名的学者和工程师。

    如果你能读懂英文,建议直接看作者最初发布的网站

    https://tkipf.github.io/graph-convolutional-networks/

    讲到GCN,就必须要讲到ChebNet, GCN可以认为是ChebNet的简化版和魔改版。

    ChebNet是2016年NeurIPS上的论文,可以认为是第一代基于深度学习的图神经网络。

    引用GCN里的一张图,这张图也是非常经典,看着很花哨,公式写起来很简单。

     

    GCN可以认为是第一代,可以商业化的图神经网络。

    GCN的公式非常简单。

    f(H^{l}, A) = \sigma\left( AH^{l}W^{l}\right) \ = H^{l+1}

    其中,\sigma是激活函数,原作者采用ReLU,至于ReLU是什么你都不懂的话,可以需要从头开始学习深度学习和机器学习。后面我计划推出一个深度学习从零开始的教程。这里相当于把输入的原特征矩阵H^{l} 和 W^{l}做了一个相乘之后,再和邻接矩阵A相乘。 W^{l}可以认为是一个简单的线性神经网络。对应PyTorch里的Linear或者TensorFlow里的Dense。

    H^{l} 是一个N*F的矩阵,W^{l}是一个F*F'的矩阵,相乘之后得到N*F'。 A是一个N*N的矩阵,和A相乘后得到一个新的N*F'的矩阵,也就是H^{l+1}。

    具体来说公式是:

    f(H^{l}, A) = \sigma\left( \hat{D}^{-\frac{1}{2}}\hat{A}\hat{D}^{-\frac{1}{2}}H^{l}W^{l}\right) \

    这里对原来的邻接矩阵做了一个归一化,可以不必看懂这个归一化,除非你懂线性代数。就是这么简单。对于懂线性代数的人来说,非常容易看懂。所以想要看懂深度学习,线性代数是基础。

    另外,图神经网络可以多层。下一层H^{l+1}来自于上一层H^{(l)}的计算。当然现在的图神经网络已经比较复杂了,例如加上ResNet残差连接层,加入注意力机制,池化机制等等。

     最后根据最后一层H^{l+1},去做分类,预测节点的类别。

    早期的图神经网络GCN、GAT只预测节点的类别。但GIN开始,对GCN和GAT做一个节点特征的池化Pooling,就能得到真个图的特征,并应用在图分类上。

     后续文章再对GAT和GIN,以及最新的图神经网络进行介绍。但从现在最新图神经网络的效果来看,并没有比GCN、GAT具有特别翻天覆地的精读提示,一般也就提示1-3个百分点。所以很多应用的文章直接拿GCN和GAT应用下就能发文章,如何应用GNN发文章,后面博客会写。

  • 相关阅读:
    Mac下brew安装php7.4
    【算法挨揍日记】day06——1004. 最大连续1的个数 III、1658. 将 x 减到 0 的最小操作数
    2022-09-05 对于IN操作符的优化的调研
    Java类和对象(1)
    anr和crash文件分析,特征码提取
    恶意软件反向关闭EDR的原理、测试和反制思考
    【nuget】如何移动 nuget 缓存文件夹
    netdata 监控软件安装与学习
    【编译部署】使用Visual Studio编译Linux平台程序/动态库(远程连接)
    QLayout 删除widget中的子控件,父控件大小不能自适应
  • 原文地址:https://blog.csdn.net/dongfangxiaozi_/article/details/126162979
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号