Press "Enter" to skip to content

大咖眼中的AI开源 | 张建:图神经网络和DGL的实际应用

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

本期,我们为大家带来了亚马逊云科技资深数据科学家张建对于图神经网络和DGL的实际应用的精彩分享。

 

 

 

:loudspeaker: 想要了解更多亚马逊云科技最新技术发布和实践创新,敬请关注2021亚马逊云科技中国峰会!点击图片报名吧~

 

 

 

作为亚马逊云科技资深数据科学家,张建博士的一项重要工作是在实际的客户场景中,使用图神经网络和DGL作为工具来帮助客户解决核心业务问题、提升业务价值。在本次分享中,他从数据、模型、速度、解释四个方面介绍了在图神经网络和DGL在落地项目中的遇到的挑战和对此的思考。

 

你的图包含足够的信息吗?

 

在学术圈中,很多学者会用开放的数据去做模型的构建及算法的增强。在图神经网络研究领域最常用的数据集是Cora、Citeseer和PubMed
。这些图通常连接性强,同类别的节点聚集在一起。使用这些图去做模型构建,往往图神经网络的结果表现良好。而实际业务场景中,受限于收集数据的手段、存储数据的方式以及处理数据的能力,构建出的图数据有时会非常稀疏
,导致投入很多精力和时间进行模型调优,但效果却不理想。如果客户提供的图连接性太低,使得不管用任何的图神经网络模型,它们最终都退化成了一个常见的MLP。另外,客户提供的业务图还常出现标签数据特别少的情况,上亿个点的图中,只有十几万个节点有标签,仅有0.01%的标签数据。这导致很难通过一个带标签的点找到其他带标签的点构建联系,从而大大降低了图神经网络的有效性。

 

数据科学家圈有这样一句话:数据特征决定了模型性能的上限,模型只是去无限趋近这个天花板。在模型上再花力气还不如在数据上再想办法
。既然说图的信息决定上限?那幺什幺是图的信息呢?如何衡量“信息”?信息值能指导GNN吗?还要不要搞图?这些问题往往是机器学习实践者甚至开发工程师们所要解决的。张建把这些问题提出来,希望大家集思广益去解决它。

 

什幺情况下GNN模型更有优势?

 

“我知道你们的图神经网络有各种各样的模型,你看看我们的图用什幺模型合适?”工业界的客户曾经这样问张建博士。而这个问题很难回答。首先,模型的设计空间远远大于选择项,其次,不同的业务场景对应不同的业务需求,业务场景里面的模型设计或者模型选择如何针对具体业务,并不容易判断,另外,DGL的核心开发模式是消息传递(MP),在图类领域,而有些问题已经可以不用MP来实现。我们还看到,在图机器学习领域,至今还未能出现类似NLP领域里的GPT这样的模型,能够快速解决大部分问题。

 

张建说,最扎心的还远不止这些,而是客户直接质疑:“张博士,你看我们的XGBoost等模型比这个GNN效果好啊!” 曾经有个金融界的客户,用金融行业的知识图谱获取客户间各种各样的关系之后,直接用LightGBM,在结合一千多维的特征后,直接秒杀图神经网络模型。虽然后续通过一些技术,图神经网络模型超越了这个客户的LightGBM模型,但也留下了很多的思考空间。比如,那幺图神经网络模型比传统的机器学习模型好在哪儿?什幺情况下更好?

 

张建认为,传统的机器学习模型绝大多数基于特征,而在现实的业务场景里,并不是每一个点或者每一个特征都能拿到,尤其随着隐私保护条例的增强,大数据监管越来越严格,收集数据也越来越难。但对于图神经网络模型来说,尽管没有特征,依旧能够建立起关联关系,这就是图神经网络模型的优势。

 

图神经网络模型和传统的机器学习模型,并不是非此即彼的关系
,需要根据业务场景和业务问题来决定如何选择,甚至可以组合起来解决问题。不同GNN模型的适用性是什幺?点/边的特征怎幺用?是不是一定要用GNN ?如何组合GNN和其他模型?张建将这些问题留给大家去思考。

 

图模型能做实时推断?

 

在模型有了效果后,是否能上线进行实时推断又成了客户经常询问的问题?这个问题涉及两个层面。在图结构里面存在着数据之间的关联性
。因此和传统的CV和NLP相比,数据点不是独立同分布的。在做图数据推断时,有两种模式,分别是Transductive模式和Inductive模式
。Transductive模式下,在训练阶段,要被预测的节点/边已经存在于图中,训练的节点可以“看到”这些节点/边,这个模式的问题在于,当需要做预测的时候这些点必须已经存在,图已经构建出来了,几乎没有办法做到实时。因为要想做到实时,模型必须要去应对未来的点。在Inductive模式下,需要预测的节点在训练阶段并不在图中,是看不见的,只有做推断时候,再去运用到一张图上,才能看到这个点。用Inductive模式做看不见点的推断,会有两种情况。第一种是做批次预测,比如进行反欺诈,用过去七天的数据构建出一个图数据训练模型,在对明天发生的用户行为做检测时,需要把明天的数据和前七天的数据组合起来做成一张图,然后用训练好的模型进行推断。这就是批次推断,它并非实时推断。真正要做到实时推断,需要实时将需要预测节点/边加入已经存在的图,并抽取出以它N跳子图交给训练好的模型用于推断。

 

据张建介绍,不光是图社区,整个机器学习社区,包括大数据社区,都还没有为图设计出实时(比如流式)的图数据的存储、抽取、查询的方法。
目前已有的图数据库往往在进行增和查的时候还不够快,特别是把一个点/边作为中心点/边进行采样的时候,图数据库的采样的速度还跟不上需要实时推断的速度。对于实时推断的系统架构,业界也暂时没有特别成熟的方法,这是目前需要解决的问题,对于开发者来说,也是个非常大的机会点。

 

图模型结果怎幺解释?

 

模型上线之后,面临的一个问题是怎幺去解释模型的结果?这个问题在学术圈可以看到一些研究结果,但在工业界却很少能看到这类讨论。

 

比如,利用图模型得到一个节点的预测后,业务人员问为什幺?告诉他因为跟它相邻的“邻居”对它的影响最大,业务人员肯定没办法接受。

 

另外,图神经网络模型,虽然可以通过图结构去识别一些模式,但是其中的点都是带有特征的,这个特征最后是一些实数,通过一系列线性变换和非线性变化后,它们间的关系已经大大超出人类对于因果的认知。如何对图模型的结果进行解释?对于开发者而言任重而道远。

 

图神经网络的落地面临多方面的挑战,张建说,这些挑战就像是支撑一个登月火箭。数据相当于燃料,模型相当于发动机,所有数据管道和实施架构的问题是整体的火箭设计,而模型的解释,就像需要一个飞控中心。只有把这四个层面的问题都解决好,火箭才能真正飞向月球。

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。