©PaperWeekly 原创 · 作者|张琨
学校|中国科学技术大学博士生
研究方向|自然语言处理
Motivation
近两年,大家纷纷在提我们正在从感知智能向认知智能迈进,模型需要具备认知理解推理能力。研究人员也从这方面进行了深入研究。一个非常直观的方法就是借鉴人的认知行为方式,使用神经网络进行模拟,从而提升模型的效果,之前就有研究人员在Drr-net: Dynamic re-read network for sentence semantic matching [1] 文章中实现了人类的重读机制。
论文标题:
Bi-directional Cognitive Thinking Network for Machine Reading Comprehension
论文作者:
Wei Peng / Yue Hu / Luxi Xing / Yuqiang Xie / Jing Yu / Yajing Sun / Xiangpeng Wei
论文链接:
https://arxiv.org/abs/2010.10286
在本文中,作者同样是基于这个想法,借鉴人类的认知行为习惯进行机器阅读理解。因此本文需要解决的问题就是:借鉴哪些行为习惯,如何借鉴,如何与机器阅读理解模型进行融合。
Model
了解了本文的基本想法,那么在介绍本文提出的方法之前,首先介绍本文要借鉴的两个认知行为习惯:
2.1 认知行为习惯
1. inertial thinking,惯性思维:一种方便快捷的思维方法,根据之前的经验和想法去思考和解决问题;
2. reverse thinking,逆向思维:和惯性思维相反,利用和常规思路相反的形式去思考和解决问题。
将这两种思想应用到阅读理解任务中,以上图为例:如果是惯性思维的话,那就是根据问题选出答案,如果是逆向思维的话,就是根据答案和段落学习到需要关注的点是两个方面,包括 can pregnant women eat loquat 和what is the benefit to eat loquat for pregnant women 。
2.2 Bi-directional Cognitive Thinking Network
下图是整个模型的框架图,其中最主要的是这两部分 Backward Encoder 和 Forward Encoder。模型的训练过程也主要包含两阶段,Reverse Thinking Training :该阶段主要通过答案和段落推理问题是什么;Retraining with Inertial Thinking:在已有的逆向思维的结果上,通过重新分析给定段落和问题实现最终的答案的生成。
1. Reverse Thinking Training
该部分的主要过程可以由下图实现,作者通过一系列复杂的操作最终模拟了人的逆向思维。
首先是输入,将段落和答案拼接到一起得到作为一个输入,同时为了根据答案确定段落中的相关信息,将答案独自编码,得到语义表示向量,该过程可以表示为如下形式:
之后,模型要模拟人的逆向思维过程,用于挖掘 U 和 V 之间(答案和段落)的关联,因此这里使用了一个堆叠的模块,其中