基于知识的神经符号结合的离散推理研究

2023-05-28 04:59:36

来源:DataFunTalk

导读


(资料图片)

本次分享题目为基于知识的神经&符号结合的离散推理研究。今天的分享主要是在知识图谱和逻辑推理的命题下,围绕神经和符号结合的推理,在问答领域的一些探索和研究。

主要内容包括以下几大部分:

1. 以轻量级算子为核心的文本离散推理

2. 基于知识的统一离散推理:程序生成

3. 基于大模型的零样本&少样本推理现状

4. 总结与展望

分享嘉宾|鲍军威 博士 京东科技 算法科学家

编辑整理|张琛 蚂蚁金服

出品社区|DataFun

01

以轻量级算子为核心的文本离散推理

该工作发表于 NAACL 2022(OPERA: Operation-Pivoted Discrete Reasoning over Text)。

1. 基于文本知识的离散推理型阅读理解

阅读理解是在给定一段文本以及相应问题的基础上,从中抽取或者计算出问题的答案。除了文本抽取之外,还包括数值计算、比较、排序等一些复杂逻辑推理问题。

2. 相关工作分类及特点

(1)Semantic Parsing-based model

在给定一段文本和问题之后,通过 Semantic Parser 解析成一段可执行的程序从而获得答案。该方法的可解释性比较强,但存在的问题也比较明显,非常依赖大量的逻辑表达式或者程序作为标注数据来训练监督模型。

(2)MOE-based model

在给定一段文本和问题之后,会通过 Encoder 进行编码后输入到 Reasoning Module 推理模块,再输入到不同的专家系统后给出相应的答案。该方法的性能表现会更优,但可解释性会弱一些,同时也缺乏直接做离散推理的模块。

3. 解法思路:算子设计

我们的问题可以抽象为:在给定文本 P 和问题 Q 的条件下,求解一个概率模型来得到答案。首先将问题概括为一组相关的算子,并且通过神经网络模块去模拟这种算子的执行。将这样一个端到端的模型拆分成两个部分,第一部分基于文本 P 和问题 Q 来预测所涉及到的算子,第二部分根据算子再进一步推理出答案。

4. OPERA 模型架构

OPERA 模型架构如图,它主要包含一个上下文的 Encoder、一个轻量级的算子推理模块以及 MOE 的预测模块,同时包含很多专家分类器。

算子模块主要包含以下三个部分:

(1)算子选择 Operation Selector:

(2)算子执行 Operation Executor:

(3)预测 Predictor:

在 DROP 数据集上的实验结果表明,该方法比之前方法有显著提升。

02

基于知识的统一离散推理:程序生成

在面对结构化或者是混合结构化的混合异构数据中做推理和理解,我们提出了基于知识的统一的离散推理来进行程序生成的方法,即 UniRPG-2: Unified Knowledge-Grounded Numerical Reasoning as Program Generation,该工作为发表于 EMNLP2022 上的 UniRPG 的进一步扩展。

1. 基于异构知识的离散推理型阅读理解

该框架是面向异构知识的语义解析推理方法,不仅能够处理例如 TAT-QA 数据这样 single-turn 的对话,也能够处理 PACIFIC 这样 multi-turn 这样的多轮问答。该体系架构的优势是可解释性更强,它能够生成一个逻辑表达式或者程序,通过对程序的执行来得到答案,从而实现逻辑推理。另一方面,对于异构知识的通用性更强。体系架构图如下:

2. UniRPG-V2 模型架构

模型架构如图,它可以处理纯文本、纯结构化的表格或者两者异构的数据。在 encoder 阶段,对于异构数据会先进行 structure-aware knowledge reader 做一个表征,拆分为 lower layers 和 higher layers,并做 mask 掩码操作,能够获取异构信息中同行或者同列的前后文信息。在 decoder 阶段,pointer 可以通过 attention 机制定位输入位置,同时通过 prediction vocab 模块去生成算子,从而生成一个可执行的 program。

3. 实验结果及可解释性分析

通过在 DROP、TAT-QA、PACIFIC 数据集上的测试,模型有良好的表现,同时具备很好的可解释性。如下图的热力图所示,纵坐标中的不同 token,实际对应了横坐标中输入文本的不同部分。

03

基于大模型的零样本&少样本推理现状

1. 大模型时代的语义解析

这里列举两个程序的生成和逻辑推理的具体案例。比如提问 chatGPT:将“现任美国总统的妻子是谁”这句话解析成 logic form,再比如提问:Python 版本的快排的实现。通过 ChatGPT 的反馈来看,现有的大模型可以很好的处理程序的生成和逻辑的推理。

2. 知识推理

在知识推理方面,小模型和大模型之间有明显的差异。基于 supervised learning 小模型通常需要外部语料库或者知识图谱进行检索,或者大量的人工标注才能进行训练。而大模型可以直接去掉检索器,仅依赖内部的知识,且无需精调。

3. 思维链推理:CoT

在原始的问答模型基础上,引入人工输入的推理步骤,可以使大模型先输出推理逻辑,再得出相应的答案。

4. 思维程序推理:PoT

在 CoT 的基础上,将思维链的自然描述语言转换为思维程序,能够在推理上表现得更好。

5. 提升推理能力的影响因素猜测

① 通过指令微调能够帮助大模型更好的理解自然语言,提升推理效果;

② 代码预训练能够帮助大模型学习人类处理问题的方法以及解决问题的过程,从而提升推理能力;

③ 大模型参数达到一定量级的时候,模型的推理能力会实现跃迁。

04

总结和展望

未来大模型可能发展的方向:

(1)目前大模型仍然存在不少的事实错误,怎样结合外部的知识图谱做 可信大模型 的研究,从而弥补事实性错误。

(2) 大模型推理的安全问题 :怎样在法律法规、道德规范的条件下去做基于人类规则知识的可控解码。

(3)大模型推理能力是如何获得的,可能需要结合生物学、神经科学等 交叉学科 进行探究推理能力的起源。

今天的分享就到这里,谢谢大家。

今日推荐

Stable Diffusion 提示词工程详解

⏰ 活动时间:6/27-28 9:00-17:00

☕️ 活动地点:上海·世博中心

点击链接报名观看:

关键词: