ICLR2022 | GREASE LM: 图推理增强QA上的LM

Posted Luowaterbi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ICLR2022 | GREASE LM: 图推理增强QA上的LM相关的知识,希望对你有一定的参考价值。

本文是Christopher D. Manning和Jure Leskovec合作的一篇文章,NLPer和GNNer应该对这两个名字不陌生,一个讲了CS224N,一个讲了CS224W。

本文提出一种用图推理增强QA的LM的架构:GREASE LM。GREASE LM通过对LM和GNN进行多层次深度交互,有效捕捉导GNN的结构信息与LM的语义约束,从而提升了模型在QA任务上的性能,和处理复杂问题的能力。

研究背景

回答文本相关的问题需要从陈述的上下文(context)和它背后的知识(knowledge)来推理。

QA任务的基本范式是pre-trained LM。尽管在普通的benchmark上表现良好,但是当用于测试的example的分布与精调的数据集不相同时,模型的表现会变的挣扎。因为这种学习方式希望通过简单(偶尔是错误)的模式匹配直接走捷径获得答案,虽然能从LM中捕捉到context的情景约束和细微差别,但不能很好的表达概念之间的潜在关系。我们希望能用context提供的显性信息和内在的隐性知识来进行健壮的、结构化的推理。

Knowledge Graph(KG)由描述实体关系的三元组构成,被认为蕴含有大量的知识,在QA之类的推理任务上作用显著,因此用KG给LM扩充知识的结构化表示成为热门问题。然而,要将KG的推理优势扩展到一般的QA(问题和答案用自然语言表示,不容易转换成严格的逻辑查询),需要根据QA example提供的信息和约束找到KG中正确的知识集成。

早期LM+KG的工作通常将两种模态在浅层并且以非交互的方式融合,比如各自独立编码最后预测时再融合,或者用一个模态去加强另一个模态的输入。一般分为三种:

  1. 双塔结构,没有交互;
  2. KG支撑LM,比如用KG的编码来增强QA example的文本表示;
  3. 第三种是LM支撑KG,用文本表示(LM的最后一层)去增强从example提取的KG。

这三种结构信息流动最多有一个方向,这样两种模态信息交互的能力有限。如果想更好的模拟结构化的情景推理,需要实现双向的信息交互,让KG获得LM的细微语义约束,KG和LM进行深层次的融合。最近的一些工作探讨了这两种模态更深层次的集成。有的通过在结构化的KG数据上训练LM来将隐层知识编码进LM,然后用LM去生成针对QA的小KG。但是这样KG在转化成文本之后结构信息就丢掉了。QA-GNN用消息传递来联合更新LM和GNN,但是他们将LM池化作为整个架构的文本组件,限制了文本表示的更新能力。还有一些工作在预训练的时候将KG融入到LM中,但是模态的交互方向更多是将知识送到语言中。 Sun的工作与GREASE LM相似,但是它交互的bottleneck需要高精度的实体链接;并且LM和KG的参数共享限制了表达能力。

模型架构

符号定义:
MCQA(multiple choice question answering)的数据集包括上下文段落 c c c ,问题 q q q ,答案候选集 A A A ,都以文本的形式表示。本工作中,还假设有额外的知识图谱 G G G 提供背景知识。

给定QA example ( c , q , A ) (c,q,A) (c,q,A) 和KG G G G ,判断正确的答案 a ∈ A a \\in A aA

我们将自然语言中的token序列表示为 w 1 , … , w T \\w_1,\\dots,w_T \\ w1,,wT ,其中 T T T 表示token数量,token w t w_t wt l l l -th layer的表示为 h t ( l ) h_t^(l) ht(l) 。KG的点集表示为 e 1 , … , e J \\e_1,\\dots,e_J\\ e1,,eJ ,其中 J J J 表示节点的数量。节点 e j e_j ej l l l -th layer的表示为 e j ( l ) e_j^(l) ej(l)

输入表示
先将 c , q , a c,q,a c,q,a 和分离符并起来作为模型输入 [ c ; q ; a ] [c;q;a] [c;q;a] ,转换成token序列 w 1 , … , w T \\w_1,\\dots,w_T \\ w1,,wT ;然后用输入序列去检索(retrieval)出 G G G 的子图 G s u b G_sub Gsub , G s u b G_sub Gsub 提供跟QA example相关的知识. G s u b G_sub Gsub 的点集表示为 e 1 , … , e J \\e_1,\\dots,e_J\\ e1,,eJ .

KG Retrieval
首先根据文本中的实体从 G G G 中链接出一个初始点集 V l i n k e d V_linked Vlinked 。然后将 V l i n k e d V_linked Vlinked 中任意点对之间的2-hop路径(长度为2,也就是中间只有一个点,也就是桥点)的桥点加进去形成 V r e t r i e v e d V_retrieved Vretrieved 。然后再对 V r e t r i e v e d V_retrieved Vretrieved 里的点计算相关分数(relevance score) : 将node name并在QA example后面,通过LM得到node name的output score,作为relavance score。我们取 V r e t r i e v e d V_retrieved Vretrieved 中分数最高的200个点为 V s u b V_sub Vsub ,剩下的都扔掉。最后,将所有链接两个 V s u b V_sub Vsub 中的点的边加进去形成 G s u b G_sub Gsub 。另外, G s u b G_sub Gsub 里的每个点都做一个标记,标记这个点对应的实体是从哪里来的,来自上下文 c c c / 询问 q q q / 答案 a a a / 这些点的相邻节点。本文之后的KG都是表示 G s u b G_sub Gsub .


图1. GREASELM模型架构图

GREASE LM 整体架构有两个堆叠组件:

  1. 单模态的LM层*N:获得输入token的初始表示
  2. 交叉模态的GREASELM层*M:将LM层的文本表示与KG的图表示融合在一起

Language Pre-Encoding

w 1 , … , w T \\w_1,\\dots,w_T \\ w1,,wT 的token、段、位置嵌入求和作为 l = 0 l=0 l=0 时的表示 h i n t ( 0 ) , h 1 ( 0 ) , … , h T ( 0 ) \\h_int^(0),h_1^(0),\\dots,h_T^(0)\\ hint(0),h1(0),,hT(0) 。之后就用LM-layer运算出每一层的表示。LM-layer的参数初始为预训练的结果。

h i n t ( l ) , h 1 ( l ) , … , h T ( l ) = L M − l a y e r ( h i n t ( l − 1 ) , h 1 ( l − 1 ) , … , h T ( l − 1 ) ) f o r    l = 1 , … , N \\h_int^(l),h_1^(l),\\dots,h_T^(l)\\=LM-layer(\\h_int^(l-1),h_1^(l-1),\\dots,h_T^(l-1)\\) \\\\ for \\ \\ l=1,\\dots,N hint(l),h1(l),,hT(l)=LMlayer(hint(l1),h1(l1),,hT(l1))for  l=1,,N

GreaseLM layer

Interaction Bottlenecks:

首先定义用于交互的 interaction token w i n t w_int w以上是关于ICLR2022 | GREASE LM: 图推理增强QA上的LM的主要内容,如果未能解决你的问题,请参考以下文章

ICLR2022 | GREASE LM: 图推理增强QA上的LM

图神经网络基础

ICLR 2022最佳论文解读

ICLR 2022最佳论文解读

ICLR 2022最佳论文解读

ICLR 2022 评审出炉!来看看得分最高8均分的31篇论文是什么!