当前位置: 首页 > 科技观察

不要一步步想!Google最新的自然语言推理算法LAMBADA:“逆链推理”就是答案

时间:2023-03-22 15:16:44 科技观察

自动推理绝对是自然语言处理领域的一大难题。模型需要根据给定的前提和知识得出有效和正确的结论。尽管近年来NLP领域通过大规模的预训练语言模型在阅读理解、问答等各种“自然语言理解”任务中取得了极高的性能,但这些模型在逻辑推理方面的表现仍然很差。滞后。去年5月,“思想链(CoT)”(ChainofThought,CoT)诞生。有研究人员发现,只需在提示中加入“Let'sthinkstepbystep”就可以大大提高GPT-3的推理性能。例如,在InMultiArith中,推理准确率从之前的17.7%提升到了78.7%。但是CoT、SelectionInference等方法从公理向前搜索证明过程(proof),得出最终结论(conclusion),存在搜索空间组合爆炸的问题,所以对于较长的推理链,故障率更高。最近,GoogleResearch开发了一种反向链(BackwardChaining)算法LAMBADA(LAnguageModelaugmentedBackwarDchAining),它应用了从经典推理文献中得出的“反向推理的效率显着高于正向推理”的结论。语言模型(LM)。论文链接:https://arxiv.org/abs/2212.13894LAMBADA将推理过程分解为四个子模块,每个子模块由few-shot提示语言模型推理实现。最终,与目前的SOTA正向推理方法相比,LAMBADA在两个逻辑推理数据集上都取得了显着的性能提升,尤其是当问题需要深度和准确的证明链时。LAMBADA的性能提升更为明显。“逆向推理”变成版本答案?逻辑推理,尤其是对非结构化自然文本的推理,是构建自动知识发现的基本组成部分,也是未来各个科学领域取得进步的关键。尽管许多NLP任务的发展受益于预训练语言模型规模的增加,但据观察,增加模型的规模对解决复杂推理问题的提升非常有限。在经典文献中,主要有两种逻辑推理方法:1.ForwardChaining(FC),即从事实和规则出发,在提出新的推理和将其加入理论之间迭代,直到目标陈述可以被证明或推翻;2.反向链接(BackwardChaining,BC),从目标出发,递归分解为子目标,直到子目标可以根据事实被证明或推翻。以往用语言模型进行推理的方法大多采用前向链推理的思想,需要从整个集合中选择事实和规则的子集,这对于LM来说可能比较困难,因为需要在很大的空间。执行组合搜索。此外,决定何时停止搜索并声明证明失败在FC中也非常困难,有时甚至需要在中间标签上训练的专用模块。事实上,经典的自动推理文献在很大程度上偏向于反向链推理或目标导向的证明策略。LAMBADALAMBADA意为“通过反向链技术增强的语言模型”。研究人员通过实验证明,BC更适合基于文本的演绎逻辑推理。BC不需要大量的组合搜索来选择子集,并且具有更自然的停止标准。LAMBADA主要关注关于事实的自动推理,即自然语言断言,例如“好人是红色的”,这些断言是连贯的,但不一定基于真实情况。规则是由自然语言语句写成的,可以形式化地改写为“ifPthenQ”,例如,“Rough,nicepeoplearered”可以改写为“Ifapersonisaroughniceperson,thenTheyarered”(如果一个人粗鲁而善良,那么他们就是红色的)。其中,P称为规则的前件,Q称为规则的后件。理论C由事实F={f1,f2,..,fn}和规则R={r1,r2,..,rm},G代表一个想要根据事实和规则来证明或反驳的目标。示例1.具有虚构人物和规则的理论示例CF={"Fionaisagoodperson","Fionaisaroughperson"}R={"Ifsomeoneissmart,thenheisagoodperson","Roughniceguyisred","和蔼可亲,红色意味着他圆圆的"}。基于上述理论,人们可能想要证明或反驳一个目标,例如“Fionaisred?”。反向链接推理规则是否适用于目标由称为合一的逻辑操作决定。例如,对于目标“Fiona是红色的吗?”在示例1中,第二条规则与目标具有相同的结果,因此适用;但其他两条规则有不同的后果,所以它们不适用。考虑到示例1中的理论和目标,BC从目标“Fionaisred?”开始推理。首先,BC验证目标是否可以从任何事实中得到证明或反驳。由于没有事实证明或反驳这个目标,我们接下来验证这个目标是否与任何规则的结果一致,发现它与第二条规则“Roughgoodguysarered”一致。因此,这个目标可以分解为两个子目标:1)Fiona粗糙吗?2)Fiona是个好人吗?.由于这两个子目标都是事实可证明的,BC得出的结论是原始目标是可证明的。对于一个目标,BC的结果是证明、否定或不知道(例如目标“Fionaissmart?”)。LAMBADA中的语言模型为了将BC用于基于文本的推理,研究人员引入了四个基于LM的模块:事实检查、规则选择、目标分解和符号一致性(签署协议)。事实核查给定一组事实F和理论中的目标G,事实核查模块验证是否存在事实f∈F使得f包含G(在这种情况下目标被证明)或f包含否定G的(在这种情况下,目标被否定)。如果找不到这样的事实,那么G的真实性仍然未知。事实核查的实现包括两个子模块:第一个子模块从事实集中选择一个与目标最相关的事实,第二个子模块根据这个事实验证目标是否可以被证明或反驳.由于事实选择子模块可能无法在第一次尝试时确定最佳事实,如果在调用子模块一轮后,目标的真实性仍然未知,则可以删除选择的事实并再次调用子模块;这个过程可以重复很多次。规则选择在理论上给出一组规则R和一个目标G,规则选择模块确定规则r∈R,使r的结果与G一致,然后利用这些规则将目标分解为子目标。如果无法确定这样的规则,则G的真实性仍然未知。规则选择同样由两个子模块组成:第一个子模块确定每个规则的结果(独立于目标),第二个子模块将规则的结果和目标作为输入,并确定哪个同意与目标。需要注意的是,由于BC的递归特性,在证明一个目标的过程中可能会多次调用规则选择模块。由于每条规则的识别结果与目标无关,因此该子模块只需调用一次。目标分解给定规则r和目标G,将r的结果与G统一,目标分解模块决定需要证明的子目标,从而对G进行证明或否定。在成功证明r的前件的情况下,目标是被证明还是被否定取决于目标的符号是否与r的结果的符号一致。例如,对于目标“Fionaisred?”,由于目标的符号与第二条规则结果的符号一致,并且规则的前一项得到证明,因此可以得出目标是证实。符号一致性给定规则r和目标G,符号一致性模块验证r的结果符号是否与目标的符号一致或不一致。在实验部分,研究人员选择了基于显式推理的sota神经推理方法ChainofThought(CoT)和sota模块推理方法SelectionInference(SI)作为baseline模型进行对比。实验数据集使用ProofWriter和ProOntoQA。这些数据集对LM推理具有挑战性,其中包含需要证明长达5跳的链长度的示例,以及目标既不能从提供的理论中证明也不能反驳的示例。实验结果表明,LAMBADA明显优于其他两个基线,尤其是在包含未知标签的ProofWriter-PUD数据集上(与深度5处的CoT相比提高44%,与SI相比提高56%),以及更高深度的PrOntoQA(37%与CoT相比的相对改进,以及113%与深度5处的SI相比的相对改进)。这些结果显示了LAMBADA在逻辑推理方面的优势,同时也说明了后向链(LAMBADA中推理的主干)可能比前向链(SI中的主干)更好的选择。这些结果还揭示了CoT方法在处理UNKNOWN标签时的一个缺陷:与标记为PROVED或DISPROVED的示例不同,对于标记为UNKNOWN的示例没有自然的思维链。对于更深层次的(3+)证明链问题,SI在所有三个数据集上生成的预测都接近多数类预测。可以发现它倾向于在二元分类情况下过度预测DISPROVED,在三分类情况下过度预测UNKNOWN,这使得它在深度5中的表现甚至比PrOntoQA的多数类表现更差,因为深度上的PROVED标签比DISPROVED多.不过,研究人员也惊奇地发现,CoT在ProofWriterPD数据集上的表现还是比较高的,而且准确率并没有降低。总之,在这些数据集上,LAMBADA实现了更高的推理准确性,比其他使用错误证明跟踪找到正确结论的技术更有可能产生有效的推理链,并且也比其他基于LM的模块更高效。化学推理方法的查询效率更高。根据研究人员的说法,实验结果强烈表明,未来关于LM推理的工作应该包括反向链接或目标导向策略。参考资料:https://arxiv.org/abs/2212.13894