深度学习之上,图神经网络(GNN )崛起

由于深度学习在可推理和可解释性方面存在比较大的局限性,结合了图计算和深度学习的图神经网络(GNNs)成为近期学术界和工业界研究热度颇高的新方向之一。业界普遍认为,GNN 恰好可以弥补前面提到的深度学习无法解决的两个缺陷。近一年 GNN 在越来越多应用场景上取得了成功,但它也仍面临着许多挑战。

蚂蚁金服在今年的数据挖掘研究领域顶级年会 KDD 2019 上召开了以“图神经网络研究及实际应用”为主题的研讨会。InfoQ记者有幸采访到了蚂蚁金服人工智能部研究员宋乐,聊聊深度学习和 GNN 在大型工业级场景的应用和实践、目前面临的难点挑战,以及未来技术前进的可能方向。

宋乐老师在 KDD 2019

GNN已成“AI新贵”
除了传统的深度学习方法,图神经网络(GNN)在近两年也是公认的“AI 新贵”。由于图结构的强大表现力,用机器学习 / 深度学习方法分析图的研究越来越受重视。而图神经网络(GNN)由于较好的性能和可解释性,已经成为一种广泛应用的图分析方法,更有不少人将它看作“深度学习的新一代技术”。近一年来,学界和工业界陆续推出了 GNN 的相关框架和工具,进一步促进了这一领域的蓬勃发展。

GNN 提供了图表征学习(Graph representation learning)或图嵌入技术(Graph embedding)的框架,可以用于各种图数据上的监督,半监督及强化学习。GNN将图上的元素,如节点,连接或者子图表达成为一个向量,而不同元素所对应的向量之间的距离保存了它们在原图上的相似关系。这样将拓扑关系表达为特征空间中的向量的做法,本质上是一种基于拓扑信息的特征提取过程,其结果是沟通了传统的图分析和各种传统机器学习或数据挖掘方法,在推荐系统、知识图谱构建及推理等领域都有许多应用。比如说,可以通过引入了图卷积操作构造了一个适用于图数据的半监督学习框架,用于提取更精确的特征表达或直接进行分类操作,并可以结合图像分割、视频理解、交通预测等许多领域开始探索其应用价值。无论对于图分析还是深度学习,GNN 都是一个极有价值的的演化。

GNN 的出现解决了传统深度学习方法难以应用到非规则形态数据上的痛点,大大扩展了神经网络的应用空间,并在一些问题上改进了模型的可解释性。对于许多建立在非规则形态数据基础之上的业务场景,诸如推荐、消歧、反欺诈等,GNN 都有极大的应用潜力。以蚂蚁金服为例,GNN 已经广泛部署于普惠金融业务的推荐和风控中。

宋乐还列举了两个比较有趣的新应用:

一个是 GNN 在知识图谱上推理的应用。知识图谱是蚂蚁金服非常重要的研发方向之一,借助知识图谱可以把中国所有注册企业都联系起来,图谱里每个节点可能就是一个注册的商家,这个节点数量可能会达到几千万。这些商家之间可能有一些是供应商关系,有一些是同行竞争对手的关系,有一些可能是存在法律诉讼的关系。如果想根据这个图来做一些预测和推测,用于普惠金融业务的推荐和风控,就可以借助 GNN。

另一个是动态图的应用。本质上,所有金融交易问题都是动态的,谁在什么时间买了什么东西,都是有一个对应的时间戳的,随着新的交易发生、新的账号产生,整个图应该是在不断变化的。如何把时间和图的结构一起考虑进去做表征,这个也是比较有挑战性的前沿问题。目前蚂蚁金服正在贷款准入模型中尝试应用动态图。

除此之外,据宋乐保守估计,GNN 目前至少已在阿里巴巴数十个业务场景落地。不过这只是 GNN 发展乐观的一面。

从业界整体落地情况来看,GNN 仍然处于发展初期。从 2018 年 10 月,由 DeepMind、谷歌大脑、麻省理工等近 30 名学者联名在 ArXiv 上传的论文《Relational inductive biases, deep learning, and graph networks》将 GNN 相关工作推到一个新的高度以来,GNN 火热发展还未到一年,很多本质问题尚未突破。与工业级深度学习应用面临的问题类似,GNN 要真正做到在工业界大规模落地,在底层系统架构方面仍需要做大量工作。

如何大规模落地 GNN 仍面临挑战
在宋乐看来,目前 GNN 在工业界大规模落地面临的挑战主要在于大规模图网络的训练和线上更新预测两方面。未来互联网公司只要涉及 GNN 相关应用工作,几乎都逃不开大规模图网络。

首先,工业级业务场景,尤其是互联网公司的业务场景,图网络规模通常都很大,至少包含亿级,甚至是十亿级、百亿级的图节点和边。要计算这么大规模的图神经网络,通常一台机器是无法达到想要的效果的,这时就需要一个专门的分布式图计算平台。如果没有一个平台能够支撑 GNN 所需的海量计算,就很难把 GNN 做好。但目前就业界来说,GNN 平台的进展仍然比较慢。还没有哪个企业能够推出一个足够好的开源 GNN 平台,并且能自信地表示可以很好地支持亿级节点的图网络。

在对GNN 模型进行训练时,算法需要与分布式图存储平台进行高效交互,这也是非常有挑战性的一项工作。在模型训练时,算法需要不断随机查询节点、节点的邻居和邻居的邻居,取出数据放到内存中做深度学习模型的前向 Inference 和后向的回传,这在大规模图上其实是很难做好的。对于 GNN 平台来说,做深度学习以及和数据库打交道这两个环节常常是导致速度慢最大的瓶颈。在过去两年,蚂蚁金服在分布式图存储这个方向上做了很多努力,目前已经开发出了一个高效的分布式图存储平台,以及可以跟这个图存储平台比较高效地交互的图训练平台。从数据上看,原来需要几天时间的亿级图网络训练已经可以缩短到一个小时以内。

大规模图神经网络在线上的预测也是难点之一。GNN 的 Embedding 并非实时的,以金融交易场景为例,每次出现一笔新的交易,图网络就会多一条边,图就会发生变化,如果想做好实时预测,就需要用最新的边根据这个 GNN 的参数,算出它的表征来进行预测。但是通常在线上环境中,要在非常短的响应时间内构一个图,把 GNN 计算好非常困难,特别是在交易量很大的情况下,通常都存在一定的滞后。如何让GNN 能够在线上高效地直接做这个运算,这个挑战还没有完全解决,需要和底层的系统架构做一些合作。

宋乐坦言,即使没有 GNN,图计算本身在工业界就是一个比较困难的问题。因为图和图像、文本有所不同,图的每个节点连接的邻居个数可能不一样、节点类型不一样、边的类型不一样,就制造了很多不规则的运算,每个节点需要运算的程度不一样。而计算机特别适合规则运算,却天生不适合不规则运算,图的计算就属于不规则运算,以前传统的图算法也有各种各样的研究,但都不能很好地解决问题,再加上 GNN 引入了深度学习这一层,导致复杂度陡增,难度就更大了。因此,如何在很短的时间内得到 GNN 的训练结果和预测结果,都存在很大的挑战。如果这一问题能够得到解决,使 GNN 的训练和预测都做到足够快,那么算法工程师在建模的时候,就可以很快地尝试 GNN 的效果以及各种不同网络结构下 GNN 的效果,进一步修改提高 GNN 的结果。

不管在学术界还是工业界,目前这都还是一个比较前沿的问题,同时这也是当前 GNN 领域的瓶颈之一。虽然 Google、Facebook 等业内大公司都在推动 GNN 平台的开发工作,但目前还没有一个能够真正做好大规模分布式图网络计算的主流开源平台。

原文地址:https://blog.51cto.com/14164343/2429700

时间: 2024-10-05 11:28:08

深度学习之上,图神经网络(GNN )崛起的相关文章

zz【清华NLP】图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐

[清华NLP]图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐 图神经网络研究成为当前深度学习领域的热点.最近,清华大学NLP课题组Jie Zhou, Ganqu Cui, Zhengyan Zhang and Yushi Bai同学对 GNN 相关的综述论文.模型与应用进行了综述,并发布在 GitHub 上.16大应用包含物理.知识图谱等最新论文整理推荐. GitHub 链接: https://github.com/thunlp/GNNPapers 目录            

从软件工程的角度写机器学习6——深度学习之卷积神经网络(CNN)实现

卷积神经网络(CNN)实现 背景 卷积神经网络广泛用于图像检测,它的实现原理与传统神经网络基本上是一样的,因此将普遍意义的神经网络和卷积神经网络的实现合成一篇. 神经网络实现思路 "扔掉神经元" 尽管所有教程在介绍神经网络时都会把一大堆神经元画出来,并且以输入节点--神经元--输出结点连线,但是,在编程实现时,基于神经元去编程是低效的.典型如这篇经典文章里面的代码: http://blog.csdn.net/zzwu/article/details/575125. 比较合适的方法是将神

构建和优化深度学习模型(神经网络机器识图)

DSL(Deep Learning Service)是基于华为云强大高性能计算提供一站式深度学习平台服务,内置大量优化的网络模型算法,以兼容.便携.高效的品质帮助用户轻松使用深度学习技术,通过灵活调度按需服务化方式提供模型训练.评估与预测. 深度学习训练模型:数据准备-->数据模型训练(优化参数)-->反馈损失值-->更多训练 评估模型:返回结果为预测值与测试数据集标注值的错误率或准确率 深度学习模型的优化方法? 训练次数的调整? 代价函数的调整? 学习率的调整? 训练算法的优化? 神经

深度学习:卷积神经网络(convolution neural network)

(一)卷积神经网络 卷积神经网络最早是由Lecun在1998年提出的. 卷积神经网络通畅使用的三个基本概念为: 1.局部视觉域: 2.权值共享: 3.池化操作. 在卷积神经网络中,局部接受域表明输入图像与隐藏神经元的连接方式.在图像处理操作中采用局部视觉域的原因是:图像中的像素并不是孤立存在的,每一个像素与它周围的像素都有着相互关联,而并不是与整幅图像的像素点相关,因此采用局部视觉接受域可以类似图像的此种特性. 另外,在图像数据中存在大量的冗余数据,因此在图像处理过程中需要对这些冗余数据进行处理

深度学习(卷积神经网络)一些问题总结(转)

涉及问题: 1.每个图如何卷积: (1)一个图如何变成几个? (2)卷积核如何选择? 2.节点之间如何连接? 3.S2-C3如何进行分配? 4.16-120全连接如何连接? 5.最后output输出什么形式? ①各个层解释: 我们先要明确一点:每个层有多个Feature Map,每个Feature Map通过一种卷积滤波器提取输入的一种特征,然后每个Feature Map有多个神经元. C1层是一个卷积层(为什么是卷积?卷积运算一个重要的特点就是,通过卷积运算,可以使原信号特征增强,并且降低噪音

神经网络和深度学习之——前馈神经网络吉林快三带红黑玩法

前面一章我们详细讲解了神经网络的组成吉林快三带红黑玩法 话仙源码论坛下载地址 QQ2952777280,工作原理,信号在网络中如何流动,以及如何求解每一个输入信号赋予的权重等计算过程:同时我们还构建了一个逻辑回归网模型来解决鸢尾花分类问题,很明显,这种网络很"浅",但它对于分类鸢尾花数据还是非常有效的,而且不仅仅是鸢尾花,对于有需要的其他二分类问题,该模型也能表现得很好.由于这种模型太"浅"了,我们一般称这种模型为bp网络,而不直接称为神经网络,有些人甚至觉得这种网

深度学习之前馈神经网络(前向传播和误差方向传播)

这篇文章主要整理三部分内容,一是常见的三种神经网络结构:前馈神经网络.反馈神经网络和图网络:二是整理前馈神经网络中正向传播.误差反向传播和梯度下降的原理:三是梯度消失和梯度爆炸问题的原因及解决思路. 一.神经网络结构 目前比较常用的神经网络结构有如下三种: 1.前馈神经网络 前馈神经网络中,把每个神经元按接收信息的先后分为不同的组,每一组可以看做是一个神经层.每一层中的神经元接收前一层神经元的输出,并输出到下一层神经元.整个网络中的信息是朝着一个方向传播的,没有反向的信息传播(和误差反向传播不是

深度学习(一) 卷积神经网络CNN

Contents 图像数据集基础 全连接神经网络解决图片问题的弊端(前世) 卷积神经网络的今生 网络结构 卷积操作 池化操作 小结 图像数据集基础 数字图像划分为彩色图像.灰度图像.二值图像和索引图像几种.其中,像素是构成图像的基本单位,例如一张28×28像素的图片,即表示横向有28个像素点,纵向有28个像素点. 最常用的彩色图像和灰度图像: 彩色图像:每个像素由RGB三个分量来表示,即红绿蓝.每个分量介于(0,255).那么,对于一个28×28的彩色图像,便可以由三个表示RGB颜色分量的28×

吴恩达 DeepLearning.ai课程笔记(1-3)神经网络和深度学习 --- 浅层神经网络

以下为在Coursera上吴恩达老师的DeepLearning.ai课程项目中,第一部分<神经网络和深度学习>第二周课程部分关键点的笔记.笔记并不包含全部小视频课程的记录,如需学习笔记中舍弃的内容请至 Coursera 或者 网易云课堂.同时在阅读以下笔记之前,强烈建议先学习吴恩达老师的视频课程. 1. 二分类问题 对于二分类问题,大牛给出了一个小的Notation. 样本:  ,训练样本包含  个: 其中  ,表示样本 包含 个特征:  ,目标值属于0.1分类: 训练数据:  输入神经网络时