编者按:问答(QA)工作是自然语言了解畛域中一个根本且重要的课题,目前通常会应用预训练语言模型以及图神经网络等办法对问答进行推理。GNN 模块在推理中到底施展了什么作用?这个问题须要科研人员做进一步深刻探索。为此,微软亚洲研究院和佐治亚理工的研究员们分析了最前沿的相干办法,并且发现一种极其简略、高效的图神经计数器就能在支流的常识问答数据集中获得更好的成果。
长期以来,问答(QA)问题都是人工智能和自然语言解决畛域中一个根本且重要的课题,层出不穷的钻研工作都试图赋予问答零碎具备人类程度的推理能力。然而,人类的推理过程是极为简单的,为了靠近这样简单的推理,目前最前沿的办法个别会应用预训练的语言模型(LM)来获取和利用其隐含的常识,再辅以精心设计的图神经网络(GNN)来对常识图谱进行推理。然而对于 GNN 模块在这些推理中到底施展了哪些性能,仍须要进一步深入研究。
为此,微软亚洲研究院和佐治亚理工的研究员们分析了最前沿的相干办法,并且发现 一种极其简略、高效的图神经计数器就能在支流的常识问答数据集中获得更好的成果 。同时,研究员们还揭示了 以后基于常识推理的 GNN 模块很有可能只是在实现简略的推理性能 如计数。(点击浏览原文,查看论文)
(论文链接:https://arxiv.org/abs/2110.03192)
常识的获取和推理是问答(QA)工作的外围,而这些常识被隐式编码于预训练语言模型(LM)或者显式存储在结构化的常识图谱(KG)里。以后的 LM 在预训练过程中都会应用大规模的语料库,其中蕴含极其丰富的常识,这就使得 LM 稍加微调(finetune)就能够在各种 QA 数据集上获得不错的体现。
然而,LM 更依赖于共现(co-occurrance),这在解决推理问题时顾此失彼,并不足可解释性。而与之互补的 KG 只管须要人工整理且规模受限,但它能够间接显示存储特定的信息和关系,从而具备可解释性。
如何在 QA 里将二者联合起来取长补短是近年来的热点话题,最前沿的工作大多采纳了两个步骤来解决常识图谱:
1. Schema graph grounding。在常识图谱里检索与 QA 文本提及的实体相关联的子图,这个子图蕴含带有概念文本的节点和代表关系的边以及邻接矩阵。
2. 图建模推理(Graph modeling for inference)。用设计精美的 GNN 模块对这个子图进行建模推理。
这里的 GNN 模块通常会设计得比较复杂,比方 KagNet 用了 GCN-LSTM-HPA 即基于门路的分层注意力机制(HPA)来耦合 GCN 与 LSTM,从而对基于门路的关系图进行表征;再如 QA-GNN 则在以 GAT 网络为主体的同时,用 LM 将 QA 文本编码到图中,成为一个独自的节点,从而与图中其它概念和关系进行联结推理。
随着 QA 零碎变得越来越简单,研究员们也不得不进一步思考一些根本问题:这些 GNN 模型是不够简单还是过于简单了?它们到底在推理中表演了哪些要害的角色?
为了答复这些问题,研究员们首先剖析了当初最先进的基于 GNN 的 QA 零碎及其推理能力。基于发现,研究员们设计了一种图计数网络。这个网络不光简略高效,而且在 CommonsenseQA 和 OpenBookQA 这两个基于推理的支流数据集上都达到了更优的成果。
(图 1:研究员们剖析发现以后 GNN 在 QA 中表演的要害角色是对边进行计数,于是便设计了一种高效且具备解释性的图计数模块来对 QA 进行推理。)
而为了剖析 QA 里最前沿的基于 GNN 对的零碎,研究员们则用 SparseVD 剪枝办法对 GNN 各个子单元先进行剪枝训练,而后,在不损失精度的前提下,对各层保留的稠密率进行统计,以判断各子模块的重要性及性能。如图 2 所示,通常检索失去的 KG 子图会被预处理成 Node Embedding, Edge Embedding 和邻接矩阵,相干分数等局部则作为 GNN 的输出。研究员们通过剖析发现,初始的 Node Embedding 和相干分数是不必要的,相干层的稠密率简直能够被剪枝到零,即这些相干层能够间接去掉。而 Edge Embedding 相干层更难被剪枝,可见其对以后场景下的推理十分重要。对于 GAT 里的 message passing 层,通过观察能够得悉,这些层的稠密率都比拟低,尤其是前几层的 query 和 key 层曾经接近于零,即这些层有过参数化的趋势,并且注意力机制简直进化为线性变换。
(图 2:研究员们用剪枝办法 SparseVD 作为工具对 QA 里的 GNN 各个模块进行剖析,发现边的信息相干层极为重要,而其它很多层存在过参数化的景象。)
基于剖析论断,研究员们设计了一个极其简略且高效的基于计数的 Graph Soft Counter(GSC)。如图 3 所示,相较于其余支流的 GNN 如 GAT,GSC 只有两个根本部件: 边编码器(Edge encoder)和图计数层(Graph Soft Counter Layer),并且节点和边上的隐层维度也缩小到 1,这意味着在途中流动的全是单个的数字,能够将它们解释为边和节点的重要性分数。亦如图 4 的算法一所示,GSC 极度简化 massage passing 的过程为最根本的两个操作即 propagation 和 aggregation,从而将这些重要性分数加总到 QA context 核心节点,并作为选项的分数进行输入。
(图 3:GSC 层交替更新边和节点上的计数分数)
(图 4:算法一:将边信息进行编码后,GSC 层执行 message passing 将分数汇总到核心节点即为图分)
值得一提的是,GSC 层外部是 齐全无参数 的,这也使得它十分高效。如表 1 所示,GSC 的可学习参数量 少于其它 GNN 模块的百分之一 ,并且因为没有应用初始的 Node Embedding,GSC 的模型存储大小更是小了 五个数量级。再如表 2 所示,GSC 在工夫和空间复杂度上也都极其高效。
(表 1:GSC 仅应用了邻接矩阵和边 / 节点类型信息,且参数极少)
(表 2:GSC 在工夫和空间复杂度上都极其高效)
除了简略高效,GSC 的体现也很突出。研究员们在 CommonsenseQA 和 OpenBookQA 这两个基于推理的支流数据集上进行了试验。论文中提出的基线既有未应用 KG 的 LM 自身,也有其它应用 GNN 来解决 KG 的其余前沿办法。如表 3~5 所示,GSC 办法在两个数据集上都占有优势,并且在OpenBookQA 官网排行榜上位居第一,甚至超过了 UnifiedQA(11B)这个领有 110 亿参数的巨无霸模型。
(表 3:GSC 在 CommonsenseQA 数据集上优于其它基于 GNN 的办法)
(表 4:GSC 在 OpenBookQA 数据集上优于其它基于 GNN 的办法)
(表 5:GSC 在 OpenBookQA 官网排行榜上排名第一,甚至超过了 UnifiedQA)
本篇论文的剖析和提出的办法,揭示了以后简单的基于 GNN 的 QA 零碎很可能只是在执行一些根底的推理性能比方计数这一景象。如何打造一个八面玲珑的 QA 零碎以达到人类的推理程度仍是一个丞待解决的巨大命题。
这里有更多微软官网学习材料和技术文档,扫码获取免费版!
内容将会不定期更新哦!