摘要
逻辑张量网络 (LTN) 是一种神经符号框架,它有效地将深度学习和逻辑推理结合在一起。特别是,LTN 允许定义一个逻辑知识库,并将其用作神经模型的目标。这使得通过逻辑推理进行学习成为可能,因为模型的参数通过最小化由一组表达学习任务事实的逻辑公式组成的损失函数来优化。该框架通过梯度下降优化进行学习。模糊逻辑是对经典逻辑的放松,允许在区间 [0,1] 中使用连续的真值,这使得这种学习成为可能。具体来说,LTN 的训练包括三个步骤。首先,(1) 训练数据用于对公式进行接地。然后,(2) 对公式进行评估,并计算损失函数。最后,(3) 梯度通过逻辑计算图反向传播,并改变神经模型的权重,以便最大程度地满足知识库。LTNtorch 是 Logic Tensor Networks 的完全文档化和测试的 PyTorch 实现。本文介绍了 LTN 的形式化以及 LTNtorch 如何实现它。此外,它还提供了一个基本的二元分类示例。