当前位置: 首页 > news >正文

Attention-over-Attention Neural Networks for RC

本文分享的文章是arxiv前天刚刚新鲜出炉的paper,来自哈工大讯飞联合实验室。前不久,他们构建了一个大型阅读理解语料,今天也发布出来了。

Cloze-style Reading Comprehension这个领域竞争太过激烈了,半年时间把benchmark刷了一遍又一遍,今天的这篇paper又一次刷新了记录。如果对这个领域不太熟悉的话,可以读这篇教机器学习阅读。

本文的模型被称作Attention over Attention(AoA),和之前的工作不同,不仅仅考虑query-to-document attention,而且考虑了document-to-query attention。模型架构示意图如下:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

Contextual Embedding 将query和document都embedding化,用Bi-GRU将query和document分别encode,将两个方向的hidden state拼接起来作为该词的state,此时document和query可以分别用一个Dxd和Qxd的矩阵来表示,这里D是document的词数,Q是query的词数,d是embedding的维度。

Pair-wise Matching Score

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAA

这一步是本质上就是对两个矩阵做矩阵乘法,得到所谓的Matching Score矩阵M,这里的M矩阵的维度是DxQ,矩阵中的每个元素表示对应document和query中的词之间的matching score。

Individual Attentions 对M矩阵中的每一列做softmax归一化,得到所谓的query-to-document attention,即给定一个query词,对document中每个词的attention,本文用下式进行表示:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

Attention-over-Attention 前三个步骤都是很多模型采用的通用做法,这一步是本文的亮点。首先,第三步是对M矩阵的每一列做了softmax归一化,这里对M矩阵的每一行做softmax归一化,即得到所谓的document-to-query attention,用下式来表示:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

然后,将document-to-query attention作平均得到最终的query-level attention,如下式:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

最后,用每个query-to-document attention和刚刚得到的query-level attention做点乘,得到document中每个词的score。

Final Predictions 将相同词的score合并,得到每个词的score,如下式:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

从而得到最终的答案。

实验部分用了英文语料CNN和CBT,在没用pre-trained embedding情况下,单模型得到了state-of-the-art结果。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

本文模型最大的特点就是不仅仅考虑query到document的attention,而且考虑了document到query的attention,即所谓的attention over attention,在Cloze-style阅读理解任务中取得了更好的结果。同时,作者在未来的工作中,准备将该模型拓展到其他任务中。

attention是一个非常好的机制,将很多任务的benchmark都提高到了很高的水平,是一个革命性的模型。围绕attention的变种做工作,提出各种各样的attention,虽然可以刷新各种任务,但终究不再能够将研究水平提升一个level,需要一个新的机制、新的思想来推动nlp的发展。


来源:paperweekly


原文链接

相关文章:

  • 安全研究人员发现可以利用推特控制僵尸网络
  • 表的约束
  • ComponentOne 2017 V2版本正式发布
  • Rancher Labs CEO梁胜:简化操作,让技术真正用起来
  • SaaS 系统架构设计经验总结
  • 再总结一下周金根老师的自我导向型学习方法
  • 《工业控制网络安全技术与实践》一一2.5 PLC设备的技术原理
  • 《深度学习:Java语言实现》一一第1章 深度学习概述
  • Greenplum在企业生产中的最佳实践(下)
  • freemarker积累
  • 微信小程序UI组件、开发框架、实用库
  • Charles抓包(iOS的http/https请求)
  • Python模块-pygal之条形图
  • Rancher如何对接Ceph-RBD块存储
  • 鹏博士前三季度营收66亿 同比增长15.24%
  • @jsonView过滤属性
  • [译] 怎样写一个基础的编译器
  • conda常用的命令
  • extract-text-webpack-plugin用法
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Leetcode 27 Remove Element
  • MySQL用户中的%到底包不包括localhost?
  • oldjun 检测网站的经验
  • vue-cli在webpack的配置文件探究
  • Vue学习第二天
  • 阿里云应用高可用服务公测发布
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端_面试
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端面试之CSS3新特性
  • 树莓派 - 使用须知
  • 提醒我喝水chrome插件开发指南
  • 微信小程序:实现悬浮返回和分享按钮
  • 微信小程序填坑清单
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​Linux·i2c驱动架构​
  • ​secrets --- 生成管理密码的安全随机数​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #WEB前端(HTML属性)
  • (02)vite环境变量配置
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Note)C++中的继承方式
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (六)c52学习之旅-独立按键
  • (十)c52学习之旅-定时器实验
  • (十三)Flask之特殊装饰器详解
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇