新闻是有分量的

缩水号怎么投注(2)

2019-05-01 10:34栏目:新闻

  1. 学习系统应该恢复一套已经解除的规则(即那些统一应用于对象而不是与特定对象绑定的规则),并泛化到比训练中积木数量更多的积木世界中。为了对此有一个直观的认识,此处向不熟悉积木世界的读者推荐数组排序任务(如 Vinyals et al., 2015),在这个任务中,循环神经网络无法泛化至比训练数组稍长的数组。
  2. 学习系统应该处理高阶关系数据和量词(quantifier),但这超出了常见图结构神经网络的范围。例如,为了应用关系 r 的传递律(即 r(a, c) ← ∃b r(a, b) ∧ r(b, c)),我们需要同时检查三个对象(a, b, c)。
  3. 学习系统应该扩展规则的复杂性。现有的逻辑驱动方法(如传统的 ILP 方法)计算复杂度为指数级,即需要学习的逻辑规则数量巨大。
  4. 学习系统应该基于最小的学习先验集恢复规则。相比之下,传统的 ILP 方法通常需要手工编码和针对特定任务的规则模板,来限制搜索空间大小。

为什么结合逻辑编程的学习方法能 Work

在这篇论文中,研究者提出了一种名为神经逻辑机(Neural Logic Machines,NLM)的算法,它可以解决上面学习方法解决不了的问题。简而言之,NLM 提供了一种神经符号(neural-symbolic)架构,它以一阶逻辑实现 Horn clauses (Horn, 1951)。NLM 的关键思想即神经网络可以高效地逼近逻辑运算,例如 AND 和 OR 等运算逻辑,且神经模块之间的连接可以实现逻辑量词。

论文:NEURAL LOGIC MACHINES

摘要:该研究提出了一种神经-符号架构——神经逻辑机(NLM),该架构可用于归纳学习和逻辑推理。NLM 利用神经网络(作为函数逼近器)和逻辑程序设计(作为符号处理器),处理具备不同属性、关系、逻辑联结词(logic connective)和量词的对象。在小规模任务(如对短数组排序)上进行训练后,NLM 可以恢复一些已经被取消的规则,并泛化至大规模任务中(比如对较长数组进行排序)。实验证明,NLM 可在大量任务中获取完美的泛化效果,包括对家族树和通用图进行关系推理的任务、决策任务(包括数组排序、寻找最短路径、积木世界)等。大多数任务对于神经网络或归纳逻辑程序设计自身是很难完成的。

神经逻辑机(NLM)

NLM 是逻辑机在封闭世界假定下的神经网络实现。给出一组基于 object(前提)的谓项,NLM 序列地应用一阶规则(first-order rule)得出结论,如某个 object 的属性。举例来说,在积木世界任务中,基于 object u 的前提 IsGround(u) 和 Clear(u),NLM 可以推断出 u 是否可移动。

NLM 内部使用张量表示逻辑谓项(logic predicates)。基于这种张量表征,规则可以通过神经算子实现,且规则能应用于前提张量并生成归结张量。这样的神经算子是概率性的,并能通过各种命令(即使用不同元数在谓项上进行操作)处理关系型数据。

下图 2 展示了 NLM 整体的多层、多组架构。NLM 的层级深度为 D(水平向),每一层有 B+1 个计算单元(垂直向)。这些单元会在谓项的张量表征上进行操作,且谓项的元数(arity)在 [0, B] 之间。NLM 将谓项(前提)的张量作为输入,并执行一层层的计算,且把输出张量作为归结。

图 2:神经逻辑机(NLM)的整体架构。在前向传播中,NLM 将 object 属性和关系作为输入,并执行序列的逻辑演绎,最后输出归结属性或 object 间的关系。

对于运算的具体内容,如下图 3 所示,如果层级 i 有的组为 2(二元谓项),那么模块从组内计算开始。它首先会收集垂直连续组(一元、二元和三元)的输出,该输出是从前一层 i-1 得到的,它们的张量形状见下图 3。