IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> cs224w-图机器学习-2021冬季课程学习笔记-07 Graph Neural Networks 2: Design Space -> 正文阅读

[人工智能]cs224w-图机器学习-2021冬季课程学习笔记-07 Graph Neural Networks 2: Design Space

一、本章内容总述

讲了如何设计不同的GNN,以及这些GNN背后有什么区别。本章提供了一个统一现有的GNN模型的框架。
框架中,一共有五个部分可以供我们修改,得到不同的GNN模型:

  1. 是信息聚合和传递的方式(函数)
    在这里插入图片描述
  2. 不同层之间如何连接(全连接还是skip?)
    在这里插入图片描述
  3. 对原图修改与否
    在这里插入图片描述
  4. 损失函数
    在这里插入图片描述

总结就是这五部分:
在这里插入图片描述

二、单层的设计

单层的网络有两点可修改:
在这里插入图片描述
过程是先收到信息,然后聚合:(注意这里收到的信息是Set,信息的顺序对结果不产生影响)。聚合操作类似压缩,信息压缩。
在这里插入图片描述

1.Message computation

对本层的表示进行一些转换,就形成了消息。
形式化表示是:
在这里插入图片描述
例子是(简单的线性投影):
在这里插入图片描述

2.Aggregation

聚合是对传来的消息的转换。用这些消息形成自己的本层表示。
形式化表示:
在这里插入图片描述
简单的求和聚合函数:
在这里插入图片描述
注意到上面所示的聚合函数顺序无关的。
但是上面的聚合函数有个问题,就是丢失了h本身的表示信息。只聚合了邻居的消息。解决方案是将邻居聚合结果和自己的本层表示拼接起来(或者求和):
在这里插入图片描述

3.小节总结

讲了单层的GNN如何设计。
在这里插入图片描述

4.GCN的layers设计

原本是这样的:
在这里插入图片描述
但是我们可以将W放进去,变成这样:
在这里插入图片描述
于是就得到了上述的单层模型。
展开说,Message是经过度归一化的线性投影:
在这里插入图片描述
Aggregation是求和:
Aggregation

5.GraphSAGE的layers设计

这个基于GCN
公式为:
在这里插入图片描述
但是如何将这个转化成刚才的套路呢?
方法是将AGG里面的内容,看成消息(消息就是原封不动地将邻居的表示传过来)
然后把聚合操作看成分两步:
在这里插入图片描述
AGG函数有多种选择:
在这里插入图片描述
本方法还有个创新点是L2归一化(作者说这也很有用)
在这里插入图片描述

6.GAT

收集消息时,给每个节点的消息赋予不同的权重。这种直觉来自人们的认知科学:通常我们只关注身边一个很重要的东西。(但是机器并不是人啊,人是受限于人的认知局限,才只能注意一个部分的)。
在这里插入图片描述
可以发现,在GCN和GraphSAGE中,注意力系数是固定的,每个节点的重要程度相同:
在这里插入图片描述
那么如何获得这些系数呢?
首先使用注意力机制a,获得一个重要程度的量:这个重要程度的量就是每个节点之间的重要程度度量
在这里插入图片描述
然后将这些重要程度归一化,就得到了注意力系数:
在这里插入图片描述
那么,注意力机制a又是什么呢?下面这句话没看懂。是我们不知道如何选取注意力机制的意思吗?通常可以使用单层神经网络作为注意力机制a:
在这里插入图片描述
但是这个很难训练:这些参数是同时训练的。
在这里插入图片描述
解决方案是多重注意力:
在每个节点对之间,创建多个注意力系数,最后把他们求和。这种方法能避免优化过程中卡在某个局部最小点上。这方法增加了稳定性和健壮性。
在这里插入图片描述
注意力机制的好:(最主要的好处就是第一条,即允许为不同节点分配不同的权重)
在这里插入图片描述
注意力的应用例子(一个引文图)。这性能的提升真的肉眼可见。
在这里插入图片描述

7.深度学习中可用于GNN单层设计的技术

线代深度学习中的理论,如BatchNorm,dropout等,都可以用在GNN设计中。通常我们从上述的已有的单层模块开始,加上现代化的DL技术,创建新模型。
在这里插入图片描述

(1)BatchNorm

目标是稳定训练过程。是将同一个批次数据的同一个channel的数据归一化,使得其中的数据满足标准正态分布:下图中蓝色表示不同样本的第一个channel。
在这里插入图片描述
对应到GNN中,如果输入是这样的:即N个D维的嵌入
在这里插入图片描述
应用batchnorm结果是:
在这里插入图片描述
即,对每一列的数据求均值和方差。

(2)dropout

在训练期间,使得某一部分神经元以一定概率为0:这是为了防止过拟合
在这里插入图片描述
在GNN中,dropout应用于消息传递层:
在这里插入图片描述
消息传递方程是一个线性投影:
在这里插入图片描述
变成神经网络并dropout后就是这样:
在这里插入图片描述

(3)非线性激活函数

本节小结

讲述了一些可用于GNN设计的DL方法。然后提供了一个设计GNN的库:
GraphGym

三、Stacking Layers of a GNN

这里讲怎么将这些单层连接起来。最简单的方式就是简单的堆叠:

在这里插入图片描述
但是这有个过平滑的问题:所有节点嵌入都收敛到同一个点。
原因是感受野太大,即每个节点收到的信息太多,导致每个节点都知道同样的信息,因此他们也输出同样的信息。

1.Receptive field

即,决定了某个节点嵌入的那些节点集合。也即能接收到的信息的节点的集合。
ppt中给出的定义是:the set of nodes that determine the embedding of a node of interest。这个 a node of interest原来就是我们想关注的那个点的意思,就是上面说的“某个点”。在下图中, 是黄色点。
在k层GNN中,每个节点的感受野就是K跳邻居:(这么说,k层就代表在每个节点上进行了k次单层的信息传递和聚合)
在这里插入图片描述
当观察两个节点的感受野的重合节点时,发现重合会随着层数增加而迅速增加:如一跳邻居没有重合,而3跳邻居重合几乎是全部节点:

在这里插入图片描述
这就导致了过平滑的问题:每个节点收到了同样的信息。
因此要避免层数过多。

2.如何选择GNN的层数

一直增加层数并不会有好的效果。因此增加层数时要慎重。
增加层数时,遵循下面两个步骤:(分析感受野;让L只比感受野多一点)
在这里插入图片描述
但是如果层数被限制,如何让模型更有表现力呢?
这里有两种方案:

  1. 让每一层的信息处理函数和聚合函数变复杂(如使用深度神经网络)
    在这里插入图片描述

  2. 在每一层layer之间,添加不传送信息的layer(也即预处理和后处理layer,相当于投影头?)
    在这里插入图片描述

如果网络的层数必须足够多怎么办?这里提供了“ skip connections ”的方法:(有点像残差网络)。这背后的想法是,更早的层的表示,可能更有区分度。
在这里插入图片描述
为什么这种跳过的连接有用?可能是因为这增加了模型的数量,产生了“混合模型”:
在这里插入图片描述
用在GCN中,是这样的:
在这里插入图片描述
其他的连接方式:(直接将所有层都连接到输出层)
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 11:51:08  更:2021-08-27 11:52:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 3:48:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码