ML(11)-图神经网络GNN简史、不动点建模-笔记

2023-12-30 03:08

本文主要是介绍ML(11)-图神经网络GNN简史、不动点建模-笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图神经网络简史、简介

  • 1.图神经网络简史
  • 2.图神经网络--学习过程
  • 3.图神经网络--理论基础
  • 4.图神经网络的局限
  • 5.GNN,RNN,GGNN
  • 6.小结

阅读笔记:从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)(https://www.cnblogs.com/SivilTaram/p/graph_neural_network_1.html)
该文详细写明了设涉及的参考材料,是一个很棒的综述性材料。本文仅作为阅读该系列文章的笔记,详情请参考原文。

GNN侧重于时序展开,GCN是空间序展开

1.图神经网络简史

  1. 2005年–图神经网络的概念被提出,
  2. 2009年–Franco博士在论文[1]《The graph neural network model》阐明了图神经网络的理论基础。早期的GNN用于诸如依据分子结构对物质进行分类等问题。
  3. 2013年–Bruna首次提出基于频域和基于空域的卷积神经网络[2]。
  4. 其后,基于空域卷积的研究偏多,基于频域的工作相对较少。
  5. 2014年–引发了图表示学习的研究热潮(DeepWalk,知识图谱的分布式表示)。

2.图神经网络–学习过程

没有明白如何测试,哪些东西是可学习的?
基本思想就是:建模一张图(最核心的部分,希望可以通过后续的例子来说明如何建模一张图),通过信息的传播使整张图达到收敛,在其基础上再进行预测。

学习目标1–利用状态更新函数f,获取每个结点的图感知的隐藏状态。
学习目标2–利用输出函数g,来适应下游任务,例如分类。

状态更新函数f,用来不断更新结点的隐藏状态。其输入是:该结点的特征、邻居结点的隐藏状态、邻居结点的隐藏状态、边的特征。f使用神经网络建模,用另据结点的额隐藏状态来更新当前结点的状态,直至隐藏状态的变化幅度很小。

输出函数g,其输入是某一个结点的特征和隐藏状态,得到下游任务的输出,例如分类任务。

loss与f,g学习:(以社交网络为例,在整张图中)并不是每个结点都有监督信号。有监督信号的结点参与loss的计算,迭代的依次得loss对关于隐状态的 h v 0 , h v 1 , . . . , h v T h^0_v,h^1_v,...,h^T_v hv0,hv1,...,hvT的梯度,用于更新模型参数(f,g的权重吧)(具体操作还是跑代码能明白的清楚些) AP 算法。

3.图神经网络–理论基础

Franco博士图神经网络的理论基础是不动点理论,专指巴拿赫不动点定理。只要状态更新函数f是一个压缩映射,每个结点的任意初始化的隐状态都能够收敛至一个固定点的,即不动点。(如何保证这个不动点就是我们想要的点呢

压缩映射:对于原空间中的任意两个点 x , y x,y x,y,经过f映射后分别变成 f ( x ) , f ( y ) f(x),f(y) f(x),f(y)。如果满足 d ( f ( x ) , f ( y ) ) ≤ c d ( x , y ) , 0 ≤ c ≤ 1 d(f(x),f(y))\leq cd(x,y),0\leq c\leq 1 d(f(x),f(y))cd(x,y),0c1,那么f即构成一个压缩映射。
即经f变换后的新空间比原空间要小,原空间被压缩了。不断进行压缩操作,最终就会把原空间中的所有点映射到一个点上。(压缩轨迹应该不私想象中那么平滑)

保证神经网络是一个压缩映射:限制f对h偏导数矩阵的大小,采用雅可比矩阵惩罚项的实现。

4.图神经网络的局限

(本阶段图神经网络的局限性)

  1. 边的特性无法学习
  2. 基于不动点的收敛会导致结点之间的隐藏状态存在较多的信息共享,从而导致状态太过于光滑,并且属于结点自身的信息匮乏。

5.GNN,RNN,GGNN

GNN隐状态的时序迭代更新方式与RNN非常类似,两者的区别:

  1. GNN依据不动点理论,沿时间展开长度是动态的,RNN沿时间展开的长度就是序列本身的长度。
  2. GNN用AP算法反向传播,RNN用BPTT优化

GGNN:可学习的边权,不依赖于不动点定理,使用GRU更新法则,状态更新若干步,利用BPTT算法反向传播得到边权和GRU的参数。

6.小结

之后会介绍图卷积神经网络,拜托了基于循环的方法,开始走向多层神经网络。

[1]. The graph neural network model, https://persagen.com/files/misc/scarselli2009graph.pdf
[2]. Spectral networks and locally connected networks on graphs, https://arxiv.org/abs/1312.6203

这篇关于ML(11)-图神经网络GNN简史、不动点建模-笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/551517

相关文章

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi