量化学习机器人:从Bengio演讲发散开来 探讨逻辑推理与机器学习
量化学习机器人:从Bengio演讲发散开来 探讨逻辑推理与机器学习这项工作涵盖了深度学习和逻辑推理的知识。目前,一些研究人员已经提出了许多「可微逻辑推理」系统,但大多数系统仍然需要预先手工参与确定的逻辑规则和真值基础,因此这些方法在某种程度上限制了它们以真正的端到端方式进行处理的能力。本文将强大而通用的逻辑处理器(如 MAXSAT 解算器)封装在一个可微框架内,该解算器可以应用在更大的深度学习框架内进行「隐式」逻辑推理。作者认为,SATNet 为整合符号推理和深度学习(人工智能的长期目标)迈出了一步。2.2.3 文章小结图 3 给出了一个输入示例。使用经典的深度神经网络体系架构无法解决这个问题,因为解决这个问题要求能在不将问题的逻辑结构硬编码为中间逻辑层的前提下组合多个神经网络层。本文的神经网络使用了一个连接到 SATNet layer 的卷积网络结构。具体来说,将一个用于数字分类的卷积层(使用 LeNet 架构)应用到数独输入的每个单元。然后,将该卷积
(12)
(13)
2.2.2 实验分析
在实验部分,作者证明了 SATNet 可以集成到深度神经网络架构中进行端到端的训练。作者选择了一个可视化数独问题进行实验:即,给定一个用 MNIST 数字构造的数独板的图像表示(而不是一个热编码或其他逻辑表示),深度神经网络必须输出与之相关联的数独问题的逻辑解。
图 3 给出了一个输入示例。使用经典的深度神经网络体系架构无法解决这个问题,因为解决这个问题要求能在不将问题的逻辑结构硬编码为中间逻辑层的前提下组合多个神经网络层。本文的神经网络使用了一个连接到 SATNet layer 的卷积网络结构。具体来说,将一个用于数字分类的卷积层(使用 LeNet 架构)应用到数独输入的每个单元。然后,将该卷积层的每个单元概率输出作为逻辑输入输入到 SATNet layer。这个 SATNet layer 采用与前面描述相同的架构和训练参数。整个模型经过端到端的训练以最小化交叉熵损失,并通过 Adam 进行优化,SATNet layer 的学习率为 2x10^(−3),卷积层的学习率为 10^(−5)。
作者将本文的方法与结合了两组卷积层的卷积神经网络进行了比较,表 1 给出了实验结果。将这些结果与 74.7% 的理论「最佳」测试精度结合起来,这解释了特定的卷积结构的数独数字分类准确率。假设板子上 81 个填充单元中平均有 36.2 个单元(如测试集中)和一个 MNIST 模型,测试准确率为 99.2%,期望一个完美的数独解算器输出正确解的时间为 74.7%。(=0.99236.2)。在 100 个周期中,本文模型在测试时能够正确求解出 63.2% 的棋盘,达到理论「最佳」的 85%。本文方法在端到端求解可视化数独板方面表现出很强的性能。另一方面,基线卷积网络在 100 个周期的过程中对训练损失的改善微乎其微。因此,本文的 SATNet 架构能够直接从图形输入中进行端到端的「游戏规则」学习,这种学习方式在以前的架构中是不可能的。
表 1. 9x 9 个数独实验的结果,将 SATNet 模型与一个普通的卷积神经网络(ConvNet)以及一个接收二进制掩码指示需要学习哪些位的网络(ConvNetMask)进行比较。
2.2.3 文章小结
这项工作涵盖了深度学习和逻辑推理的知识。目前,一些研究人员已经提出了许多「可微逻辑推理」系统,但大多数系统仍然需要预先手工参与确定的逻辑规则和真值基础,因此这些方法在某种程度上限制了它们以真正的端到端方式进行处理的能力。本文将强大而通用的逻辑处理器(如 MAXSAT 解算器)封装在一个可微框架内,该解算器可以应用在更大的深度学习框架内进行「隐式」逻辑推理。作者认为,SATNet 为整合符号推理和深度学习(人工智能的长期目标)迈出了一步。
3. 应用数据库介绍
3.1 LogiQA: A Challenge Dataset for Machine Reading Comprehension with Logical Reasoning [7]
本文是 IJCAI 2020 中的一篇录用文章,是由来自复旦大学和西湖大学的研究人员共同完成的,主要研究目的是构建一个用于测试逻辑推理能力的阅读理解数据库 LogiQA。与上一节介绍的模型方法不同,本文主要介绍的是应用于逻辑推理和机器学习任务的数据库的构建,以及结合具体的 NLP 任务介绍将逻辑推理和机器学习方法相结合的作用和意义。
机器阅读是测试自然语言理解能力的一项基本任务,它与人类认知有着密切的关系。机器阅读可以广泛应用于开放领域问答与信息检索等后续任务中。随着 NLP 深度学习的最新进展,阅读理解研究也有了长足的发展,从能够用简单事实来回答的问题发展到需要通过多跳推理来整合不同证据的问题,以及对于人类阅读理解都非常有难度的需要利用给定段落之外所涉及的常识来回答的问题。
逻辑推理是人类阅读理解和问答的一个重要方面,也是早期人工智能的主要研究课题之一,然而目前涉及逻辑推理的 NLP 数据库非常有限。图 1 给出了一个需要通过逻辑推理才能完成的阅读理解问题。P1 由一段事实和一个问题组成,这个问题要求被测者以事实为前提选择一个有效的结论。为了选出正确的候选者,机器需要理解前提和候选者的答案。正确的答案可以通过绝对推理找到。
图 1. LogiQA 示例,红色对勾表示正确答案。
随着深度学习技术的兴起,在简单的问答 QA(Question-Answer)任务中,算法模型展现出了良好的性能,此外,也提出了大量应用于机器阅读的数据库。在一个典型的 QA 任务设置中,将一篇文章和一个问题输入系统,任务要求是从候选答案列表中选择一个最合适的答案。P2 是一个更具挑战性的问题,段落中只提供了一个前提和结论,需要在缺少一个前提的情况下选择答案。问题涉及三类工人,包括 A 宿舍区工人、B 车间工人和纺织工人。被测试者可以通过绘制三组工人之间的逻辑关联来找到答案。
回答本文所构建的 LogiQA 所涉及的阅读理解问题需要同时具有自然语言理解(NLU)和逻辑推理能力。与简单事实的问答相比,LogiQA 中段落和候选答案之间的词汇重叠所起的作用相对较小。与常识性阅读理解相比,LogiQA 的问题不太依赖外部知识,而是需要逻辑推理来解答。LogiQA 包含 8678 个段落问题对,每个问题有四个候选答案。相关数据来源于公开提供的阅读理解逻辑试卷,这些试卷由领域专家设计,用于评估逻辑推理能力和测试参与者。问题的质量和主题覆盖是可靠的。作者从原始数据集中手动选择问题,过滤掉了涉及数字、图表或数学计算量较大的问题,并确保逻辑推理类型的广泛覆盖,包括范畴推理、条件推理、析取推理和连词推理等。
3.1.1 数据库介绍
本文作者通过收集中国国家公务员考试公开试题中的逻辑理解题来构建 LogiQA,这个考试的目的是测试公务员的批判性思维和问题解决能力。作者收集了官方网站上发布的原始数据,得到了 13918 个段落问题选择题。执行以下步骤来清理原始数据。首先,删除所有不符合问题设置格式的实例,即如果候选选项的数量不是 4,则删除该问题。其次,根据文本信息过滤掉所有包含图像或表格的段落和问题。还删除了所有包含关键字 「下划线」和「排序句子」的问题,因为对于典型的机器阅读器来说,很难重现下划线和句子编号顺序的场景。最后,作者删除了所有重复的段落问题对。最终的结果数据集包含 8678 个段落问题对。由于原始数据集是用中文编写的,因此作者还聘请了五名专业英语人士手动翻译数据集。为了保证翻译质量,又专门聘请了三名校对员。如果校对者认为翻译存在问题,则将翻译后的实例再次发送回翻译人员进行修订。作者同时发布了中文版的 LogiQA(中文 LogiQA),用于基于汉语推理的阅读理解研究。
范畴推理(Categorical reasoning):目的是推理一个特定的概念是否属于一个特定的范畴。这种推理通常与量词相关,如「all/everyone/any」、「no」和「some」等。
充分条件推理(Sufficient conditional reasoning):假设推理的类型是基于 「如果 P,那么 Q」形式的条件陈述,其中 P 是前因,Q 是后因。
析取推理(Disjunctive reasoning):在这种推理中,前提是析取的,形式是「要么。或者。」,只要一个前提成立,结论就成立。
合取推理(Conjunctive reasoning):在这类推理中,前提是连词,形式是「两个。还有。」,只有当所有前提成立时,结论才成立。
如下,表 1 总结了 LogiQA 的详细统计数据。
表 1. LogiQA 的统计数据
LogiQA 基准测试集由 867 个段落问题对组成。作者根据 Hurley 定义的逻辑推理的五种类型对实例进行人工分类[9],包括范畴推理、充分条件推理、必要条件推理、析取推理和合取推理。这些推理属于演绎推理,即给定一套前提条件,能够得出明确的结论。因此,这种推理方法最适合于定量评价性能。图 2 给出了 LogiQA 中推理类型的统计信息和代表性示例。