从Bengio演讲发散开来:探讨逻辑推理与机器学习

机器之心分析师网络
作者:仵冀颖
编辑:Joni
Bengio 认为 , 未来的深度神经网络应当能够实现 System2(逻辑分析系统) , 实现的是有意识的、有逻辑的、有规划的、可推理以及可以语言表达的系统 。 本文所讨论的 Logical Reasoning(逻辑推理)拟实现的就是 System2 中重点关注的有逻辑的(Logical)和可推理的(Reasoning)特点 。
近年来 , 深度神经网络的应用获得了巨大的成功 , 也推动了人工智能的飞速发展 。 然而 , 深度神经网络仍存在一些局限性 。 一般来说 , 深度神经网络如何进行学习、使用何种算法实现的智能、基于哪些理论分析得出的相关结论并不会在网络架构中有任何的显式或符号表示 。 也就是说 , 深度神经网络学习的算法隐式地存储在成千上万甚至是数百万的权重中 , 这些通常是人类智能体无法破译或验证的 。
Bengio 在 AAAI 2020 的演讲报告中提出 , 人的认知系统包含两个子系统:System1(直觉系统) , 实现的是快速、无意识、非语言的认知 , 这也是现有的深度神经网络所实现的 。 他认为 , 未来的深度神经网络应当能够实现 System2(逻辑分析系统) , 实现的是有意识的、有逻辑的、有规划的、可推理以及可以语言表达的系统 。 我们这篇文章中所讨论的 Logical Reasoning(逻辑推理)拟实现的就是 System2 中重点关注的有逻辑的(Logical)和可推理的(Reasoning)特点 。
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图
本图选自 Bengio 在 AAAI 2020 的演讲报告
逻辑推理是一个非常宽泛的概念 。 实际上 , 我们所熟悉的字符识别、语音识别、图像识别也可以看做是一种逻辑推理 , 这不过 , 这些逻辑推理是低层次的 , 已经能够使用传统的深度神经网络所解决 。 我们在这篇文章中所讨论的逻辑推理是更高层次的推理过程 , 即 , 即使是人来完成这个逻辑推理任务也是要进行一下思考的 。
1. 什么是逻辑?
1.1 逻辑的概念
首先 , 我们来回顾一下什么是逻辑以及什么是 AI/ML 中的逻辑 。 所谓逻辑 , 指的是符号化的、基于知识的、推理和其他类似的人工智能方法 。 基于逻辑的 AI 系统可以被认为是高级编程系统 , 可以很容易地以紧凑(compact)和可用的(usable)方式编码人类知识 。
最简单的逻辑系统是命题逻辑(有时称为零阶逻辑) 。 在命题逻辑中 , 使用一些被称为句子或公式的对象来编码信息 。 这些对象代表着对世界的一些陈述 。 通常 , 可以使用一些基本语句作为这样的对象 。 例如 , 使用「P , Q , R , S…」来表示基本语句 , P 可能代表「正在下雨」 , 是一个原子(Atom) 。
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图
可以继续将原子与逻辑连接词如「and , or , if then」等组合形成更多的句子 , 称为复合公式(Compound Formula) 。
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图
复合公式提供了一种有效的信息表示方法 。 那么 , 我们如何利用这些复合公式从已有的信息推断得到新的信息呢?一般可以通过推理(Reasoning)或推论(Inference)来做到这一点 。 命题逻辑配有一套称为推理方法的方案 。 推理方法可以被认为是一个小程序 , 它以一组句子作为输入 , 并输出一个或多个句子 。 推论方法也可以被认为是一个小程序 , 它也以一组句子作为输入 , 并输出一个或多个句子 。 下图展示了一种非常直接的推论方法 , 它接受表示「Q 和 R」的公式 , 并将公式 R 作为输出 。 例如 , 如果输入为「It is sunny, and It is warm」 , 则输出将为「It is sunny」 。
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图