开发能够学习推理的模型是一个众所周知的具有挑战性的问题,在这个领域中,使用图神经网络(GNNs)似乎是一个自然的选择。然而,以往关于使用GNNs进行推理的工作表明,当这些模型面对需要比训练时更长推理链的测试样本时,它们往往会失败。这表明GNNs缺乏以系统化的方式从训练样本中泛化出推理规则的能力,这将根本性地限制它们的推理能力。
一个常见的解决方案是转而依赖神经符号方法,这些方法由于其设计,能够以系统化的方式进行推理。然而,这些方法的可扩展性通常受到限制,并且它们倾向于依赖过于强烈的假设,例如,假设通过检查单一关系路径就能回答问题。
本文重新审视了使用GNNs进行推理的想法,展示了只要提供正确的归纳偏差,系统泛化是可能的,基于此提出了一种新的 GNN 架构,将节点嵌入视为知识状态,并利用前向和反向模型来模拟所有可能的组合顺序,从而实现系统推理。
1 学习推理的现状
1.1 神经网络推理研究现状
- 基于前馈模型: 例如,知识图谱嵌入方法将实体和关系嵌入到低维空间,以便进行推理。
- 基于循环模型: 例如,循环神经网络 (RNN) 可以处理序列数据,并用于推理实体之间的关系。
- 基于 GNN: 例如,图卷积网络 (GCN) 可以有效地学习图结构中的节点表示,并用于推理实体之间的关系。
1.2 GNN 在推理任务中的局限性
- 缺乏系统泛化能力: GNN 模型通常只能处理训练数据中出现的推理链,难以泛化到训练数据以外的任务。
- 局部信息传递: GNN 模型通过局部信息传递来更新节点表示,这可能导致节点表示“过载”,即包含来自所有路径的信息。
- 顺序处理关系路径: GNN 模型只能顺序处理关系路径,难以处理需要组合多个关系路径的推理任务。
1.3 神经符号方法在推理方面的优势
- 关注关系路径: 神经符号方法通过考虑所有可能的关系路径来模拟推理过程,这为模型提供了有用的归纳偏差。
- 组合关系路径: 神经符号方法可以将多个关系路径组合成一个新的关系,从而更准确地预测实体之间的关系。
1.4 本文模型与 Edge Transformers 的相似之处
- 本文模型和 Edge Transformers 都利用 GNN 来学习实体之间的关系。
- 本文模型和 Edge Transformers 都关注关系路径的建模,但本文模型通过将节点嵌入视为知识状态来提供更强的归纳偏差。
- 本文模型和 Edge Transformers 都能够处理系统推理任务,但本文模型通过利用前向和反向模型来模拟所有可能的组合顺序,从而更有效地处理多个关系路径的组合。
2 GNN新架构
框架的概览
2.1 核心思想
- 推理涉及知识状态的操纵: 推理过程可以看作是迭代地细化实体之间可能关系集合的过程。
- 节点嵌入表示知识状态: 节点嵌入应该编码实体之间可能关系的概率分布,而不是简单的节点特征。
- 利用前向和反向模型: 利用前向和反向模型来模拟所有可能的组合顺序,从而更有效地处理多个关系路径的组合。
2.2 模型结构
2.2.1 前向模型
- 初始化: 将头实体的节点嵌入初始化为 (1, 0, …, 0),表示与自身相同的关系;其他实体的节点嵌入初始化为均匀分布,表示未知的关系。
- 更新: 使用消息传递机制来更新节点嵌入。消息传递函数将头实体与其他实体之间的可能关系编码为概率分布,并通过组合操作来更新节点嵌入。
- 组合函数: 使用二值组合函数将两个关系组合成一个新的关系,并假设关系之间可以由基本关系之一来描述。
- 聚合: 使用聚合函数来将来自不同路径的信息整合起来,例如使用最小池化操作。
2.2.2 反向模型
- 初始化: 将尾实体的节点嵌入初始化为 (1, 0, …, 0),表示与自身相同的关系;其他实体的节点嵌入初始化为均匀分布,表示未知的关系。
- 更新: 使用消息传递机制来更新节点嵌入。消息传递函数将其他实体与尾实体之间的可能关系编码为概率分布,并通过组合操作来更新节点嵌入。
- 组合函数: 使用二值组合函数将两个关系组合成一个新的关系,并假设关系之间可以由基本关系之一来描述。
- 聚合: 使用聚合函数来将来自不同路径的信息整合起来,例如使用最小池化操作。
2.2.3 前向-反向模型
- 组合: 将前向模型和反向模型的节点嵌入组合起来,以获得头实体与尾实体之间的最终关系表示。
- 聚合: 使用聚合函数来整合来自不同路径的信息,例如使用最小池化操作。
2.3 训练方法
- 使用边缘损失函数来训练模型,目标是最小化预测关系与真实关系之间的交叉熵损失。
- 为了提高模型的泛化能力,可以联合训练多个子模型,每个子模型关注不同方面的关系。
2.4 模型优势
- 系统泛化能力: 通过将节点嵌入视为知识状态,并利用前向和反向模型来模拟所有可能的组合顺序,模型能够有效地处理系统推理任务。
- 高效性: 模型设计简洁,计算成本较低,可以处理大规模图。
- 可解释性: 模型易于解释,因为节点嵌入可以直观地表示实体之间可能关系的概率分布。
3 实验
3.1 实验设置
3.1.1 数据集
- CLUTRR: 一个基于家庭关系的推理基准,包含不同长度的推理链。数据集包含一系列家庭关系的叙述,例如 “Bob 是 Alice 的父亲,Alice 是 Eve 的母亲”,并要求模型推断 Bob 是否是 Eve 的祖父。
- GraphLog: 一个基于逻辑规则的推理基准,包含不同规模的图和不同长度的推理链。
- RCC-8: 一个基于 RCC-8 计算的推理基准,要求模型组合多个关系路径来推理实体之间的关系。数据集包含一系列图,图中的节点代表区域,边代表 RCC-8 关系,例如 “a 是 b 的内部” 或 “a 和 b 相交”。
- Allen’s Interval Algebra: 一个基于时间间隔代数的推理基准,类似于 RCC-8。数据集包含一系列图,图中的节点代表时间间隔,边代表 Allen 区间代数关系,例如 “a 早于 b” 或 “a 与 b 相交”。
3.1.2 基线方法
神经符号方法在系统归纳方面表现出色,但效率较低,并且依赖于强假设。Transformer 变体和图神经网络则更加高效,但它们通常无法处理联合规则或需要从多个关系路径中聚合信息的情况。
3.1.2.1 神经符号方法
- 神经定理证明 (NTP): 这类方法模拟传统的逻辑程序反向推理过程,使用软统一机制来实现可微性,从而学习规则并应用这些规则进行推理。例如,CTP 和 GNTP 都是 NTP 的变体,它们使用不同的方法来加速反向推理过程。
- 神经组合规则学习 (NCRL): 这类方法通过学习隐式规则来学习关系路径的组合,并通过注意力机制来选择相邻关系进行组合。R5 也是类似的方法,但它使用蒙特卡洛树搜索来确定关系的组合顺序。
3.1.2.2 图神经网络
- 图卷积网络 (GCN): 这类方法使用局部消息传递来更新节点表示,并通过聚合来自相邻节点的信息来学习关系。
- 关系图卷积网络 (R-GCN): 这类方法是 GCN 的变体,使用关系特定的线性变换来计算消息,类似于我们的模型,但没有我们的归纳偏置。
- 图注意力网络 (GAT): 这类方法是 GCN 的变体,使用基于注意力的聚合机制来处理节点之间的依赖关系。
- 边缘图注意力网络 (E-GAT): 这类方法是 GAT 的变体,考虑了边类型,并使用 LSTM 模块来组合相邻节点的嵌入和边类型的嵌入。
- 神经贝尔曼-福特网络 (NBFNet): 这类方法学习特定头节点的节点嵌入,并捕捉与头节点之间的关系,类似于我们的模型,但没有我们的归纳偏置。
- 循环神经网络 (RNN)、长短期记忆网络 (LSTM) 和门控循环单元 (GRU): 这些方法使用循环结构来处理序列数据,并尝试通过采样路径和编码路径来推理关系。
3.1.2.3 Transformer
边缘转换器 (ET): 这类方法修改了 Transformer 模型,使用注意力机制来模拟关系组合。它们将节点嵌入解释为图的边表示,并通过组合相邻边的嵌入来更新节点表示。
3.1.3 评价指标
使用准确率来评估模型的性能。
3.2 实验结果
CLUTRR: 本文提出的 FB 模型在所有推理链长度上均优于 GNN 和 RNN 基线,与 ET 和神经符号方法 NCRL 和 R5 性能相当。
GraphLog: 本文提出的 FB 模型在大多数情况下优于 R5 和 NCRL,与 ET 和 GNN 基线性能相当。FB 模型在难度较大的图上表现更稳定。
RCC-8: 本文提出的 FB 模型在所有配置下均优于神经符号方法,与 ET 性能相当。FB-min 模型在所有配置下均取得了最佳性能。
Allen’s Interval Algebra: 本文提出的 FB 模型在所有配置下均优于神经符号方法,与 ET 性能相当。FB-min 模型在所有配置下均取得了最佳性能。
3.2.1 消融实验
- 子模型数量: 减少子模型数量会导致性能下降,说明每个子模型都捕获了关系的重要方面。
- 嵌入约束: 移除嵌入的非负约束会导致性能下降,说明嵌入需要编码概率分布。
- 组合函数: 使用 distmul 作为组合函数会导致性能下降,说明二值组合函数更适合表示关系组合。
- 前向-反向模型: 仅使用前向模型会导致性能下降,说明前向和反向模型都重要。