FaE:基于符号知识的适应性和可解释的神经记忆
原创作者 | 朱林
论文解读:
Facts as Experts: Adaptable and Interpretable Neural Memory over Symbolic Knowledge
论文作者:
Google Research
论文地址:
https://arxiv.org/abs/2007.00849
收录会议:
NAACL 2021
01 介绍
大规模语言模型,如BERT、Transformer等是现代自然语言建模的核心,其已被证明可以编码进大量的常识和事实(Fact)信息,是许多下游应用的基础。
然而,这些知识只存在于模型的潜在参数中,无法进行检查和解释。更糟糕的是,随着时间和外部环境的变化,从训练语料库中学习并记忆的事实信息可能会过时或出错。
为了解决这些问题,本文作者开发了一种神经语言模型Facts-as-Experts (FaE),其在神经网络语言模型和符号知识库(symbolic KB)之间建立了一个桥梁,将深度神经网络的表达能力优势和符号知识库的推理能力优势进行了有机结合。
实验表明,该模型在两个知识密集型问答任务中显著提高了性能。更有趣的是,该模型可以通过操纵其符号表示来更新模型而无需重新训练,且该模型允许添加新的事实并以早期模型不可能的方式覆盖现有的事实。
02 模型
符号定义
总体架构
Facts-as-Experts(FaE)模型建立在最新提出的专家实体语言模型Entities-as-Experts(EaE)上,EaE是一种可以直接从文本中学习与实体相关Memory的新模型,参数规模小于Transformer模型,但是性能优于Transformer架构。
FaE模型在EaE基础上包含一个称为Fact Memory的附加Memory,它从符号知识库中编码出三元组。每个三元组都是由组成它实体的EaE-learned嵌入组成的。这个Fact Memory用一个键值对表示,可以用来检索知识库中的信息。
如图1所示,虚线内的模型是EaE,右侧是Fact Memory。首先输入一段文本,使用[MASK]作为对Fact Memory的查询,使用Transformer层对其进行上下文编码。
然后,通过上下文查询得到事实的Key(如[Charles Darwin, born in]),以及该Key的Values(如{United Kingdom})。返回被合并回上下文中以进行最终预测。事实中的键值与EaE实体Memory共享。
通过这种组合产生了一个新的神经语言模型,该模型能有效结合符号知识图中的信息。
图1 Facts-as-Experts模型架构
附加和集成
03 实验
数据集
本文在两个开放域问答数据集上进行了评估:FreebaseQA和WebQuestionsSP,这两个数据集都是从Freebase创建的。Freebase是个类似Wikipedia的创作共享类网站,所有内容都由用户添加。
结果
表1 两个数据集上的评估
如表1所示,作者将FaE与三个基线模型进行比较:FOFE、EmQL和Entity-as-Expert(EaE)。
FOFE是一种前馈语言模型,旨在对长序列进行编码,并且是FreebaseQA数据集上之前最先进的模型。EmQL是作为知识库上的查询嵌入引入的,是WebQuestionsSP上之前最先进的模型。另外还有上文提到的EaE模型。
结果显示,FaE在FreebaseQA数据集上的准确率高于其他基线模型近10个百分点。在WebQuestionsSP完整数据集上FaE的性能相对较低,但这主要是由于Freebase和Wikidata之间的映射导致知识库不完整导致的。
04 讨论
数据重叠
本文模型主要关注对模型使用外部知识回答问题的能力,而不是学习识别语义相同的问题。
不幸的是,对这两个数据集的分析表明,许多测试答案也显示为某些训练集问题的答案:FreebaseQA测试数据中75.0%的答案和WebQuestionsSP中57.5%的答案都是这种情况。
这表明了一种可能性,即模型的某些高性能可能归因于简单地记住特定的问题/答案对。
为了解决这个问题,作者丢弃了重叠部分查询实验。当应用重叠过滤之后,模型的表现要差得多,并且它们被迫依赖于跨多个示例进行推理的能力,在FaE中指的是Fact Memory。
新事实注入
因为作者的模型只是象征性地定义了事实,原则上它可以注入Memory中新的事实,而无需重新训练模型的任何参数。
为了测试模型执行此任务的能力,作者比对了模型在给定完整知识、过滤知识和注入知识的情况下的结果,如表2所示。过滤知识和注入知识的方法差距证明模型能够很好地结合新引入的事实。
表2 注入新的事实的对比结果
更新陈旧Memory
作者希望模型能很好地对知识进行表示,并且这种知识表示可以通过随外界环境变化而增量更新来避免数据过时。
为了探究这种能力,作者模拟了这个场景的一个极端版本,其中FreebaseQA测试集中对问答对的所有答案都替换为合理的其他值。
05 结论
在本文中,作者提出了一种将神经网络语言模型与可解释的符号知识库相结合的新模型FaE。该模型在事实性问答任务方面表现出与高性能语言模型相当或更好的性能,且该模型可以通过仅修改非参数的Memory部分而无需任何额外训练来更改语言模型的输出,是值得深入研究的一个新方向。
06 思考
本文留给了我们一些启发与思考:
(1) 深度神经网络语言模型实验效果很好,但是依赖于超大的数据集和深度的不可解释的参数空间,是一个典型的黑盒模型,实际应用很难调节和解释。而目前越来越的新方法尝试与符号知识库等有推理能力和解释能力的模型进行结合,以提高可解释性。
(2) 结合符号逻辑或者可解释的严谨的数学模型,我们可以构造出仅仅需要改变外部结构就能泛化到别的应用场景能力,而不用每次都拿新的数据喂给模型重新训练参数,如果这个思路可行,在实际工程中就可以节省很多训练时间和存储空间,是个值得研究的方向。
(3) 目前不少问答数据集存在训练集和测试集重叠的问题,导致了实验结果的“虚高”,值得重新构造恰当的数据集进行实验和探讨,使结果更为严谨。
FaE:基于符号知识的适应性和可解释的神经记忆的更多相关文章
- 【论文小综】基于外部知识的VQA(视觉问答)
我们生活在一个多模态的世界中.视觉的捕捉与理解,知识的学习与感知,语言的交流与表达,诸多方面的信息促进着我们对于世界的认知.作为多模态领域的一个典型场景,VQA旨在结合视觉的信息来回答所提出的问题 ...
- Linux通配符与特殊符号知识大全汇总
符号 作用 Linux通配符 * 匹配任意(0个或多个)字符或字符串,包括空字符串 ? 匹配任意1个字符,有且只有一个字符 [abcd] 匹配abcd中任何一个字符,abcd也可是其他任意不连续字符 ...
- 关于调用约定(cdecl、fastcall、、thiscall) 的一点知识(用汇编来解释)good
函数调用规范 当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个.什么样的参数.即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者 ...
- CRM 2011 Plugin 知识的总结加代码解释
1.??的使用,就是判断值是否为null,为null的话,给赋初值,否则就直接取值. decimal new_amount = 0; if (targetEntity.Contains("字 ...
- 知识图谱顶会论文(ACL-2022) ACL-SimKGC:基于PLM的简单对比KGC
12.(2022.5.4)ACL-SimKGC:基于PLM的简单对比KGC 12.(2022.5.4)ACL-SimKGC:基于PLM的简单对比KGC 摘要 1.引言 2.相关工作 2.1 知识图补全 ...
- 简单构建基于RDF和SPARQL的KBQA(知识图谱问答系统)
本文主要通过python实例讲解基于RDF和SPARQL的KBQA系统的构建.该项目可在python2和python3上运行通过. 注:KBQA即是我们通常所说的基于知识图谱的问答系统.这里简单构建的 ...
- 基于机器学习的web异常检测
基于机器学习的web异常检测 Web防火墙是信息安全的第一道防线.随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战.传统web入侵检测技术通过维护规则集对入侵访问进行拦截.一 ...
- CS(计算机科学)知识体
附 录 A CS( 计算机科学)知识体 计算教程 2001 报告的这篇附录定义了计算机科学本科教学计划中可能讲授的知识领域.该分类方案的依据及其历史.结构和应用的其 ...
- 基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否
基于机器学习的web异常检测 from: https://jaq.alibaba.com/community/art/show?articleid=746 Web防火墙是信息安全的第一道防线.随着网络 ...
随机推荐
- CNN-卷积神经网络简单入门(1)
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习 ...
- js获取高度
转载请注明来源:https://www.cnblogs.com/hookjc/ <script> function getInfo() { var s = ""; s ...
- (全局npmrc)nrm、npmrc、package-lock.json 的优先级
npmrc 测试 nrm.npmrc 的优先级 实验 1. 没有设置 nrm. 默认设置 registry 为 https://registry.npmjs.org/ 下载的所有包都是通过以上域名获取 ...
- argc 和 argv
转载请注明来源:https://www.cnblogs.com/hookjc/ 如果用C寫一般的命令列工具,常透過main函式的argc,argv來取得使用者所輸入的命令參數.int main(int ...
- js判断变量是否为空字符串、null、undefined
let _isEmpty = (input) => { return input + '' === 'null' || input + '' === 'undefined' || input.t ...
- Docker的资源控制管理
Docker的资源控制管理 1.CPU控制 2.对内存使用进行限制 3.对磁盘I/O配额控制的限制 1.CPU控制: cgroups,是一个非常强大的linux内核工具,他不仅可以限制被namespa ...
- yum本地源仓库安装报错 被锁定如何解决?
yum安装报错被锁定如何解决 上图!!!!!如图的报错 解决方法: 是不是很简单 智商在地上摩擦~~~
- 浅谈Java正则表达式
正则表达式我们都知道,它定义了字符串的模式,可以用来搜索.编辑或处理文本.我们在某些特定场景中用起来是非常方便的.它等于是给我们划定了一个范围,让我们可以精准的匹配到我们想要的结果.比如我想判断一个几 ...
- Java中的多线程你只要看这一篇就够了(引用)
引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个 ...
- 基于单XCVU9P+双DSP C6678的双FMC接口 100G光纤传输加速计算卡
一.板卡概述 板卡包括一片Xilinx FPGA XCVU9P,两片 TI 多核DSP TMS320C6678及其控制管理芯片CFPGA.设计芯片满足工业级要求. FPGA VU9P 需要外接4路Q ...