深度学习-图神经网络总结
深度学习图神经网络总结
- GNN在推荐系统中有哪些用法
- 介绍下Graph Embedding(图嵌入)
- 介绍下GCN
- 训练图模型的loss有哪些
- GCN、GraphSAGE、GAT的区别与联系
GNN在推荐系统中有哪些用法
推荐系统中使用GNN的动机
有两点:
1)RS中大多数据具有图结构;
2)GNN擅长捕捉节点间的连接和图数据的表示学习。
下图分别表示二部图、序列图、社交关系图和知识图。
最近,GNN相比于随机游走等传统的图学习方法取得了更好的表现。对于二部图,GNN能够迭代地从交互的items中传播信息,并更新用户向量(对item同理),可以增强user/item表示。GNN还可以学习边信息的压缩表示,学习到的向量可以整合到交互数据的表示中以提升性能,另外的策略是结合多个图到一个异质图,然后在全图上传播信息。
解释下二部图
推荐系统会存储大量的用户与items交互数据,这些数据可以用二部图呈现。二部图对消除推荐系统中数据稀疏性和冷启动有着巨大的帮助。
我们可以通过每个用户交互过的item列表,构建一个巨大的二部图,如下图所示:
传统的神经网络方法(如协同过滤,双塔),是无法处理上述二部图的,图神经网络就是要充分挖掘节点信息和节点与节点的交互信息,从而带来巨大的商业价值。
在推荐领域,图神经网络主要解决了以下几个问题:
- 节点的敏感度,节点顺序很小的改变极大的影响模型的输出。
- 节点间闭塞的信息交互,传统的深度学习模型不能够充分挖掘高阶节点之间的交互信息。
- 解释能力弱,传统的深度模型面向直观的交互式图结构,不能用于基于图形的解释和推理。
当使用GNN处理二部图,输入节点的顺序并不会影响输出。另外,GNN使用边的去辅助传播、集成节点和邻居的状态,更新当前节点的状态,结构化的信息会被模型捕捉,并表达在每个节点上,从而解决推荐系统稀疏性的问题。
以上参考知乎~
参考文章
- 图神经网络在推荐系统的应用研究综述
- 综述|GNN在推荐系统中的挑战、方法和方向
- 推荐系统与GNN的火花
- 怎么看待最近比较火的 GNN?
介绍下Graph Embedding(图嵌入)
1. 什么是图嵌入
图嵌入是一种将图数据(通常为高维稠密的矩阵)映射为低微稠密向量的过程,如图。图嵌入需要捕捉到图的拓扑结构,顶点与顶点的关系,以及其他的信息 (如子图,连边等)。如果有更多的信息被表示出来,那么下游的任务将会获得更好的表现。在嵌入的过程中存在着一种共识:向量空间中保持连接的节点彼此靠近。
总的来说图嵌入技术大致可以分为两种:节点嵌入和图嵌入。当需要对节点进行分类,节点相似度预测,节点分布可视化时一般采用节点的嵌入;当需要在图级别(graph-level)上进行预测或者整个图结构预测,需要将整个图表示为一个向量进行嵌入表示。
常用的图嵌入方法有DeepWalk, node2vec, SDNE和graph2vec等。
2. 为什么要做图嵌入(或者说图嵌入的作用)
图是一种易于理解的表示形式,除此之外出于下面的原因需要对图进行嵌入表示:
- 在graph上直接进行机器学习具有一定的局限性,我们都知道图是由节点和边构成,这些向量关系一般只能使用数学,统计或者特定的子集进行表示,但是嵌入之后的向量空间具有更加灵活和丰富的计算方式。
- 图嵌入能够压缩数据, 我们一般用邻接矩阵描述图中节点之间的连接。 连接矩阵的维度是|V| x |V|,其中|V| 是图中节点的个数。矩阵中的每一列和每一行都代表一个节点。矩阵中的非零值表示两个节点已连接。将邻接矩阵用用大型图的特征空间几乎是不可能的。一个具有1M节点和1Mx1M的邻接矩阵的图该怎么表示和计算呢?但是嵌入可以看做是一种压缩技术,能够起到降维的作用。
- 向量计算比直接在图上操作更加的简单、快捷。
更多内容参考知乎解答。
参考文章
- 深度学习中不得不学的Graph Embedding方法
- 图嵌入(Graph embedding)- 简介
- 图嵌入(Graph embedding)综述
- 为什么要进行图嵌入(Graph embedding)?
- Graph Embedding 及其在知乎的实践
介绍下GCN
Graph Convolutional Network可以从两个角度来理解。
1)第一个角度,也称空域GCN,是Graph + Convolutional Network,在graph上运用CNN的思想。
2)第二个角度,是Graph Convolution + Network,在Graph Convolution上加了一系列非线性函数。
关于GCN的更多解释参见知乎~ 门槛有点高~
参考文章
- 何时能懂你的心——图卷积神经网络(GCN)
- 图卷积网络(GCN)入门详解
- 图卷积网络(GCN)新手村完全指南
- 2020年,我终于决定入门GCN
- 图卷积网络 Graph Convolutional Network(GCN)的理解和详细推导
- 如何理解 Graph Convolutional Network(GCN)?
- 哪位高手能解释一下卷积神经网络的卷积核?
- 【Graph Neural Network】GCN: 算法原理,实现和应用
- 请问全连接的图卷积网络(GCN)和self-attention这些机制有什么区别联系吗?
训练图模型的loss有哪些
交叉熵损失:GCN可以用于分类任务
参考文章
- 2020年,我终于决定入门GCN
- 【Graph Neural Network】GCN: 算法原理,实现和应用
GCN、GraphSAGE、GAT的区别与联系
GCN:训练是full-batch的,难以扩展到大规模网络,并且收敛较慢;
GAT:参数量比GCN多,也是full-batch训练;只用到1-hop的邻居,没有利用高阶邻居,当利用2阶以上邻居,容易发生过度平滑(over-smoothing);
GraphSAGE:虽然支持mini-batch方式训练,但是训练较慢,固定邻居数目的node-wise采样,精度和效率较低。
以上来自知乎~
参考文章
- GCN、GAT、GraphSAGE的优势很明显,想问一下它们分别有什么缺点?
- GraphSAGE:我寻思GCN也没我牛逼
- GraphSAGE: GCN落地必读论文
- Graph neural network综述:从deepwalk到GraphSAGE,GCN,GAT
- 图卷积:从GCN到GAT、GraphSAGE
- 图神经网络(GCN、GraphSage、GAT)等在公司实际推荐系统中有应用么?
深度学习-图神经网络总结相关推荐
- 深度学习-强化学习-图神经网络-自然语言处理等AI课程超级大列表-最新版
本篇文章内容整理自网络,汇集了大量关于深度学习.强化学习.机器学习.计算机视觉.语音识别.强化学习.图神经网络和自然语言处理相关的各种课程.之前分享过一次,经过一年的更新,又补充了很多2019.202 ...
- 2020人工智能课程超级大列表:深度学习-强化学习-图神经网络-自然语言处理等...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本篇博文主要为大家介绍一个课程网站,汇集了机器学习,深度学习.强化学习的各个方面, ...
- 人工智能、机器学习、深度学习和神经网络的区别
人工智能 背景:人工智能最初可以追溯至1956年,当时多名计算机科学家在达特茅斯会议上共同提出了人工智能的概念.在随后几十年中,人工智能一方面被认为是人类文明未来的发展方向,另一方面也被认为是难以企及 ...
- python神经网络教程16_Python深度学习之神经网络视频
Python深度学习之神经网络视频 课程简介 该阶段是深度学习的入门课程,主要介绍经典的深度学习框架TensorFlow的使用,IO操作,以及神经网络基础.卷积神经网络的相关知识,并用卷积神经网络原理 ...
- 一文掌握深度学习、神经网络和学习过程的历史
来源:算法与数学之美 本质上,深度学习是一个新兴的时髦名称,衍生于一个已经存在了相当长一段时间的主题--神经网络. 从20世纪40年代开始,深度学习发展迅速,直到现在.该领域取得了巨大的成功,深度学习 ...
- 零基础入门深度学习(3) - 神经网络和反向传播算法
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...
- 深度学习与神经网络概述
本文将简单介绍:人工智能(Artificial Intelligence).机器学习(Machine Learning).深度学习(Deep Learning),并介绍神经网络的发展,以及三个在线演示 ...
- 【深度学习】吴恩达深度学习-Course1神经网络与深度学习-第四周深度神经网络的关键概念编程(下)——深度神经网络用于图像分类:应用
在阅读这篇文章之前,请您先阅读:[深度学习]吴恩达深度学习-Course1神经网络与深度学习-第四周深度神经网络的关键概念编程(上)--一步步建立深度神经网络,这篇文章是本篇文章的前篇,没有前篇的基础 ...
- 机器学习、深度学习、神经网络学习资料集合(开发必备)
最近整理了下AI方面的学习资料,包含了学习社区.入门教程.汲取学习.深度学习.自然语言处理.计算机视觉.数据分析.面试和书籍等方面的知识.在这里分享给大家,欢迎大家点赞收藏. 学习社区 神力AI(MA ...
- 学习图神经网络相关内容
本周学习情况 本周学习任务: 学习图神经网络相关内容 图基本知识(连通分量.度中心性.特征向量中心性.中介中心性.接近中心性.PageRank.HITS)并使用networkx包简单实践. 学习了相关 ...
最新文章
- jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查
- python复工_Python批量创建复工证明实现过程中的Bug汇总及其相应的解决方案
- mscoreei.dll没有被指定在windows上运行_windows注册表详解
- 老人寻求到一名程序员,用2W行代码给自己打造了一幅肖像画
- 【QGIS入门实战精品教程】3.2:QGIS如何打开ArcGIS创建的个人数据库(MDB)?
- “老师,请您多关注一下我吧!!!”
- 文档中快速输入日期时间的方法
- 用栈和递归求解迷宫问题
- CCIE-LAB-SDN-第二篇-DNAC中完成VN配置
- 惹毛了老婆后,老王居然本能地想按Ctrl+Z...
- 未打清分标识处理方式
- 剪贴板增强工具 Ditto
- modbus调试工具的使用
- 机器人正运动学与旋量
- h264解码延迟优化_h264编解码末尾丢帧问题原因和解决
- 云计算是用来做什么的
- IPv6的DNS服务器
- 移动设备上“精灵图”的制作适配
- 【硬核】肝了一个月,Cisco网络工程师知识点总结
- 上传计算机桌面文件图标不见,关于桌面上图标都不见了这类问题的解决方法
热门文章
- 非线性曲线拟合和多项式曲线拟合
- java 2的n次方_Java程序练习-计算2的N次方 | 学步园
- 美国地质勘探局官网(USGS)Landsat 8 OLI_TIRS 影像数据下载详解
- linux如何查看读写权限,Linux系统下如何查看及修改文件读写权限
- 计算机网络期中考试总结反思,关于期中反思的说说
- 局域网架设 NOD 32 镜像更新服务器
- 网页配色网页设计常用色彩搭配表 《配色表》
- 计算机有线无线都无法上网,有线能上网无线不能上网 有线能用无线不能用
- windows删mysql库代码_windows完全删除MySQL数据库
- Linux 教你如何预防删库到跑路