图网络打卡7日_图学习主要涉及三个级别的任务-程序员宅基地

技术标签: 深度学习  计算机科学  

1、学习内容总结
Day1:图学习出印象
1.1、图学习背景介绍
随着AI的推广,深度学习已经成为了当下最热的一个研究领域,推出了许多神经网络模型比如CNN(卷积神经网络),RNN(递归神经网络等),但是这些网络处理的数据都是规则的欧氏空间的数据,而且默认数据之间互相独立。但是现实生活中的应用场景有许多数据都是不规则的,并且数据与数据之间有很多的联系,这样就给传统的神经网络模型引入了很大的挑战,因为这对于它们来说数据过于复杂,并且无法利用数据之间的关系。因此图神经网络的提出就很好的解决了这一问题,它可以很方便的处理不规则数据,并且能够很充分利用图结构。

1.2、 图学习任务分类
图学习的任务呢可以主要分为三类:
1、节点级别任务:例:金融诈骗检测(节点分类)
2、边级别任务:例:推荐系统(边预测任务)
3、图级别任务:例:气味识别

1.3、图学习算法分类

此图片来源于:https://baidu-pgl.gz.bcebos.com/pgl-course/lesson_1.pdf

1.4、配置环境实例
因为本身自己不是计算机专业的人,所以在进行本地的paddlepaddle框架配置时,着实费了很大的功夫,多亏了学习群中答疑老师以及同学的帮忙才配置成功,这里贴一个paddle框架的配置网址,以及常见问题及解决方法的文档:

paddle框架安装及教程
配置环境常见问题整理
Day2:图游走类算法
2.1目标
通过图游走类算法主要的目标就是:Node embeddings(得出每个节点的向量表示),得出向量表示后,便可以将其作为输入,用于进行下游任务(如:节点分类)

2.2引入——Word2vec介绍
NLP领域—Word2vec:使用一层神经网络将one-hot(独热编码)形式的词向量映射成为分布形式的词向量。最后使用Hierarchical softmax,negative sampling等技巧进行训练速度上的优化

图游走模型最开始参考的就是NLP领域的Word2vec算法

Skip—Gram
word2vec主要分为CBOW(Continuous Bag of Words)和Skip-Gram两种模式,这里我们主要用的是第二种,Skip-Gram—根据中心词来预测上下文。

Negative sampling
因为word2vec模型运用时,数据很庞大,为了加速模型,可以通过**Negative sampling(负采样)**算法来加速。

Word2ve:整体框架
sentences——> Skip-Gram +Negative sampling

注意:我们最重要的其实是这个模型运算的副产物—词的向量表示

这部分当时看的时候较为粗略,大家可以认真看一下这部分,它是图随机游走模型的基础,这里有个Word2vec介绍:word2vec的通俗理解

2.3图游走模型
2.3.1 DeepWalk
选择下一个节点的方法——均匀随机采样

用公式表示:
在这里插入图片描述
相比较于Word2vec ,此模型多加了一个步骤,即句子本身就是一个序列,而DeepWalk要通过随机游走来形成一个个序列用于输入

整体框架
Graph——> Random Walk+Skip-Gram +Negative sampling

2.3.2、node2vec
bias random walk:在考虑游走时,加入了两个超参数p,q来使得可以对较为复杂的图有个较好的节点表示

公式表示
在这里插入图片描述
整体框架

Graph——> BIas Random Walk+Skip-Gram +Negative sampling

2.3.4 meatpath2vec
对异构图的一个随机游走模型,随机游走时,以meta path(元路径)为输入序列

整体框架
Graph——>Meta path based Random Walk+Skip-Gram +Negative sampling

Day3:图神经网络算法(一)
3.1图卷积神经网络(GCN)
3.1.1图结构卷积
将一个节点周围的邻居按照不同的权重叠加起来。

3.1.2图卷积神经网络总结
图卷积神经网络其实就是,通过消息传递的机制,对邻居节点的信息的接受和加权聚合来更新当前节点的表示,而这个权重取决于邻居节点的度,其值越大,权重越小,即对当前节点的影响越小。

3.1.3计算公式

A-邻接矩阵(带自环边)
D-度矩阵
H^l-每一层的节点表示

3.2图注意力网络(GCN)
与GCN不同的点在于:1、进行消息传递时,节点的权重变成了节点之间的函数;2、权重与两个节点的相关性有关;3、权重可学习

公式表示:
在这里插入图片描述

3.3消息传递(Message Passing)
消息传递是图神经网络的一个很重要的机制,它包括了邻居节点对当前节点的消息的发送(Send),以及当前节点对邻居节点所发送消息的接受(Recv),并且对其聚合

当前主流的图神经网络模型都是基于消息传递机制的,因此得对这部分了解透彻。

公式表示
在这里插入图片描述

Day4:图神经网络算法(二)
4.1图采样(邻居采样)
定义:在一张复杂的图中进行采样,得到一张子图。(子图采样,不是随机采样)

4.1.1进行图采样的原因
当前图数据量级太大,而我们的计算资源有限。无法一次性全图送入计算资源,而且图结构数据的节点表示的更新都要通过其邻居节点的信息,随着神经网络的加深,迭代次数增多,每次处理的数据的batch size会指数性增长,因此需要通过图采样,来对数据进行Mini-Batch的处理。

4.1.2图采样算法
4.1.2.1GraphSage
从中心节点开始,先对一阶邻居节点进行随机采样。然后以被采样的一阶邻居节点为新的中心节点,对二阶邻居节点进行采样,以此类推,因此邻居采样是由中心节点出发逐渐向外层邻居节点采样的。

4.1.2.2PinSage
与GraphSage的区别是:它是通过随机游走,按游走经过的频率来选择邻居节点。(采样得到的邻居节点可以是虚拟邻居)

4.1.3图采样的优点
极大地减少了训练计算量
允许泛化到新的连接关系(泛化能力加强)
4.2图采样之后-邻居聚合
4.2.1常用聚合函数
Mean-倾向学分布-非单射
Max-倾向于忽略重复值-非单射
Sum-可以保留完整信息-单射
评估聚合表达能力的指标-单射(一对一映射)
单射可以保证聚合后的记过可以区分

4.2.2基于单射的GIN模型
在这里插入图片描述
GIN模型的优点:当中心节点与邻居节点互换时聚合结果仍然可以区分:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2X9129XN-1606555218262)(https://img-blog.csdnim文本图g.cn/20201128171839781.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDc5Njk0NQ==,size_16,color_FFFFFF,t_70#pic_center)]

Day5:GNN进阶模型
5.1ERNIESage模型
5.1.1模型提出背景
背景介绍:当前很多的实际应用场景的图结构都是Text Graph(文本图),即节点和边都带有文本的特殊图。
对这种图进行建模时,用GraphSage只能对其结构进行建模,却忽略了节点和边所带的文本信息,而如果通过ERNIE模型(百度提出的语义理解模型)只能对其文本信息进行理解,运用任何一种模型建模都是不完善的,因此提出了一种新的模型ERNIR Sage模型(图语义理解模型)

5.1.2ERNIESage Node
定义:将ERNIE 作用于Text Graph的Node上

过程以及表示
在这里插入图片描述

5.1.3ERNIESage Edge
定义:将ERNIE 作用于Text Graph的Edge上。

过程以及表示
在这里插入图片描述

5.1.4ERNIESage 1-Neighbor
定义:将ERNIE 聚合节点的 **1-Neighbor(一阶邻居)**信息

过程:将中心节点的文本于所有一阶邻居节点的文本进行单塔拼接,再利用ERNIE做消息聚合

5.2UniMp
具体介绍可以看PGL团队的GitHub中的介绍,后边放上链接。

2、总结
作为硬件专业的学生,由于课题原因第一次接触图神经网络,在进行打卡学习之前加班学习了两天Python,因此整个学习过程对我来说还是颇为困难的。但是经过这几天的打卡学习呢,确实对图神经网络有了一些初步的认识,因为不仅有理论上的介绍,还可以在AI stdio中进行实战演练,对图神经网络的认识就会更加深刻一些。虽然课程完结了,但是对于我自己来说仅仅是有了一个入门了解,通过这次学习我也发现了自己在有些方面的知识的缺失,后续会慢慢补过来。
这次是我第一次写一个博客,写得十分粗糙,本来只是想对七日打卡的学习进行一个总结,结果繁琐却又粗略的介绍了一下自己这几天的所学内容,后边我会继续深入学习图神经网络的相关知识,等到有一定的知识储备之后,希望能基于此次学习的基础上,可以以自己一个完全小白的视角写一篇入门图神经网络的学习经验贴,以及自己的一些感悟,希望可以帮助到其他像我一样的人。

3、附录
所有的图片都来自于七日打卡营的课程的ppt:
https://github.com/PaddlePaddle/PGL/tree/main/course

课程相关的实战学习,以及一些模型的代码(基于paddlepaddle框架,具体下载以及环境配置可看上文):https://github.com/PaddlePaddle/PGL

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43165081/article/details/110334445

智能推荐

稀疏编码的数学基础与理论分析-程序员宅基地

文章浏览阅读290次,点赞8次,收藏10次。1.背景介绍稀疏编码是一种用于处理稀疏数据的编码技术,其主要应用于信息传输、存储和处理等领域。稀疏数据是指数据中大部分元素为零或近似于零的数据,例如文本、图像、音频、视频等。稀疏编码的核心思想是将稀疏数据表示为非零元素和它们对应的位置信息,从而减少存储空间和计算复杂度。稀疏编码的研究起源于1990年代,随着大数据时代的到来,稀疏编码技术的应用范围和影响力不断扩大。目前,稀疏编码已经成为计算...

EasyGBS国标流媒体服务器GB28181国标方案安装使用文档-程序员宅基地

文章浏览阅读217次。EasyGBS - GB28181 国标方案安装使用文档下载安装包下载,正式使用需商业授权, 功能一致在线演示在线API架构图EasySIPCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 EasySIPCMS 自启动, 不需要手动运行EasySIPSMSSIP 流媒体服务, 根..._easygbs-windows-2.6.0-23042316使用文档

【Web】记录巅峰极客2023 BabyURL题目复现——Jackson原生链_原生jackson 反序列化链子-程序员宅基地

文章浏览阅读1.2k次,点赞27次,收藏7次。2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下。_原生jackson 反序列化链子

一文搞懂SpringCloud,详解干货,做好笔记_spring cloud-程序员宅基地

文章浏览阅读734次,点赞9次,收藏7次。微服务架构简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?(网关)这么多小服务,一旦出现问题了,应该如何自处理?(容错)这么多小服务,一旦出现问题了,应该如何排错?(链路追踪)对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。_spring cloud

Js实现图片点击切换与轮播-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏20次。Js实现图片点击切换与轮播图片点击切换<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/ja..._点击图片进行轮播图切换

tensorflow-gpu版本安装教程(过程详细)_tensorflow gpu版本安装-程序员宅基地

文章浏览阅读10w+次,点赞245次,收藏1.5k次。在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。cuda、cudnn。..._tensorflow gpu版本安装

随便推点

物联网时代 权限滥用漏洞的攻击及防御-程序员宅基地

文章浏览阅读243次。0x00 简介权限滥用漏洞一般归类于逻辑问题,是指服务端功能开放过多或权限限制不严格,导致攻击者可以通过直接或间接调用的方式达到攻击效果。随着物联网时代的到来,这种漏洞已经屡见不鲜,各种漏洞组合利用也是千奇百怪、五花八门,这里总结漏洞是为了更好地应对和预防,如有不妥之处还请业内人士多多指教。0x01 背景2014年4月,在比特币飞涨的时代某网站曾经..._使用物联网漏洞的使用者

Visual Odometry and Depth Calculation--Epipolar Geometry--Direct Method--PnP_normalized plane coordinates-程序员宅基地

文章浏览阅读786次。A. Epipolar geometry and triangulationThe epipolar geometry mainly adopts the feature point method, such as SIFT, SURF and ORB, etc. to obtain the feature points corresponding to two frames of images. As shown in Figure 1, let the first image be ​ and th_normalized plane coordinates

开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先抽取关系)_语义角色增强的关系抽取-程序员宅基地

文章浏览阅读708次,点赞2次,收藏3次。开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先关系再实体)一.第二代开放信息抽取系统背景​ 第一代开放信息抽取系统(Open Information Extraction, OIE, learning-based, 自学习, 先抽取实体)通常抽取大量冗余信息,为了消除这些冗余信息,诞生了第二代开放信息抽取系统。二.第二代开放信息抽取系统历史第二代开放信息抽取系统着眼于解决第一代系统的三大问题: 大量非信息性提取(即省略关键信息的提取)、_语义角色增强的关系抽取

10个顶尖响应式HTML5网页_html欢迎页面-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏51次。快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力为了寻找一个优质的网页模板,网页设计师和开发者往往可能会花上大半天的时间。不过幸运的是,现在的网页设计师和开发人员已经开始共享HTML5,Bootstrap和CSS3中的免费网页模板资源。鉴于网站模板的灵活性和强大的功能,现在广大设计师和开发者对html5网站的实际需求日益增长。为了造福大众,Mockplus的小伙伴整理了2018年最..._html欢迎页面

计算机二级 考试科目,2018全国计算机等级考试调整,一、二级都增加了考试科目...-程序员宅基地

文章浏览阅读282次。原标题:2018全国计算机等级考试调整,一、二级都增加了考试科目全国计算机等级考试将于9月15-17日举行。在备考的最后冲刺阶段,小编为大家整理了今年新公布的全国计算机等级考试调整方案,希望对备考的小伙伴有所帮助,快随小编往下看吧!从2018年3月开始,全国计算机等级考试实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代..._计算机二级增报科目什么意思

conan简单使用_apt install conan-程序员宅基地

文章浏览阅读240次。conan简单使用。_apt install conan