一、背景介绍

自从Tansformer结构提出以来,以BERT以代表的模型横扫NLP领域的各个任务。然而,Transformer中密集的注意力机制无法利用自然语言中的内在结构。这篇文章提出了一种新的Transfomer架构—Combiner模型,可以从自然语言中学习树状结构的注意力模式,从而增强了模型的可解释性。

二、方法介绍

传统的Transfomer中使用Self-attention机制对词向量进行了融合,获取了更多的上下文信息。例如:给定输入词向量为H,将词向量H 映射到三个空间Q,K,V,并通过如下公式1来计算注意力分值。

公式(1)

为了克服传统Transfomer中的密集输出,该文章提出了一种稀疏多层次的Transformer结构。它包含两个模块Sparse attention gate以及Hierarchical attention block。其中,Sparse attentiongate用来产生稀疏注意力,Hierarchical attentionblock使用类似Skip connection的方式来构建树状结构。

图1

Sparse attention gate的结构如图1(a)所示,它通过构建一个1D CNN网络来进行计算输入向量H 中的注意力分值,通过最大池化操作获得注意力分值较高的结果,并由此计算出当前输入向量H 中的阈值τM,具体过程如公式2所示:

公式(2)

并通过公式3来进行产生稀疏注意力:

公式 (3)

由此在输入向量H 中,产生了更加准确的注意力机制,例如“my cat sits down”,“my”与“cat”的注意力更为密切。

Hierarchical attention block的结构如图1(b)所示,它通过将高层次的特征与低层次的特征相加,从而获得了不同感受野的输入特征。

公式 (4)

其中,等号左边为公式3(sparse attentiongate)的输出。

整体来看,文章提出Combiner与标准Transformer结构类似,最大的区别在于使用稀疏的注意力完全替代掉密集的注意力。以Combiner的L层为例,它将上一层的输出,结合本层所产生的的Q,K,V进行了融合:

公式 (5)

之后,为当前层的所有节点转化为二进制进行表示。

公式(6)

L1范数起到了归一化的作用,再通过全连接层以及LayerNormalization。Combiner将上述过程堆叠多次。从输入向量开始,每个Combiner层都会学习稀疏注意力连接并将这种稀疏注意力与深层网络相加,从而使神经网络从数据中自动学习树状结构的注意力模式。

三、实验结果

文章进行了两个实验,首先对Search SessionUnderstanding领域中的两个子任务Masked Query Prediction和Generative QuerySuggestion进行了实验。实验使用美国市场搜索引擎数据进行,并与BERT 模型进行了比较。其中BERT BASE是一个标准的BERT 模型,是由《Bert: Pre-training of deep bidirectional transformers for language understanding》所提出的使用双向transformer训练的BERT 模型,BERTWINE和BERTHIER都是本文提出的模型,其中前者同样使用两种注意力机制,但是区别与本文的方法它所使用的是普通的密集注意力,这种方法与本文的稀疏注意力形成对比实验,以此来说明稀疏注意力的性能。BERT HIRE是由《Hierarchical transformers for multi-document summarization》所提出的一种多层次Transformer的方法。实验结果如下:

然后,文章在Penn Tree Bank(PTB)公开数据集上进行了无监督的实验,用来分析和评估Combiner模型学习到的树结构的质量。实验首先在Wikitext-103数据集上进行训练,之后使用PTB未标记的文本进行微调。文章与多个基线进行了对比,实验结果如下:

四、总结

本篇文章通过将稀疏注意力与层次模块相结合提升了Transfomer模型的归纳总结能力,使得Transformer模型可以利用自然语言中的结构化信息。与BERT模型相比,Combiner模型可以利用自然语言中的固有结构获得更好的预测精度,并且参数量更小。这种方法证明了深度学习在归纳学习中的潜力,是十分值得学习的方法。

树状结构搜索功能_ICLR 2020 高分论文!利用稀疏多层次Transformer结构获取语法树!...相关推荐

  1. 树状结构搜索功能_百度搜索算法全解析SEO课程笔记

    搜索算法全解析SEO课程笔记主要知识点 1.新站建立适当交换外链利于发现,也可以使用主动提交到百度站长平台发现网站. 2.首页内容要保持更新速度,持续优化,并且视觉感官上符合简单.明了.主题明确.无冗 ...

  2. 树状图栏目切换_AAAI 2020 | 中山大学HCP实验室:基于树状结构策略的渐进强化学习,代码已开源...

    作者 | 吴捷 编辑 | Camel 本文对中山大学.北京航空航天大学.DMAI合作完成,被AAAI2020录用的一篇关于多模态视频理解的论文<Tree-Structured Policy ba ...

  3. vue+element实现树状表格的增删改查;使用el-table树形数据与懒加载实现树状表格增删改查

    以下代码可以直接复制使用 一.情景: 列表是一个树状表格,可以无限添加下级,以及对列表的某一行进行增删改查(目前查没有写). 原博链接 二.本篇是在原博主的代码基础上添加了部分功能. 功能1: 给树状 ...

  4. ​兼具Swin和ViT的优势!可用于MAE预训练的超简单层次Transformer结构

    ©PaperWeekly 原创 · 作者 | Jason 研究方向 | 计算机视觉 摘要 最近,掩蔽图像建模(MIM)为视觉 Transformer 的自监督预训练提供了一种新的方法.高效实现的一个关 ...

  5. java代码编译时修改行为_GitHub - niuzhihua/AST_demo: 利用JavaParser框架在编译时修改语法树(源码)的 demo...

    本例子展示了如下功能: 1.删除方法中的 打印日志代码. 2.删除指定的 方法 和 成员变量. 3.检测方法中 是否有 new Thread 代码. 4.生成新的类和方法.并在运行时验证. 5.解析 ...

  6. 树状结构大数据类型的高效支持

    树状结构大数据类型的高效支持 陈世敏 中国科学院计算技术研究所,北京 100190 摘要:传统的关系数据模型难以满足大数据应用日益丰富的数据表达和处理的需求,因此实践中涌现了多种非传统的大数据类型.其 ...

  7. html树状图右侧_treeview-树形菜单js组件编写及应用

    简要介绍: 之前手头的一个项目需要去做一个左侧的树形菜单,右侧则是一个整体的iframe,从而构成一个整体的网站.一开始是打算用bootstrap的tree-view插件,直接把菜单的数据传过去就好了 ...

  8. Plotly.js使用详细介绍(折线图、饼状图、点图、水平条形图、桑基图、树状图、等值线图)

    目录 0 写在前面 1 HTML代码 2 折线图 2.1 基本折线图 2.2 复杂折线图 2.2.1 轨迹 2.2.2 布局 3 饼状图 3.1 基本饼状图 3.2 饼图子图 3.3 甜甜圈图 4 点 ...

  9. Dendro NH2-PEG-Dendro NH2,Dendro Amine-PEG-Dendro Amine,PEG超支化树状胺

    An English name:Dendro NH2-PEG-Dendro NH2,Dendro Amine-PEG-Dendro Amine Chinese name:聚乙二醇-超支化树状-胺 It ...

最新文章

  1. GitHub学习笔记
  2. 从三点解读,入行Java从业前景如何?
  3. 稍微有点难度的10道java面试题,你会几道?
  4. pythonos模块_Python3 入门教程——os模块使用(文件/目录操作)
  5. 计算机网络ppt_大学四年,我这样学操作系统和计算机网络,毕业后成为了别人眼中的大神(附书籍推荐)
  6. cannot set up a python sdk 3.8_anaconda+pycharm环境下创建新的虚拟环境报错Cannot set up a py...
  7. 学习Windows Mobile开发系列笔记(win32基本程序框架)
  8. [转]编程之美数组分割问题
  9. java多线程访问beans对象_java-多线程同时操作同一个对象之解决方法:读写锁ReadWriteLock的使用...
  10. 设计模式之——单例模式
  11. 如何通过代码设置WPF控件的字体,颜色
  12. PHP实现国密SM3算法
  13. 基于深度学习的SLAM综述:迈向空间机器智能时代
  14. 无线电监测软件java_大牛干货:软件无线电的设计和测试
  15. webdriver爬虫#document问题
  16. 分数加减法混合计算机,新苏教版小学五年级下册数学《5.2 分数加、减法混合运算》教案教学设计...
  17. Mac 直接在word 中使用latex编辑公式
  18. idea设置黑色经典样式Darcula
  19. 在线音乐播放项目——BY音乐
  20. java 九大行星运行_html5 canvas太阳系九大行星运行动态图代码

热门文章

  1. ECCV2018_Generalizing A Person Retrieval Model Hetero- and Homogeneously
  2. Linux 服务器 监控命令
  3. dubbo ---- 入门
  4. 收缩sqlserver事务日志
  5. T-SQL select语句连接两个表
  6. Delphi中线程类TThread实现多线程编程2---事件、临界区、Synchronize、WaitFor……
  7. centos6 下用yum 安装 nginx
  8. “PE文件格式”1.9版 完整译文
  9. C# WinForm 文件上传下载
  10. windows--bat--%0无限执行当前bat脚本