在2019年深度学习开发者秋季峰会上,百度对外发布飞桨图学习框架PGL v1.0正式版,历经5个月的版本迭代,PGL再度升级,发布v1.1版本,带来了最新的算法突破、全面的工业级图学习框架能力以及工业级的实践案例。下面我们逐一揭秘升级点。
最新算法突破:
结合语义与结构信息的图神经网络模型ERNIESage
在很多工业应用中,往往出现如下图所示的一种特殊的图:Text Graph。顾名思义,图的节点属性由文本构成,而边的构建提供了结构信息。如搜索场景下的Text Graph,节点可由搜索词、网页标题、网页正文来表达,用户反馈和超链信息则可构成边关系。
PGL团队提出ERNIESage模型同时建模文本语义与图结构信息,有效提升Text Graph的应用效果。其中ERNIE是百度推出的基于知识增强的持续学习语义理解框架,在中英文16个任务上超越业内同类最优模型,以历史上首次超越90大关的成绩登顶自然语言处理领域最权威的GLUE评测榜单,并在最近SemEval 2020上斩获5项世界冠军。
ERNIESage是ERNIE与GraphSAGE碰撞的结果,是ERNIE SAmple aggreGatE的简称,它的结构如下图所示,主要思想是通过ERNIE作为聚合函数(Aggregators),建模自身节点和邻居节点的语义与结构关系。
ERNIESage对于文本的建模是构建在邻居聚合的阶段,中心节点文本会与所有邻居节点文本进行拼接;然后通过预训练的ERNIE模型进行消息汇聚,捕捉中心节点以及邻居节点之间的相互关系;最后使用ERNIESage搭配独特的邻居互相看不见的Attention Mask和独立的Position Embedding体系,就可以轻松构建TextGraph中句子之间以及词之间的关系。
单纯的ID特征的GraphSAGE只能建模结构信息,单独的ERNIE语义模型只能建模语义信息。在PGL的框架驱动下,我们可以轻松结合二者,通过ERNIE捕捉语义信息,并且利用GraphSAGE补充结构特征,通过节点的邻居补充更有用的信息。下图为百度内部某个推荐系统的Text Graph实际场景,ERNIESage通过结合文本与图结构信息,可以取得比独立应用ERNIE和GraphSAGE更好的效果。
得益于PGL的灵活易用特性,ERNIESage能在PGL的Message Passing范式下快速实现,下面介绍PGL v1.1版本的其他亮点特性。
全面的工业级图学习框架能力:
引入多领域模型、领衔工业应用、赋能科研创新
下图是PGL v1.1的框架图,黄色与橙色部分为v1.1版本更新内容,其中橙色为自研的模型算法。
工业级实践案例揭秘:
PGL如何掀起图算法热潮
得益于PGL创新性自研算法加持,以及框架的全新升级,PGL支持的百度内外部业务也是遍地开花,全面覆盖搜索、商业广告、信息流、金融风控、贴吧、用户画像、智能地图等相关业务,可支持百亿巨图场景。下面是一些经典工业级案例介绍。
在信息流兴趣搜索推荐场景下,构建信息流文章与搜索词之间的复杂异构图关系网络,利用PGL异构图神经网络算法挖掘用户潜在兴趣点。在用户阅读文章后,提供更多用户感兴趣的搜索词,推荐搜索词点展比大幅提升近90%,大大地提升了信息流产品的用户体验;
在贴吧推荐场景下,通过多元路径(Multi MetaPath)来表征用户、贴吧和帖子的异构图关系,通过优化元路径范式,自动匹配同源负样本,克服单条MetaPath信息表征不全面的问题,总点击提升1.89%,点展比提升0.93%,缩短了用户与感兴趣贴吧的路径;
在商业广告场景下,构建用户搜索词与广告的图网络。结合PGL自研模型ERNIESage,聚合语义以及结构信息,提升了触发模型的泛化能力,取得较大的经济效益;
在度小满金融风控场景下,通过构建用户图网络,结合PGL灵活定制风控图神经网络,快速挖掘具有逾期风险的用户。基于GNN的金融风控模型,KS指标绝对提升1.6,AUC指标绝对提升2%,有效地提升了优质客群人数,降低了贷款风险并且大幅度减少审核人力。
综合来看,图学习框架PGL依托于飞桨再度升级,带来更多的自研算法、更加全面的框架能力。图学习作为通用人工智能算法之一,势必成为这个时代新的基础设施,赋能各行各业,助燃智能经济腾飞。这仅是图学习热潮的开始,希望有志之士加入PGL,一起共建未来。
PGL代码完全开源,欢迎小伙伴们使用。如果您在使用过程中有任何疑惑或创新尝试,欢迎联系我们,反馈您的意见或与其他小伙伴分享您的成果。
如在使用过程中有技术问题,欢迎加入飞桨官方QQ群进行提问:703252161
如果您想详细了解更多飞桨PGL的相关内容,请参阅以下链接。
飞桨PGL入门教程:
https://aistudio.baidu.com/aistudio/projectdetail/413386
飞桨PGL项目地址:
GitHub: https://github.com/PaddlePaddle/PGL
飞桨开源框架项目地址:
GitHub: https://github.com/PaddlePaddle/Paddle
Gitee: https://gitee.com/paddlepaddle/Paddle