图神经网络在客户需求中的创新应用

本文详细介绍了某中心如何利用图神经网络技术解决恶意账户检测、药物发现、文档信息提取等实际问题,涵盖节点级、链接级和图级任务的应用案例及技术架构实现方式。

图神经网络在客户需求中的创新应用

图是一种信息丰富的数据表示方式,由节点(通常用圆圈表示)和边(节点间的线段)组成。例如在知识图谱中,节点代表实体,边代表实体间关系;在社交图中,节点代表人,边表示人与人相识。

在某中心云服务中,利用机器学习(ML)使图中编码的信息对客户更有价值一直是重点研究方向。本文将展示客户与某中心科学家合作开发的多种图机器学习应用,包括恶意账户检测、自动化文档处理、知识图谱辅助药物发现和蛋白质属性预测等。

图学习简介

图可以是同质的(节点代表单一实体类型,边代表单一关系类型),也可以是异质的(整合不同实体间的多种关系类型)。节点通常关联数据特征,如产品价格或文本描述。

图神经网络

过去十年中,深度学习彻底改变了从自然语言处理到语音合成、计算机视觉的一系列AI应用。图神经网络(GNNs)将深度学习的性能优势扩展至图数据。与其他流行神经网络类似,GNN模型包含一系列层级,逐步向更高抽象层次推进。

例如,GNN的第一层计算图中每个节点所表示数据的表征(或嵌入),第二层根据先前的嵌入和节点最近邻的嵌入计算每个节点的表征。通过这种方式,每一层都扩展了节点嵌入的范围,从单跳邻居到两跳邻居,某些应用甚至更远。

GNN任务

单个节点嵌入可用于节点级任务(如预测节点属性),也可用于更高级推理。例如,使用跨节点对或全图的表征,GNN可分别执行链接级或图级任务。

节点级任务

使用GNN可根据节点与其他节点的关系推断其行为。常见任务包括节点分类(通过邻居标签和特征推断缺失标签),应用于金融欺诈检测、出版物分类和疾病分类等领域。

在某中心,我们成功使用某图数据库和深度图库(DGL)将GNN节点表征学习应用于客户欺诈检测用例。例如,针对某大型电商运动器材客户,机器学习解决方案实验室的科学家使用DGL实现的GNN模型在数十亿注册账户中检测恶意账户。

这些恶意账户被大量创建以滥用促销代码并阻止公众访问畅销商品。利用电商站点数据,我们构建了包含账户和购买商品等实体的异质图,边基于使用历史连接节点。为识别恶意账户,我们训练GNN模型将已知恶意账户标签传播至未标注账户。

该方法检测到的恶意账户数量是之前基于规则方法的10倍。传统表格数据机器学习方法(如CatBoost)仅考虑账户特征输入,无法实现此类性能提升。

除社交网络和引文网络等固有图结构数据应用外,GNN已扩展至通常呈现于欧几里得空间的数据(如图像和文本)。通过基于空间邻近性将欧几里得空间数据转换为图,GNN可解决通常由卷积神经网络(CNN)和循环神经网络(RNN)处理的问题。

例如,研究人员探索使用GNN模型提高信息提取准确性(通常由RNN处理)。GNN更擅长整合图表示所捕获的非局部和非序列化词依赖关系。

在最近合作中,某机器学习解决方案实验室与某航空公司开发定制GNN模型(DocGCN),提高从自助上传乘客文档(包括旅行证件、COVID-19检测结果和疫苗卡)中自动提取信息的准确性。团队为每个扫描旅行文档构建图,基于文本单元在文档中的空间邻近性和方向进行连接。

DocGCN模型通过文本单元(图节点)间关系推理改进相关文本信息识别,并利用图捕获表格、键值对和段落中文本关系,泛化至不同格式复杂表单。这一改进加速了国际旅行准备验证自动化。

链接级任务

图中另一重要学习任务是链接预测,这是产品或广告推荐及好友建议等应用的核心。给定两个节点和一种关系,目标是确定节点是否通过该关系连接。

通常预测由消耗源节点和目标节点嵌入的解码器提供。解码器经训练正确预测图中现有边。

在此背景下,药物发现是一个令人兴奋的机会领域。某中心最近提供药物重定位知识图谱(DRKG),利用链接预测识别现有药物新靶点。由某中心科学家构建的DRKG是综合生物知识图谱,关联人类基因、化合物、生物过程、药物副作用、疾病和症状。

通过对DRKG中COVID-19相关链接预测,研究人员识别出41种可能对COVID-19有效的药物——其中11种已进入临床试验。某中心还公开发布基于DRKG构建的COVID-19知识图谱(CKG),用于快速发现和优先排序候选药物,并可识别与COVID-19相关论文,减少研究、总结和解释疫情相关发现所需人力。

图级任务

图级任务涉及大量小型独立图的分析。有机化合物化学库是常见图级应用示例,每个有机化合物表示为通过化学键连接的原子图。化学库的图级分析对药物开发和发现用例至关重要,应用包括预测有机化合物化学属性和预测生物活性(如与蛋白质靶点结合亲和力)。

另一受益于图级表征的数据是编程语言代码片段。代码可通过程序依赖图(PDG)表示,其中变量、运算符和语句作为节点通过依赖关系(链接)连接。

在PAKDD 2021上,我们提出使用GNN表示代码片段的新方法。近期我们使用该方法识别相似代码片段,寻找使代码更模块化和更易维护的机会。

GNN还可用于编码底层系统全局属性并将其纳入图嵌入,这种方式其他深度学习方法难以实现。我们最近与某生物制药公司科学家合作从蛋白质3D结构预测其功能,这对制药和生物技术行业研发很有用。

蛋白质由以特定方式折叠的氨基酸序列组成。我们开发了蛋白质图表示,其中每个节点是氨基酸,折叠蛋白质结构中氨基酸相互作用决定两个节点是否连接。

这使我们能够编码细粒度生物信息,包括相邻氨基酸残基间的距离、角度和接触方向。将在这些图表示上训练的GNN与解析数十亿蛋白质序列的模型结合,我们改进了对实际重要的各种蛋白质功能预测任务性能。

GNN的图级任务与先前任务有不同的数据工程需求。节点级和链接级任务通常在单个巨型图上操作,而图级任务在大量独立小图上操作。

为帮助客户扩展GNN用于图级任务,我们开发基于云的架构,利用高性能开源GNN库DGL、ML资源编排工具某Maker和某文档数据库管理图数据。

开始您的GNN之旅

本文展示了GNN在所有三个图相关任务级别的应用示例,证明GNN对各种企业和研究问题的价值。某中心为希望构建和部署GNN驱动ML解决方案的客户提供多种选项。

希望快速入门的客户可使用某图数据库ML直接在某图数据库存储的图数据上构建GNN模型而无需编写代码。某图数据库ML可训练模型处理上述节点级和链接级任务。希望更深入实践的客户可使用某Maker上的DGL实现GNN模型。同时,我们将继续推进GNN科学研究,构建更多产品和解决方案使GNN更易于所有客户使用。

致谢:Guang Yang, Soji Adeshina, Jasleen Grewal, Miguel Romero Calvo, Suchitra Sathyanarayana

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计