图神经网络学习过程心得总结
图的概述
图(Graph)就是节点(Vertices/Nodes)以及边(Edge)
图的举例
社交网络
节点:人
边:人与人之间的各种联系,如父母关系、朋友关系、同事关系等等。
化学分子
节点:原子
边: 原子之间的相互作用力,也称为化学键
知识图谱
节点:各种实体
边:实体之间所具有的各种关系(实体的属性特征)
推荐系统
节点:用户和商品
边: 用户、商品之间的购买、点击等关系
图学习
由于图数据本身结构的复杂性,直接定义出一套支持可导的计算框架并不直观。与图数据相对应的有图像、语音与文本,这些数据是定义在欧氏空间的规则化结构数据,基于这些数据的张量计算体系是比较自然且高效的。
图像数据是2D结构,与卷积神经网络(CNN)的作用机制具有良好的对应。
文本数据是一种规则的序列数据,这种序列结构与循环神经网络(RNN)的作用机制相对应。
针对图这种不规则的结构,引入了图学习这一概念。
图学习:可以方便地处理不规则数据(图),充分利用图结构信息。
图数据相关任务分类
节点层面(Node Level)的任务
节点层面的任务主要包括分类任务和回归任务。这类人物虽然是对节点层面的性质进行预测,但是节点的关系也许需要考虑。节点层面的任务有很多,包括学术上使用较多的对论文引用网络中的论文节点进行分类,工业界中的恶意账户检测等。
边层面(Link Level)的任务
边层面的任务主要包括边的分类和预测任务。边的分类是指对边的某种性质进行预测;边预测是指给定的两个节点之间是否会构成边。常见的应用场景比如在社交网络中,将用户作为节点,用户之间的关注关系建模为边,通过边预测实现社交用户的推荐。边层面的任务主要集中在推荐系统中,例如在点击率预测中,预测一个用户是否会点击某一物品。
图层面(Graph Level)的任务
图层面的任务不依赖于某个节点或者某条边的属性,而是从图的整体结构出发,实现分类、表示和生成等任务。例如对药物分子的分类,酶的分类等。
图卷积神经网络(GCN)
图结构卷积:将一个节点周围的邻居按照不同的权重叠加起来。
举个例子:
上图的邻接矩阵A为:
A | v1 | v2 | v3 | v4 |
---|---|---|---|---|
v1 | 0 | 1 | 1 | 0 |
v2 | 1 | 0 | 1 | 1 |
v3 | 1 | 1 | 0 | 0 |
v4 | 0 | 1 | 0 | 0 |
度矩阵D:
deg(vi) = |N(vi)|
D | v1 | v2 | v3 | v4 |
---|---|---|---|---|
v1 | 2 | 0 | 0 | 0 |
v2 | 0 | 3 | 0 | 0 |
v3 | 0 | 0 | 2 | 0 |
v4 | 0 | 0 | 0 | 1 |
一般图卷积会在给邻接矩阵加上自环边,也就是把节点本身也当作自己的邻居,即A+I=A(hat)。
A + I | v1 | v2 | v3 | v4 |
---|---|---|---|---|
v1 | 1 | 1 | 1 | 0 |
v2 | 1 | 1 | 1 | 1 |
v3 | 1 | 1 | 1 | 0 |
v4 | 0 | 1 | 0 | 1 |
相应的度矩阵也变为:
D(hat) | v1 | v2 | v3 | v4 |
---|---|---|---|---|
v1 | 3 | 0 | 0 | 0 |
v2 | 0 | 4 | 0 | 0 |
v3 | 0 | 0 | 3 | 0 |
v4 | 0 | 0 | 0 | 2 |
由此引入图卷积公式:
这里HlH^lHl是所有节点在l次迭代时的特征。
例如图中四个节点的初始特征为
[[1,2,3],[2,3,4],[3,4,5],[4,5,6]] 每个节点是一个三维的向量,构成一个4*3的矩阵。此时H0就是这个矩阵。H1就是这个矩阵经过一次图卷积操作之后得到的新矩阵(特征)。
W为映射矩阵,是神经网络需要学习的参数之一。W0是可以通过神经网络进行随机初始化得到。
这里我们先简化上式:
那么H1就是A(hat)*H0*W0再经过非线性转换得到的节点特征表示。
我们不考虑映射矩阵W和最后的非线性变换:
上面就是简单的矩阵乘法。最后可以发现节点v1在经过一次卷积操作之后其实就是将他的邻居特征进行加和操作(这里的邻居包括他本身),其他节点也同理。
用一个类似的图进行解释:
那么为什么要考虑度矩阵呢?
例如,我们要考虑当某个人的邻居特别多时,而你只是他的一个邻居,那么他对你本身特征的贡献可能就微乎其微。举个更生动的例子,一个明星可能有上万个粉丝,他不可能知道大部分粉丝的名字或者样貌,而你跟你父母朋友之间的邻居数相较之下就小很多,自然而然他们对你的特征贡献也会相应的变大。这就是我们为什么要加入度矩阵来衡量一个节点的邻居对节点的贡献。
其中d是节点的邻居数(度),d越大,说明他所含的信息量越小,对他的邻居节点的贡献也就越小。
GCN中边的权重:
• 与节点的度相关
• 不可学习
图注意力网络(GAT)
GAT中的边权重
• 权重变成节点间的函数
• 权重与两个节点相关性有关
• 可学习
图采样(GraphSAGE)
当图数据非常巨大且节点的邻居非常多时,上述的GCN,GAT的计算力会非常巨大,为了节省计算资源,我们用图采样技术采样节点固定数量的邻居,不计算节点全部邻居,这样既能节省计算资源还能增强模型泛化能力。
邻居聚合
我们采样得到节点的邻居特征之后,需要进行聚合操作得到新的节点表示。
聚合的方式有很多种,例如mean max sum LSTM等。
下图黄点和蓝点是具有不同特征的节点表示。
由上可以看出sum聚合函数聚合效果会更好,因为它具备单射能力,可以区分不同的子图。
总结
图神经网络现在应用于各个方面,研究非常火热,作为一名小白,对这方面的研究只是刚刚开始,还有很多知识需要学习,上述如果有说错的地方还请各位大佬批评指正。
图神经网络学习过程心得总结相关推荐
- PaperNotes(16)-图神经网络GNN简史、不动点建模-笔记
图神经网络简史.简介 1.图神经网络简史 2.图神经网络--学习过程 3.图神经网络--理论基础 4.图神经网络的局限 5.GNN,RNN,GGNN 6.小结 阅读笔记:从图(Graph)到图卷积(G ...
- 最新综述!基于图神经网络的关系抽取技术进展
关系抽取任务是为了预测文本中两个实体中的语义关系,是 NLP 中的重要任务.基于图的模型由于其在关系推理中的有效性和强度而被广泛采用,许多研究依赖于外部解析器将文本序列转换为依赖树来初始化图,但是,解 ...
- Learning to Learn:图神经网络上的元学习
© 作者|田长鑫 机构|中国人民大学信息学院 研究方向 | 图表示学习和推荐系统 来源 | RUC AI Box 图神经网络(GNN)在实际应用中往往会受到可用样本数量太少的限制,而元学习(meta- ...
- 为什么说Transformer就是图神经网络?
作者 | Chaitanya Joshi 译者 | Kolen 出品 | AI科技大本营(ID:rgznai100) 前言 有些工程师朋友经常问我这样一个问题:"图深度学习听起来很棒,但是现 ...
- 情感识别难?图神经网络创新方法大幅提高性能
作者 | Kevin Shen 译者 | Monanfei 出品 | AI科技大本营(ID: rgznai100) [导读]最近,深度学习在自然语言处理领域(NLP)取得了很大的进步.随着诸如 Att ...
- 图神经网络的解释性综述!
↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 来源:纪厚业,北京邮电大学,图与推荐 编辑:数据派THU本文约1.5w字,干 ...
- 腾讯林衍凯:图神经网络,考虑「拓扑信息」会怎样?
本文整理自林衍凯在「2021北京智源大会 · 青源学术年会」上的报告<考虑拓扑信息的图神经网络学习>. 关注[智源社区]公众号 后台回复[2021智源大会报告]获取<2021北 ...
- 北邮王啸:图神经网络的两面性
报告:王 啸 撰文:熊宇轩 作者简介 王啸,北京邮电大学,助理教授.研究方向为图神经网络.数据挖掘与机器学习.曾任清华大学计算机系博士后,天津大学博士,美国圣路易斯华盛顿大学联合培养博士,入选20 ...
- 人大赵鑫:基于图神经网络,建模知识图谱
报告 | 赵 鑫 撰文 | 熊宇轩 我这里主要给大家介绍一下利用图神经网络能做一些什么事情,这里面主要关注知识图谱的建模与应用. 在本次报告中,我们将从三个方面介绍基于图神经网络的知识建模与应用: ...
最新文章
- 资讯|WebRTC M89 更新
- 网络安全隐性杀手:三类危险的TXT文件
- unoconv 在线预览 doc,doxc,xls,xlsx,ppt,pptx 文件功能环境搭建
- 检索COM类工厂组件的CLSID 80040154(不容易啊!!) 80040154.
- linux系统计算从1加到100之和思路风暴
- 化工计算机软件基础考试题,2013年化工工程师基础知识网友版真题(下午卷)...
- 使用ISA Server 2006发布Exchange Server 2007安全的Web、安全的OWA和Outlook Anyw
- 20165204 20165216 20165220 实验四 外设驱动程序设计
- Effective Java 思维导图
- php 批量采集 邮箱,万能全网邮箱批量采集工具按照关键字搜索邮箱教程
- 【有利可图网】PS教程:制作水彩头像画
- 小米手机ROOT操作
- 简单易懂Kafka搭建
- DNS劫持、流量劫持,HTTP/HTTPS劫持
- 大前端 (六) -- HTML5 标签 5
- Cocos Creator 下载图片动态替换纹理
- 关于开发微信公众号获取手机用户运动数据的功能实现思路
- #机器学习 Micro-F1和Macro-F1详解
- JVM之(Shenandoah、ZGC收集器)(基于《深入理解Java虚拟机》之第三章垃圾收集器与内存分配策略)(下)
- 服务器除了一个灯亮其余的都不亮,鼠标键盘没反应
热门文章
- 中学生学习心理:学习心理
- mt9638和t972哪个好
- 中科院半导体所裴为华研究团队及其合作者在脑电电极领域取得重要研究进展...
- python刷快手极速版_自动刷快手极速版脚本当前页面出现
- Occlusion Culling(遮挡剔除)
- 有什么可以赚钱的副业?日入300元就靠这几个副业!
- Vue3+Vite+TS后台项目 ~ 10.商品管理
- 简易的监控mysql_使用开源工具mysqlreport监控Mysql数据库-简易使用方法
- python一种基于电脑mac地址的加密算法
- 操作系统之流?I/O操作?阻塞?epoll?