计算机科学>计算与语言
标题: 重新定义:通过动态知识编码进行推理
摘要: 最近对基于变换器的语言模型的研究表明,它们可以通过对作为上下文的一部分提供的知识进行推理来回答问题(即上下文内推理)。 然而,由于可用知识通常不会针对特定问题进行过滤,因此上下文推理可能对干扰事实敏感,干扰事实是与问题无关但可能与不同问题相关的附加内容(即,不一定是随机噪声)。 在这些情况下,模型无法区分回答问题所需的知识,从而导致虚假推理和性能下降。 这种推理失败与模型的明显能力形成对比,这种能力将其上下文知识与它在预培训期间记忆的所有知识区分开来。 根据这一观察结果,我们建议在向模型提出问题之前,通过将提供的上下文知识折叠到模型的参数中,让模型更加稳健地进行推理。 我们的方法RECKONING是一种双级学习算法,它通过反向传播更新语言模型的参数知识,让语言模型进行推理,然后使用更新的参数回答问题。 在训练期间,内部循环快速调整模型权重的副本,将上下文知识编码到其参数中。 在外循环中,模型学习使用更新的权重来重现和回答有关记忆知识的推理问题。 我们在两个多跳推理数据集上的实验表明,RECKONING的性能比上下文推理基线提高了(高达4.5%)。 我们还发现,与上下文推理相比,RECKONING更好地推广到训练中看不见的更长的推理链,对上下文中的干扰物更具鲁棒性,并且当被问及关于同一知识的多个问题时,计算效率更高。