开发能够学习推理的模型是一个众所周知的具有挑战性的问题,在这个领域中,使用图神经网络(GNNs)似乎是一个自然的选择。然而,以往关于使用GNNs进行推理的工作表明,当这些模型面对需要比训练时更长推理链的测试样本时,它们往往会失败。这表明GNNs缺乏以系统化的方式从训练样本中泛化出推理规则的能力,这将根本性地限制它们的推理能力。
一个常见的解决方案是转而依赖神经符号方法,这些方法由于其设计,能够以系统化的方式进行推理。然而,这些方法的可扩展性通常受到限制,并且它们倾向于依赖过于强烈的假设,例如,假设通过检查单一关系路径就能回答问题。
本文重新审视了使用GNNs进行推理的想法,展示了只要提供正确的归纳偏差,系统泛化是可能的,基于此提出了一种新的 GNN 架构,将节点嵌入视为知识状态,并利用前向和反向模型来模拟所有可能的组合顺序,从而实现系统推理。
1 学习推理的现状
1.1 神经网络推理研究现状
- 基于前馈模型: 例如,知识图谱嵌入方法将实体和关系嵌入到低维空间,以便进行推理。
- 基于循环模型: 例如,循环神经网络 (RNN) 可以处理序列数据,并用于推理实体之间的关系。
- 基于 GNN: 例如,图卷积网络 (GCN) 可以有效地学习图结构中的节点表示,并用于推理实体之间的关系。
1.2 GNN 在推理任务中的局限性
- 缺乏系统泛化能力: GNN 模型通常只能处理训练数据中出现的推理链,难以泛化到训练数据以外的任务。
- 局部信息传递: GNN 模型通过局部信息传递来更新节点表示,这可能导致节点表示“过载”,即包含来自所有路径的信息。
- 顺序处理关系路径: GNN 模型只能顺序处理关系路径,难以处理需要组合多个关系路径的推理任务。