Introduction to Graph Neural Networks 摘要(1) 预备知识


0. 前言

  • 《Introduction to Graph Neural Networks》是清华大学刘知远教授在2020年3月发布的新书。
  • 本文主要内容
    • 第一章 - Introduction:介绍了图(Graph)的基本概念以及GCN的来源。
    • 第二章 - Basics of Math and Graph:介绍了线性代数、概率论、图论的常用概念。
    • 第三章 - Basics of Neural Networks:介绍了神经元、BP、常见神经网络形式。

1. Introduction

1.0. 图的基本概念

  • 图(Graph)是一种数据结构,用来对一些物体(Nodes)以及物体间的相互关系(edges)进行建模。
  • 图的应用领域很广,包括:社会科学(猜测人际关系就是图结构)、自然科学(比如分子运动?)、蛋白质相互关系、知识图谱等。
  • Euclidean Data 与 Non-Euclidean Data 之间的区别:
    • 前者表示的是“排列整齐”的数据,比如图片、视频、语音等。
    • 后者一般可分为两类,图(Graph)数据与流数据。
    • image_1eg91r2s2gk6mgi1u3mpf91h3o9.png-263.8kB

1.1. 为什么要设计GCN

  • 图神经网络的设计有一部分参考了卷积操作
    • CNN能够提取多尺度下的局部空间特征,且特征有很强的表达能力。
      • 上面这句话是翻译,有点难懂,建议看源码
      • CNNs is capable of extracting and composing multi-scale localized spatial features for features of high representation power
      • CNN就是靠这个特点引领了深度学习革命。
    • CNN的关键点在于:local connection(局部连接,即获取kernel内的信息), shared weights(参数共享,使用相同的kernel在不同位置执行操作,减少参数量),use of multi-layer(多个CNN叠加得到结果)
    • Graph与CNN关键点之间的关系:
      • 第一,Graph是典型的 local connection 结构。这里所谓的局部连接,我猜指的就是各种edge。
      • 第二,shared weights 也能为Graph相关算法减少计算量与资源。
        • 普通卷积对比的对象可能是全连接层,而图这里,对比的对象是 traditional spectral graph theory(不知道是啥,我就当作)。
      • 第三:multi layer结构是是处理hierarchical patterns(分层模式)的关键,用来提取各种纬度的特征。
    • CNN不能直接用于Graph的原因:CNN是处理Euclidean data的,比如图像、文本。
  • 图神经网络的设计还源自 Network Embedding(graph embedding)
    • 所谓 graph embedding,就是学习如何通过低维度向量表示图像中的点、线、子图。
    • 传统方法通过手动选择特征,泛化能力差,工作量大。
    • 在参考 word embedding 等工作后,有大量 representation learning 方法可以借鉴,如DeepWalk, node2vec, LINE, TADW等。不过这些方法都存在两个缺陷:
      • 缺陷一:不同nodes的参数不共享,计算量、资源与node数量成正比。
      • 缺陷二:direct embedding 方法的泛化能力差,不能处理动态图或新的图。

1.2. 相关工作

  • 列了一堆,看不太懂,也并不太关心……
  • 总结了本书的内容
    • 详细介绍了所有已知的GNN模型。
    • 系统总结了所有应用,并分为 structural scenarios, non-structural scenarios, other scenarios 三类。

2. Basics of Math and Graph

2.1. 线性代数

  • 基本概念:
    • 标量、向量、范数、线性无关。
    • 矩阵、矩阵乘法、行列式、逆序、逆矩阵、转置矩阵、Hadamard product(两个shape相同的矩阵按为乘法)
  • 特征分解
    • 假设A为nxn的矩阵。
    • 特征向量、特征值: A v = λ v Av = \lambda v Av=λv,则v为特征向量, λ \lambda λ为特征值。
    • 如果A矩阵有n个特征向量,则该矩阵是线性无关的。
    • 特征分解: A = V d i a g ( λ ) V − 1 A = V diag(\lambda) V^{-1} A=Vdiag(λ)V1,其中V为特征矩阵, d i a g ( λ ) diag(\lambda) diag(λ)记作对角线全是特征值,其他为0。
  • 奇异值分解
    • 不是所有矩阵都能进行特征分解:特征分解要求较高,大部分矩阵不能进行特征分解。
    • 奇异值分解要进行操作的矩阵是 A T A A^TA ATA A T A A^TA ATA,对该矩阵进行特征分解,特征分解结果分别组成奇异值分解的结果。
    • A = U Σ V T A = U\Sigma V^T A=UΣVT,A为原始矩阵,U为 A A T AA^T AAT特征矩阵组成,V为 A A A^A AA特征分解结果。

2.2. 概率论

  • 基本概念与公式
    • 随机变量、联合概率、条件概率。
    • 加法公式、乘法公式、贝叶斯公式、链式法则
    • 数学期望、方差、标准差
  • 常见概率分布
    • 高斯分布(正态分布)
    • 伯努利分布
    • 二项分布
    • 拉普拉斯分布

2.3. 图论

  • 上一次系统看图论,还是本科参加ACM竞赛的时候,好怀念啊……
  • 基本概念:顶点、边、端点(节点边的两头)、有向图、无向图、相邻(一条边连接的两个顶点)、度(与某个顶点连接的边的数量)
  • 图的代数表示
    • 邻接矩阵
    • Degree matrix(度矩阵),只有主对角线上有值,其他的均为0,i行i列的取值为节点i的度。
    • Laplacian matrix:定义为 D − A D-A DA,其中D为度矩阵,A为邻接矩阵,是对称矩阵。
    • Symmetric normalized Laplacian:正则化的Laplacian matricsimage_1egam690gl3p13bik57u5c1u0n9.png-26.6kB
    • Random walk normalized Laplacianimage_1egamfc1o1lncm271mggscml70m.png-22.7kB
    • Incidence matrix,关联矩阵
      • 对于有向图,如果存在边u->v,则 M u v = 1 , M v u = − 1 M_{uv} =1, M_{vu} = -1 Muv=1,Mvu=1
      • 对于无向图,如果存在 u->v,则 M u v = M v u = 1 M_{uv} = M_{vu} = 1 Muv=Mvu=1
      • image_1egaml1fm1mgh1bsh165q1b1o1g4113.png-48.7kB

3. Basics of Neural Networks

3.1. 神经元

  • 神经元(Neuron)是神经网络的基本组成部分,由一个累加以及一个激活函数组成。
  • 常见的激活函数包括 sigmoid, tanh, relu。

3.2. 反向传播

  • 训练神经网络最常用的方法就是反向传播(Back propagation algorithm)。
  • 基本原理就是通过梯度下降与链式法则计算每个参数梯度,然后通过学习率来更新参数值。
  • 总而言之,BP的过程分为两步,前向计算+反向传播。

3.3. 神经网络

  • 介绍常见的神经网络。

  • Feedworward Neural Network:前向神经网络,包括了CNN、多层感知机等形式。

  • Convolution Neural Network:卷积神经网络,FNN的特殊形式,使用CNN替代FC。

  • Recurrent Neural Network:循环神经网络,不仅有外部输入数据,也会将历史数据作为输入。

  • Graph Neural Network:为图结构设计的网络。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值