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


即 , 诱因性解释 ? 是一种假设:根据背景知识 B 和约束 IC 来解释观察 O 是如何成立的 。 考虑到公式(1) , ABL 将关于最终概念的实例标签作为观测事实 , 并将假设模型 H=p∪?C 作为推导内容 。 给定一个固定的?C , ABL 可以根据 B 和 Y 推导出 p(x);当感知模型 p 确定后 , ALP 能够根据 B∪p(x)∪Y 推导出知识模型?C 。
ABL 的目标是学习与背景知识和训练实例相一致的假设 。 更具体地说 , ABL 试图在给定背景知识 B 的情况下 , 最大化外推假设 H 与训练数据 D 之间的一致性:
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图
关于 ABL 的优化过程本文不在详述 , 感兴趣的读者可以阅读作者原文 。
2.1.3 手写方程解译任务
为了验证所提出方法的有效性 , 作者设计了一个手写方程解译任务 , 如图 4 所示 , 并应用 ABL 进行求解 。 解译任务的方程由连续的字符图片组成 。 方程由符号图像(「0」、「1」、「+」和「=」)构成并用未知的运算规则生成 , 每个例子都有一个表示公式是否正确的标签 。 机器的任务是从一组带标签的方程组中学习 , 并期望训练后得到的模型能够正确地预测未知的方程组 。 因此 , 这项任务需要使用图 1 中所示出的感知和推理能力来完成 。
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图
图 4. 手写方程解译难题:机器应同时学习识别符号并找出未知运算规则(本例中为「xnor」)
图 5 给出了本文中 ABL 实现的架构 , 它使用卷积神经网络(CNN)作为感知机器学习模型 。 CNN 以图像像素作为输入 , 期望输出为图像中的符号 。 符号输出构成了伪标签 。 逻辑推理部分是用 Prolog 语言实现的一个诱因性逻辑程序 。 在训练之前 , 将以逻辑程序形式编写的领域知识作为背景知识 B 提供给 ALP 。 在作者的实现中 , B 只涉及方程的结构和位操作的递归定义 。 方程结构的背景知识是一组定句语法(Definite Clause Grammar , DCG)规则 , DCG 递归地定义一个数字是「0」和「1」的序列 , 每个方程共享 X+Y=Z 的结构 , 尽管 X、Y 和 Z 的长度可能不同 。 位操作的知识是一种递归的逻辑程序 , 它反向计算 X+Y , 即对 X 和 Y 从最后一位到第一位逐位运算 。
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图
图 5. ABL 结构
注:请注意 , 计算运算的具体规则在 B 中没有定义 , 即「0+0」、「0+1」和「1+1」的结果可以是「0」、「1」、「00」、「01」甚至「10」 。 缺失的计算规则形成知识模型 ?C , 这一部分是需要从数据中学习得到的 。
训练开始后 , CNN 将图像解释为伪标签「0」、「1」、「+」和「=」构造的符号方程 。 因为 CNN 没有经过训练 , 所以感知到的符号通常是错误的 。 在这种情况下 , ALP 不能根据领域知识导出任何与训练数据一致的 ?C 。 为了导出一致性的 ?C , ABL 学习了启发式函数δ来标记可能不正确的伪标签 。
当 CNN 收敛或算法满足迭代极限后 , 所有 < x_i , y_i > 被关系特征确定为二元特征向量 。 对于每个输入方程 x_i , 其伪标签将由所有的关系特征来评估以产生二进制向量 u_i= [u_i1,...,u_iT]:
从Bengio演讲发散开来:探讨逻辑推理与机器学习文章插图
原始数据集 D={}可以转换为新的数据集 D’={} , 从中可以学习一个决策模型来处理子抽样带来的噪声问题 。
2.1.4 实验分析
作者构造了两个符号的图像集来建立如图 6 所示的方程 。 数字二进制加法(Digital Binary Additive , DBA)方程是用基准手写字符数据集中的图像创建的 , 而随机符号二进制加法(Random Symbol Binary Additive , RBA)方程则是从 Omniglot 数据集中随机选择字符集构建的 , 并与 DBA 任务中的方程具有相同结构 。 为了评价实验中各种对比方法的感知泛化能力 , 用于训练方程和测试方程的生成图像是不相交的 。 每一个方程都作为数字和运算符的原始图像序列输入 。 训练和测试数据包含长度为 5 到 26 的方程 。 对于每个长度 , 它包含 300 个随机生成的方程 , 总共 6600 个训练样本 。