深度学习:图神经网络笔记

提示:文章地址:


前言

        本文先讨论了将边,点嵌入为向量(其中全局元素是假设可与所有点和边相连)以及信息的汇聚。然后讨论在MLP的基础上如何进行层间的传递。在文章末尾提到了一些细节。
提示:文章地址:
https://github.com/mli/paper-reading
文章网址地址:https://distill.pub/2021/gnn-intro/

数据嵌入

对 图 的 数 据 进 行 嵌 入 :                                                         对图的数据进行嵌入:\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \                                                        
在这里插入图片描述
全 局 信 息 是 假 设 可 以 与 所 有 点 所 有 边 相 连 的 , 可 以 帮 助 两 个 距 离 很 的 点 交 互 全局信息是假设可以与所有点所有边相连的,可以帮助两个距离很的点交互

复杂的情况:缺少对应信息的嵌入

您 可 能 将 图 中 的 信 息 存 储 在 边 中 , 但 节 点 中 没 有 信 息 , 但 仍 需 要 对 节 点 进 行 预 测 。 我 们 需 要 一 种 从 边 缘 收 集 信 息 并 将 它 们 提 供 给 节 点 进 行 预 测 的 方 法 。 我 们 可 以 通 过 “ p o o l i n g ” 来 做 到 这 一 点 。 池 化 分 两 步 进 行 :                                                                   1. 对 于 要 合 并 的 每 个 项 目 , 收 集 它 们 的 每 个 嵌 入 并 将 它 们 连 接 成 一 个 矩 阵 。 2. 然 后 聚 合 收 集 的 嵌 入 , 通 常 通 过 求 和 操 作 。 您可能将图中的信息存储在边中,但节点中没有信息,但仍需要对节点进行预测。\\我们需要一种{\color{red}从边缘收集信息并将它}{\color{red}们提供给节点进行预测}的方法。\\我们可以通过“pooling”来做到这一点。池化分两步进行:\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ 1.对于要合并的每个项目,收集它们的每个嵌入并将它们连接成一个矩阵。\\ 2.然后聚合收集的嵌入,通常通过求和操作。 pooling                                                                 1.2.
在这里插入图片描述在这里插入图片描述在这里插入图片描述

层间传递

直接传递

各 种 嵌 入 使 用 M L P 独 自 更 新 ( 每 一 层 三 个 M L P , 所 有 顶 点 , 边 共 享 一 个 M L P , 全 局 特 征 使 用 一 个 M L P ) : 各种嵌入使用MLP独自更新(每一层三个MLP,所有顶点,边共享一个MLP,全局特征使用一个MLP): 使MLP(MLPMLP使MLP)
在这里插入图片描述

顶点1近邻信息交互

可 能 感 觉 这 样 并 没 有 使 用 到 顶 点 和 顶 点 之 间 的 相 互 信 息 , 考 虑 临 街 顶 点 信 息 汇 聚 ( 把 三 个 嵌 入 相 加 ) 再 进 行 更 新 : 可能感觉这样并没有使用到顶点和顶点之间的相互信息,考虑临街顶点信息汇聚{\tiny (把三个嵌入相加)}再进行更新: 使
在这里插入图片描述
用图表示为
在这里插入图片描述

边和点信息的互传

在信息嵌入时已经有了边和点信息的互传,我们可以不等到最后一层再做汇聚操作。

在这里插入图片描述
还 有 两 边 同 时 汇 聚 的 方 法 : 不 过 这 是 先 汇 聚 信 息 c o n t a c t 起 来 , 然 后 下 一 步 再 加 起 来 还有两边同时汇聚的方法:不过这是先汇聚信息contact起来,然后下一步再加起来 contact
在这里插入图片描述

输出结果

同 样 , 一 个 节 点 如 果 需 要 输 出 , 比 如 2 分 类 , 只 需 要 加 一 个 2 节 点 M L P − > S o f t m a x 就 能 得 到 对 应 的 类 别 ( 和 之 前 一 样 , 不 管 有 多 少 个 顶 点 , 只 有 一 个 全 连 接 层 ) :                                                         同样,一个节点如果需要输出,比如2分类,只需要加一个2节点MLP->Softmax就能得到对应的类别(和之前一样,不管有多少个顶点,只有一个全连接层):\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 22MLP>Softmax                                                       

在这里插入图片描述

最终的结构:

在这里插入图片描述
试一试(作者再网页种用javascript实现了一个模型,可尝试改变数据)
在这里插入图片描述
以上模型超参数分析:

x:参数个数,y:AUC

在这里插入图片描述

看层数的影响:可见层数增加AUC是相应增加的,中值逐渐上升,但是结果的方差还是很大的,需要细调其他参数

在这里插入图片描述

batchsize: 做batch,单个计算量太小,将小样本做成小批量,对一个大tensor做运算。 其他类型的图: 文章的后面讨论了其他类型的图:多重图、超图、超节点、分层图 采样问题: 如果最后一个图一个顶点能看到所有节点的信息,再梯度计算时需要存储所有的节点信息,可以采样减少计算。

感应偏差
在构建模型以解决特定类型数据的问题时,我们希望专门化我们的模型以利用该数据的特征。当这成功完成时,我们通常会看到更好的预测性能、更短的训练时间、更少的参数和更好的泛化能力。
在图像上标记时,我们希望利用狗仍然是狗的事实,无论它位于图像的左上角还是右下角。因此,大多数图像模型使用卷积,它是平移不变的。
对于文本,标记的顺序非常重要,因此循环神经网络按顺序处理数据。此外,一个标记(例如单词“not”)的存在会影响句子其余部分的含义,因此我们需要可以“关注”文本其他部分的组件,例如 BERT 和 GPT 等转换器模型-3 可以。
这些是归纳偏差的一些示例,我们在其中识别数据中的对称性或规律性,并添加利用这些属性的建模组件。

在图的情况下,我们关心每个图组件(边、节点、全局)如何相互关联,因此我们寻找具有关系归纳偏差的模型。 模型应保留实体之间的显式关系(邻接矩阵)并保留图对称性(置换不变性)。我们预计实体之间的交互很重要的问题将受益于图结构。具体来说,这意味着在集合上设计转换:节点或边上的操作顺序应该无关紧要,并且操作应该在可变数量的输入上工作。

不 同 的 采 样 方 法 得 到 一 个 子 图 : 不同的采样方法得到一个子图:
在这里插入图片描述

标注:
1:汇聚方法种使用了加法,可能相加的两个维度不同,默认可以使用投影到相同的维度。
2:除加法外,还可以使用求平均,取最大值方法进行汇聚

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值