0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

“让深度学习也能因果推理”的图网络终于开源了!

DPVg_AI_era 来源:未知 作者:李倩 2018-10-21 10:20 次阅读

DeepMind今天开源了内部的Graph Nets库,用于在TensorFlow中构建简单而强大的关系推理网络。“图网络”由DeepMind、谷歌大脑、MIT等27位研究者提出,由于其支持关系推理和组合泛化的优势,引起大量关注。

DeepMind提出的简单而强大的关系推理网络“graph network”终于开源了!

今年6月,由DeepMind、谷歌大脑、MIT 和爱丁堡大学等公司和机构的 27 位科学家共同发表了一篇论文Relational inductive biases, deep learning, and graph networks,提出了图网络(graph network)的概念。“让深度学习也能因果推理”,这篇论文引起了业内的大量关注。

简单的说,图网络(graph network)是将graph作为输入,并返回graph作为输出的神经网络。输入图具有edge-(E), node-(V), 和global-level(u) 的属性。输出图具有相同的结构,但更新了属性。 Graph networks是更广泛的“graph neural networks”家族的一部分 (Scarselli et al., 2009)。

这篇论文里,作者详细解释了他们的“图网络”。图网络(GN)的框架定义了一类用于图形结构表示的关系推理的函数。GN 框架概括并扩展了各种的图神经网络、MPNN、以及 NLNN 方法,并支持从简单的构建块(building blocks)来构建复杂的结构。

GN 框架的主要计算单元是GN block,即 “graph-to-graph” 模块,它将 graph 作为输入,对结构执行计算,并返回 graph 作为输出。如下面的 Box 3 所描述的,entity 由 graph 的节点(nodes),边的关系(relations)以及全局属性(global attributes)表示。

论文中对“graph”的定义

论文作者用 “graph” 表示具有全局属性的有向(directed)、有属性(attributed)的 multi-graph。一个节点(node)表示为,一条边(edge)表示为,全局属性(global attributes)表示为u。和表示发送方(sender)和接收方(receiver)节点的指标(indices)。具体如下:

Directed:单向,从 “sender” 节点指向 “receiver” 节点。

Attribute:属性,可以编码为矢量(vector),集合(set),甚至另一个图(graph)

Attributed:边和顶点具有与它们相关的属性

Global attribute:graph-level 的属性

Multi-graph:顶点之间有多个边

GN 框架的 block 的组织强调可定制性,并综合表示所需关系归纳偏置(inductive biases)的新架构。

论文:Relational inductive biases, deep learning, and graph networks

地址:https://arxiv.org/pdf/1806.01261.pdf

图网络为什么重要?

康纳尔大学数学博士/MIT博士后Seth Stafford则认为,图神经网络(Graph NNs)可能解决图灵奖得主Judea Pearl指出的深度学习无法做因果推理的核心问题。

Judea Pearl

图灵奖得主、贝叶斯网络之父Judea Pearl,在ArXiv发布了他的论文《机器学习理论障碍与因果革命七大火花》,论述当前机器学习理论局限,并给出来自因果推理的7大启发。Pearl指出,当前的机器学习系统几乎完全以统计学或盲模型的方式运行,不能作为强AI的基础。他认为突破口在于“因果革命”,借鉴结构性的因果推理模型,能对自动化推理做出独特贡献。

如何解决这个问题?DeepMind认为,要从“图网络”入手。

现在,这篇重磅论文的开源软件库终于发布了!可以用于在TensorFlow和Sonnet中构建Graph Nets。

在TensorFlow中构建Graph Nets

安装

Graph Nets库可以从pip安装。

此安装与Linux/Mac OS X以及Python 2.7和3.4+兼容。

要安装库,请运行:

1$pipinstallgraph_nets

用例

以下代码用于构建一个简单的graph net模块,并将其与数据连接。

1importgraph_netsasgn 2importsonnetassnt 3 4#Provideyourownfunctionstogenerategraph-structureddata. 5input_graphs=get_graphs() 6 7#Createthegraphnetwork. 8graph_net_module=gn.modules.GraphNetwork( 9edge_model_fn=lambda:snt.nets.MLP([32,32]),10node_model_fn=lambda:snt.nets.MLP([32,32]),11global_model_fn=lambda:snt.nets.MLP([32,32]))1213#Passtheinputgraphstothegraphnetwork,andreturntheoutputgraphs.14output_graphs=graph_net_module(input_graphs)

Jupyter notebooks演示

这个库包括demos,演示如何在最短路径查找任务、排序任务和物理预测任务上创建、操作和训练graph networks,以推理图结构化数据。每个demo都使用相同的graph network架构,突出了该方法的灵活性。

在浏览器 Colaboratory 中尝试演示

要在本地没有安装任何内容的情况下尝试demo,你可以通过云Colaboratory后端,在浏览器(甚至手机上)运行demo。

在浏览器中运行“最短路径演示”

“最短路径演示”创建随机的graph,并训练图网络以标记任意两个节点之间的最短路径上的节点和边缘。在一系列消息传递步骤中,模型改进了对最短路径的预测。

在浏览器中运行“排序演示”

“排序演示”创建随机数列表,并训练图网络对列表进行排序。在一系列消息传递步骤之后,模型可以准确预测哪些元素(图中的列)紧跟在彼此的后面(行)。

在浏览器中运行“物理演示”

"physics demo"创建随机质量的弹簧物理系统,并训练一个图网络来预测系统在下一时间步长的状态。模型的下一步预测可作为输入反馈进来,以创建未来轨迹的rollout。下面的每个子图显示了50步以上的真实和预测mass-spring系统状态。这类似于Battaglia et al. (2016)提出的"interaction networks”里的模型和实验。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4576

    浏览量

    98891
  • 深度学习
    +关注

    关注

    73

    文章

    5240

    浏览量

    119954

原文标题:解决关系推理,从图网络入手!DeepMind图网络库开源了!

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA在深度学习应用中或将取代GPU

    对神经网络进行任何更改,不需要学习任何新工具。不过你可以保留你的 GPU 用于训练。” Zebra 提供深度
    发表于 03-21 15:19

    详解深度学习、神经网络与卷积神经网络的应用

    在如今的网络时代,错综复杂的大数据和网络环境,让传统信息处理理论、人工智能与人工神经网络都面临巨大的挑战。近些年,深度学习逐渐走进人们的视线
    的头像 发表于 01-11 10:51 744次阅读
    详解<b class='flag-5'>深度</b><b class='flag-5'>学习</b>、神经<b class='flag-5'>网络</b>与卷积神经<b class='flag-5'>网络</b>的应用

    ChatGPT是一个好的因果推理器吗?

    因果推理能力对于许多自然语言处理(NLP)应用至关重要。最近的因果推理系统主要基于经过微调的预训练语言模型(PLMs),如BERT [1] 和RoBERTa [2]。
    的头像 发表于 01-03 09:55 497次阅读
    ChatGPT是一个好的<b class='flag-5'>因果</b><b class='flag-5'>推理</b>器吗?

    深度学习在人工智能中的 8 种常见应用

    深度学习简介深度学习是人工智能(AI)的一个分支,它教神经网络学习
    的头像 发表于 12-01 08:27 1041次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>在人工智能中的 8 种常见应用

    贝叶斯深度学习介绍

    1 Introduction 基于深度学习的人工智能模型往往精于 “感知” 的任务,然而光有感知是不够的, “推理” 是更高阶人工智能的重要组成部分。比方说医生诊断,除了需要通过图像和音频等感知病人
    的头像 发表于 11-03 10:51 317次阅读
    贝叶斯<b class='flag-5'>深度</b><b class='flag-5'>学习</b>介绍

    深度学习在语音识别中的应用及挑战

    的挑战。 二、深度学习在语音识别中的应用 1.基于深度神经网络的语音识别:深度神经网络(DNN)
    的头像 发表于 10-10 18:14 506次阅读

    深度学习的由来 深度学习的经典算法有哪些

    深度学习作为机器学习的一个分支,其学习方法可以分为监督学习和无监督学习。两种方法都具有其独特的
    发表于 10-09 10:23 367次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的由来 <b class='flag-5'>深度</b><b class='flag-5'>学习</b>的经典算法有哪些

    深度学习框架和深度学习算法教程

    了基于神经网络的机器学习方法。 深度学习算法可以分为两大类:监督学习和无监督学习。监督
    的头像 发表于 08-17 16:11 731次阅读

    深度学习框架区分训练还是推理

    深度学习框架区分训练还是推理深度学习框架是一个非常重要的技术,它们能够加速深度
    的头像 发表于 08-17 16:03 1040次阅读

    深度学习框架是什么?深度学习框架有哪些?

    深度学习框架是什么?深度学习框架有哪些?  深度学习框架是一种软件工具,它可以帮助开发者轻松快速
    的头像 发表于 08-17 16:03 1802次阅读

    深度学习框架pytorch入门与实践

    深度学习框架pytorch入门与实践 深度学习是机器学习中的一个分支,它使用多层神经网络对大量数
    的头像 发表于 08-17 16:03 1208次阅读

    什么是深度学习算法?深度学习算法的应用

    。 在深度学习中,使用了一些快速的算法,比如卷积神经网络以及深度神经网络,这些算法在大量数据处理和图像识别上面有着非常重要的作用。
    的头像 发表于 08-17 16:03 1503次阅读

    深度学习是什么领域

    深度学习是什么领域  深度学习是机器学习的一种子集,由多层神经网络组成。它是一种自动
    的头像 发表于 08-17 16:02 1231次阅读

    AI、机器学习深度学习的区别及应用

    深度学习和神经网络的区别在于隐藏层的深度。一般来说,神经网络的隐藏层要比实现深度
    发表于 07-28 10:44 335次阅读
    AI、机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的区别及应用

    基准数据集(CORR2CAUSE)如何测试大语言模型(LLM)的纯因果推理能力

      因果推理是人类智力的标志之一。因果关系NLP领域近年来引起了人们的极大兴趣,但其主要依赖于从常识知识中发现因果关系。本研究提出了一个基准数据集(CORR2CAUSE)来测试大语言模
    的头像 发表于 06-20 15:39 1317次阅读
    基准数据集(CORR2CAUSE)如何测试大语言模型(LLM)的纯<b class='flag-5'>因果</b><b class='flag-5'>推理</b>能力