Relational inductive biases, deep learning, and graph networks的学习笔记

关于一个对Relational inductive biases, deep learning, and graph networks的个人理解

Abstract

AI现在已经开始发展到一个复兴的阶段,在图像,语言,控制,决策处理方面取得了重大的进步。这主要是因为廉价数据(cheap data)和廉价计算资源(cheap compute resources)。然而特别的是,对于定义人类从幼年发展人类智能的一个标志(超越人类经验的泛化能力),对于AI领域来说,还是一个巨大的挑战。

本篇论文主要的提出了 combinatorial generation(结构泛化) 必将成为AI领域中的一个重点。我们摒弃了偏向于 “hand-engineering”(手动工程)“end-to-end(端到端)” 中某一个的方法,而是取两者之长进行整合的方法。
我们探究了怎么运用 relational inductive biases(关系归纳偏置) 和深度学习架构去帮助我们学习和理解 entities(实体)relations(关系)rules(规则函数)

我们提出了一个新的building block(构成模块)—— the graph network,它能够进行很强的relational inductive biases(关系归纳偏置)
我们还将讨论graph network怎样去支持(relation inductive)关系推理和(combinatorial generation)结构泛化。

1 Introduction

前面部分主要介绍了人类智慧的能力就是“infinite use of finite means”,用有限的方法创造无限的可能。这也就是combinatorial generalization的核心思想,从一直的buiding blocks中去建立预测新的行为表达。

2 Relational reasoning

structure :就是一系列已知的building blocks的组成产物,如the graph networks。
Structured representations(结构化表达):捕捉了Structure的元素操作的信息(局部性)
Structured computations(结构化计算):对于structure整体的一个操作(整体性)
entity : 是一个具有属性的元素(比如物理实体具有质量的属性)
ralation : 是相同实体(entity) 间的关系,关系也具有属性,可以描述关系的内容(比如对于几个objective来说,关系可以是:如果objective的重量超过X值,我们就认为它是超重的)
rule : 是一个函数,表示一个实体和另外一个实体的映射关系 (比如实体X是否比实体Y更重?)

Inductive biases

Inductive biases(归纳偏置) : 在许多情况下,为了得到好的结果,通常会有很多效果差不多好的解决方法。Inductive biases 就是让算法更加倾向于某一种解决方法。这种方法可以让我们改善模型的复杂度,同时快速的找到合适的答案。如果我们没有很好的利用归纳偏置(错误的引导了答案的方向),那么我们可能会得到次一点的答案选择。
Inductive biases可能会作用于两个阶段 1.data-generating process 2.space of solutions
(比如,在data-generating process中,对于一个数据集采用一个一维函数处理之后,生成一个线性模型能够在有quadratic penalty干扰下最小化误差,说明这个一维函数让对data的处理产生了好的影响,之后如果Data中加入了噪声,就可以用这个线性函数让Data进行一个Inductive biases的过程)

创造性的新的机器学习架构在近些年内发展迅速,许多学者总是遵循一种将已有的building blocks去组成更加复杂,深层次的计算模型和图结构。 比如将MLPs组成全连接网络,将convolutional layers组成CNNs, 还有一些图像处理网络是由不同的CNN和MLP组成的。
而我们知道,building blocks本身就有inductive biases的行为,因此这些building blocks组成的 hierarchial processing同样有inductive biases的特点。

下面的表格是一些building block的总结
在这里插入图片描述
在进一步探索relational inductive biases之前,我们提出以下的问题:

  1. rule函数的参数怎么设定?(eg.输入哪些entities和relations)
  2. 在计算图中,rule函数怎么再使用或分享?(eg.在不同时间阶段或者处理阶段,或者在entity和relation)
  3. 模型结构怎样定义相互的关系和表达的独立性?(eg.通过使用rule函数去总结相关联的entity,还是去单独处理这些entity?)

2.1 Relational inductive biases instandard deep learning building blocks

2.2 Computations over sets and graphs

即使我们的深度学习工具包包含不同形式的relational inductive biases,却没有一个根本的方法能够操作在任意的关系结构上面。我们需要模型能够明确的表达实体和关系,也需要算法在计算它们反映的同时能够处理数据集。
Set : 结合是指一个系统中对于实体的自然表达,实体间的顺序是无关也没有定义的。
Invariance to ordering(排列不变性) :
example :

  1. 假设在一个有n个行星的太阳系中预测质量中心。每个星球都有一系列的属性(X1,X2,…Xn),每个星球的属性的顺序不确定。如果我们用MLP去解决这个问题,不同的顺序会有不同的预测过程,因此最坏的情况是是 n! 次计算 。
  2. 现在还是相同的场景,如果我们假设过了时间Δt之后预测每个行星的位置,单独的属性信息也许不能提供充足的信息,因为行星之间还有相互作用力的影响,于是我们用公式
    在这里插入图片描述
    i表示第i个行星,g表示第j个行星对第i个行星的影响,j的取值范围为(0-n),我们在计算过程中加上这个函数去解决Invariance to ordering 产生的问题(但实际上,这个公式改变了关系结构,因为g函数采用了两个参数)

以上的例子阐明了两种关系结构:
a. 没有关系的序列(invariance to ordering)
b. 由所有成对关系组成的序列

其实在现实世界中,上诉两种关系结构都是极端,大多数关系结构是介于两者之间,比如在图中,有一些节点间是没有关系的,有一些是有关系的
在图结构的计算中,能够表达出一种很强的relational inductive bias

3 Graph networks

3.1Background

图网络发展的简单介绍

3.2 Graph network (GN) block

首先我们由论文知道图的一些基本定义,图被表示为一个三元组 G=(u,V,E) ,具体定义如下图所示
在这里插入图片描述
而对于不同的数据集,我们可以用图的方法去表示它。比如物理系统,分子模型,图像,文本,如下图所示:
在这里插入图片描述
GN block : 一个 “graph-to-graph” 的模型,将图形作为一个输入,然后输出一个图形。GN block具有可定制性和可以合成新的结构去表达出强烈的relational inductive biases.

3.2.1 Definition of “graph”

三次更新,三次集合

  1. 更新所有的边
  2. 将每个节点连接的边集合
  3. 更新所有节点
  4. 将所有边集合
  5. 将所有节点集合
  6. 计算返回更新后的图
    具体算法如下:在这里插入图片描述
3.2.2 Internal structure of a GN block 在这里插入图片描述

其中右边的集合函数,输入的是一个Set(集合),然后输出一个元素,代表这个集合的特征,也可以添加一些参数进行计算。

3.2.3 Computationall steps within a GN block

为了更加清晰的理解,假设了一个场景,一个具有很多 有弹性小球的系统,更加生动的解释。
对于3.2.1中算法的详细解释:

  1. 首先更新函数,更新graph中的所有边,如下图所示,蓝色表示一次更新返回一个e’k(在弹力系统的例子中也就是两个相关的球的相互力量)
    在这里插入图片描述
  2. 然后运用集合函数,作业于边的集合,将某个节点连接的所有边集合,返回边的信息为ei(i为某个节点)。如下图实线所示 (在弹力系统的例子中也就是所有其他的球对第i个球的作用力的总和)
  3. 然后更新所有节点属性,下图蓝色的部分是节点的更新。(在例子中就是说对于每个球的速度位置等特征的更新)
    在这里插入图片描述
  4. 将所有的边集合到集合 E‘ 中,下图中实线的部分。(在例子中就是就是计算整个系统的合力)
    在这里插入图片描述
  5. 将所有的节点集合到集合V’中。(在例子中就是系统的总能量)
  6. 更新图的全局信息。
    (补充:更新的顺序是可以选择的,不是确定的)
3.2.4 Relational inductive biases in graph networks
  1. graph可以表达任意实体间的关系,这也就意味着GN的输入表示了元素间的关系和相互独立,而不是通过固定的体系结构所决定的。(这也就是说graph应该依照具体的情况去设计实体关系,比如有边就是节点有关系,没有边,就表示两个节点相互独立)
  2. 图关于entities和他们之间的relations是的表征是基于set的. 也就是说, 对于参数位置的交换是没有反应的. GN block对于参数的顺序不敏感, 这个就支持了对于很多对顺序不敏感的模型的支持。
  3. 所有边节点函数都可以重复使用。所以它是支持组合泛化(combinatorial generalization)所以一个GN可以用于不同形状尺寸的graph

4 Design principles for graph network architectures

下面针对深度模型的graph network设计,使得GN block成为一个可学习的图到图的函数预估器(graph-to-graph function approximator)

4.1 Flexible representations

graph networks在两方面高度的支持graph的灵活表达:

  1. 属性的表达
  2. graph结构的表达
4.1.1 Attributes

GN的global, node和edge属性的表示形式是任意的,根据具体的情况设计。其中 real-valued vectors 和 tensors 在深度学习中比较常用。

同样的,根据具体的问题,输出东西也是不同的。主要有3种:

  1. edge-focused GN
  2. node-focused GN
  3. graph-focused GN

也可以是上诉三种的混合输出

4.1.2 Graph structure

当我们决定如何将输入数据表示为图时,有两种方式:

  1. 将输入数据明确的表示出关系结构 (比如知识图谱,社交网络等)
  2. 不明显的表现出关系结构,关系结构被假设设定 (比如源代码,自然语库料等)
    在这种情况下,最简单的办法是给所有可能存在的关系赋值,但是当entity的数量太大的话,整个模型的计算量会变得很大。因此应该研究更复杂的办法从一个unstructured的数据结构中构造出sparse structure。

4.2 Configurable within-block structure

这一节讲述了通过定制 GN block 中的函数改变模型功能的案例. 体现了 GN 的灵活性

5 Discussion

5.3 Open questions

问题一:graph如何得到?
目前还没有找到最好的方法将数据转化为图。其中一个方法是假设图的结构是全连接的,然而这样的图和真实情况不太符合。因为现实情况可能是一个稀疏的图,所以我们怎么去产生这样稀疏的图是一个open questin。

问题二:在graph computation的过程中如何调整graph的结构?
比如一个object分解成多个块,相应的节点也应该分成了多个部分,也就是需要相应的节点操作;同样的,有时候我们也需要边的增减操作表示两个节点之间的关系

问题三:人类对这个世界的组成的认知总是基于假设的,而GN同样也是基于假设的,它们的行为都是趋于一种解释能力。因此未来一个很重要的研究方向是去进一步探究graph network的解释行为

5.4 Integrative approaches for learning and structure

列举了一些关于整合有用的深度学习方法的结构表达:
linguistic trees,partial tree traversals in a state-action graph,hierarchical action policies,capsules,programs

Conclusion

总结组合范化的优点

Reference

论文原文
https://blog.csdn.net/b224618/article/details/81380567
https://zhuanlan.zhihu.com/p/38861547

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值