全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2020-04-03_灵活、轻便,阿里开源简化GNN应用框架Graph-Learn

您的位置:首页 >> 新闻 >> 行业资讯

灵活、轻便,阿里开源简化GNN应用框架Graph-Learn 机器之心报道参与:Jamin、蛋酱近日,阿里巴巴开源了简化 GNN 应用的新框架 Graph-Learn。该框架可从实际案例中提取解决方案,应用于推荐系统、反欺骗等多个领域。相关代码已经可以在 GitHub 上下载。 近年来,图神经网络(GNN)已经在图像分类、语义分割、推荐系统、程序推理乃至分子结构预测等领域,都有着越来越广泛的应用。GNN 一般是将底层图形作为计算图,通过在图上传递、转换和聚合节点特征信息学习神经网络基元以生成单个节点嵌入。生成的节点嵌入可以作为输入,用于如节点分类或连接预测的任何可微预测层,完整的模型可以通过端到端的方式训练。 近日,阿里巴巴团队开源了 Graph-Learn(以下简称 GL),这是一个用以简化图神经网络应用的新框架。它能够从实际的案例中提取出解决方案,并且这些解决方案已在推荐、反欺骗和知识图谱系统领域得到了应用和验证。 GL 的可移植性和灵活性对于开发者来说十分友好,在该框架的基础上,开发者可以更轻松地实现 GNN 算法、自定义与图相关的运算符,并且更轻松地拓展现有模块。Container 和物理机上都可以安装 GL。 项目地址:https://github.com/alibaba/graph-learn 模型示例 GCN 图卷积网络被认为是基于深度学习的图形结构化数据方法最突出的进展之一。GCN 上的卷积算子是频谱图卷积的部分近似。从空间角度来看,相邻节点的嵌入被聚合在一起用以更新节点的自嵌入。 GAT 图注意力网络是 GCN 接下来的主要工作。GAT 将注意力机制融入了 GCN。通过计算节点之间的注意力系数,GAT 对节点及其相邻进行加权汇总,从而使得每个节点都能专注于最相关的相邻项从而进行决策。 GraphSAGE GraphSAGE 是一个通用的归纳框架,可以有效地为之前无法可视化的数据生成节点嵌入。为了利用大规模图形数据,GraphSAGE 会建议从原始图形数据中采样计算子图形,然后进行逐批训练。以及它还提出了通过几个 aggregators 来有选择地聚合相邻项的嵌入。 快速开始 以最流行的图神经网络模型 GCN 为例,这部分展示一下如何基于 low-level 的 GL API 和深度学习框架(比如 TensorFlow)构建图学习模型。 如何创建一个基于学习的模型 需要执行以下四个步骤: 采样:使用内置采样函数采样子图(称为 EgoGraph)。团队抽象了四个基本函数,包括 sample_seed,positive_sample,negative_sample 和 receptive_fn。sample_seed 用于生成初始 Nodes 以及 Edges(一系列节点或边缘),然后 positve_sample 将其用作输入以生成样本 Edges。negative_sample函数可对非监督模型的负 Nodes 或 Edges 进行采样。GNN 需要聚集 nodes(edges)的相邻信息以便更新 nodes 及 edges 嵌入,因此提供了 acceptive_fn 来采样相邻信息。种子 Nodes 和 Edges 以及采样被统一组织为 EgoGraph。 图形流:使用 EgoFlow 时会根据不同的后端将 EgoGraph 转换为 EgoTensor。GL 建模是基于 TensorFlow 等深度学习框架之上的。因此,需要将采样的 EgoGraphs 转换为张量格式 EgoTensor。团队将 EgoFlow 进行此转换。EgoFlow 还生成用于迭代训练和 pipeline 的 iterator。 定义编码器:使用 EgoGraph 编码器和功能编码器对 EgoTensor 进行编码。获取 EgoTensor 之后,需要定义从原始数据到嵌入的转换例程。而对于 GNN 模型,此步骤是聚合节点并将其与自身节点的 nodes/edges 合并。 定义损失函数和训练:将编码的嵌入内容提供给损失函数及训练。GL 内置了一些常见的损失函数和优化器,也可以自定义自己的损失函数和优化器。同时支持本地和分布式培训。 主要概念 源数据 GL 支持多种数据格式,用以简化从原始数据到 Graph 对象的整个构建过程。源数据放置在文件系统上,建模时,加载程序会将文件读取为 StructuredAccessFile。 对于用户而言,提供了两类源数据:Node Source 以及 Edge Source。这里将其描述为 Node Source 和 Edge Source 支持的数据格式。 通常情况下,节点包含一个 ID 以及多个描述实体的属性。Edge 包含两个 ID,用于描述两个节点之间的关系。Edges 也可能附加了属性。例如,「用户在星期六早上购买了产品」。它使用了用户和产品 ID 描述 Edge,「星期六早上」是该 Edge 的属性。 除属性外,GL 还支持源数据中的权重和标签。权重对于许多采样算法很重要,而标签是监督训练的必备条件。 如上所述,GL 使用 WEIGHTED,LABELED 和 ATTRIBUTED 作为基本 ID 的可选扩展。 图形对象 Graph 是一个组织原始数据的单元,用以启用高级操作。GL 作业中只能存在一个且是唯一的 Graph 对象。能够支持所有类型的图,包括同构图,具有不同类型 nodes 或 edges 的异构图或是以及具有附加在 nodes 或 edges 上属性的图。提供丰富的 API 来提取有关图形的信息。 通常来说,创建图形对象需要以下三个步骤: 声明一个 Graph 对象 描述出其拓扑性 初始化数据 分布式模式 GL 支持分布式模式运行的服务器或客户端以及其任意组合。服务器角色负责加载和管理图形。客户端与深度学习框架在同一过程中运行,以提供图形数据进行训练。在训练期间,将从客户端生成数据的查询或采样请求,在服务器中对其进行处理。最后,服务器的结果被聚合回客户端。 「服务器」和「客户端」只是 GL 中的逻辑层面的角色,它们也可以放在同一台机器上。 本文为机器之心报道,转载请联系本公众号获得授权。 ?------------------------------------------------加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com投稿或寻求报道:content@jiqizhixin.com广告 & 商务合作:bd@jiqizhixin.com

上一篇:2024-12-23_「转」“AI画深圳”展览12月24日开幕!看AI讲述深圳未来故事 下一篇:2019-11-01_11月的每一天都不平凡 | 地球月历

TAG标签:

14
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价