读文章笔记(二):模型结构优化前沿动态综述

公众号东大自然语言处理实验室文章链接: link.

  1. NLP领域神经网络结构的发展历程:
  2. 相关模型总结分析,NLP领域模型结构的整体趋势
  3. 神经网络模型结构优化的趋势主要有三点:

提升模型表示能力:

  1. 局部依赖建模:现有的自注意力机制更加关注前后单词,无法很好地捕获局部依赖,例如表示短语信息。
    针对这一问题,一类解决方法是引入卷积操作,通过CNN捕获局部特征,与自注意力的全局特征进行融合,如Convolutional Self-attention (Yang et al., NAACL 2019);或者是在自注意力层后直接堆叠卷积层,如Conformer (Gulati et al., arXiv 2020)

    另一类方法是设计多分支结构,在Transformer提出不久就有很多相关工作,例如Lite Transformer (Wu et al., ICLR 2020) 提出的通过卷积分支提取局部特征、自注意力分支提取全局特征;Evolved Transformer (So et al., ICML 2019) 通过自动结构搜索,得到了多两个注意力分支并行和两个卷积操作并行的分支结构。

  2. 长序列建模:能够提供更丰富的语义信息,对于长序列建模,传统的模型有很大的缺陷,例如自注意力复杂度随序列长度平方增长,其高显存占用的问题阻碍了模型的应用。传统做法将序列切分为较短的片段,这样就忽略了长距离的依赖。
    为此一些工作在Transformer中引入记忆机制,使用定长的向量表示变长的上下文信息,比较典型的有Transformer-XL (Yang et al., ACL 2019) 和Compressive Transformer (Rae et al., ICLR 2020)。

    也有一些工作聚焦在稀疏注意力机制的设计上,相较于自注意力计算序列中任意两个元素的关系,这些稀疏注意力模式只计算一些局部的信息,包括局部敏感注意力 (Reformer, Kitaev et al., ICLR 2020)、随机注意力 (Synthesizer, Tay et al., arXiv 2020)、窗口和全局结合的注意力等 (Longformer, Beltagy et al., arXiv 2020)。

  3. 位置和结构信息编码
    原始的自注意力机制难以捕获词序信息,为此许多工作针对其使用的绝对位置编码提出了改进。包括通过树结构编码相对位置 (SPR, Wang et al., EMNLP 2019)、通过连续动态系统和ODE学习编码位置 (FLOATER, Liu et al., ICML 2020) 以及将位置向量的连续函数扩展到复数域 (Complex embeddings, Wang et al., ICLR 2020)等。

    而对于结构信息,也有大量相关工作通过添加额外的编码模块来对其进行建模,例如Tree Transformer (Wang et al., EMNLP 2019) 使用额外的结构注意力操作捕获句法和语法信息。

  4. 深层网络建模问题
    早期的深层网络方面的工作包括Transparent Attention (Bapna et al., EMNLP 2018) 和Depth Growing (Wu et al., ACL 2019) 都成功地训练了较深的网络,需要注意的是Transformer中的一层网络:包含了注意力计算、前馈神经网络、残差连接和层正则化等多个模块。

    深层网络建模中有两大关键性因素:局部网络结构调整与合适的训练方式。首先介绍一些局部性的网络结构调整的工作,例如Transformer-DLCL (Wang et al., ACL 2019) 中提及的将层正则化位置调整到每一层网络的输入更有利于深层网络的梯度传播,能够有效地训练深层Transformer模型。此外,在此基础上提出的Transformer-DLCL模型能够动态地融合包括词嵌入层在内的中间层表示,进一步提高了信息的传递效率,取得了更好的翻译性能。
    在此基础上,多尺度协调网络 (Wei et al., ACL 2020) 使用分块机制并加入GRU连接来控制不同块的信息流通,成功训练了48层的Transformer模型。

    对于训练方式的工作探索也收获了很好的结果。例如由浅入深地训练深层网络 (Li et al., EMNLP 2020),核心思想是复用底层的网络参数。先训练浅层的网络,通过相应的拷贝策略来堆叠网络并继续训练。
    除此之外,也有一些工作通过改进参数初始化来训练深层网络,而不需要修改结构。典型的一些工作包括Depth-wise (Zhang et al., EMNLP 2019) 和Lipschitz Constrained (Xu et al., ACL 2020) 等。

提升模型运行效率:

  1. 层级结构剪枝
    典型的相关工作是样本自适应网络结构,包括FastBERT (Liu et al., ACL 2020)、Depth Adaptive Transformer (Elbayad et al., ICLR 2020) 和LayerDrop (Fan et al., ICLR 2020)等。这类网络结构在推断时能够根据输入自动选择模型的部分层进行计算,而跳过其余层,达到加速和减少参数量的目的。
  2. 低秩分解
    这类方法通过矩阵分解的方法提升计算效率,例如Adaptive Input Representations (Baevski et al., ICLR 2019) 提出词频自适应表示,词频越高则对应的词向量维度越大,反之越小,显著减少了词向量矩阵大小。
  3. 减少冗余计算
    例如Sharing Attention Weights (Xiao et al., IJCAI 2019)提出的基于相似度共享不同层的注意力输出,前文提到的针对长序列建模的一些工作也能够有效减少模型的计算复杂度。

CPU设备上深而窄的网络结构更加有效,而GPU设备上宽而浅的网络结构更合适。

读文章笔记(二):模型结构优化前沿动态综述相关推荐

  1. CCL |模型结构优化前沿动态综述

    文章发布于"东大自然语言处理实验室"(微信号:gh_c20f65ec11c1) 神经网络方法在自然语言处理相关任务中被广泛应用,新的模型结构和方法层出不穷.东北大学计算机学院自然语 ...

  2. 读文章笔记(三):从源码学习Transformer

    读文章笔记(三):从源码学习Transformer encoder分为两部分: decoder 公众号机器学习算法工程师 文章链接: https://mp.weixin.qq.com/s/0NajB_ ...

  3. 读文章笔记(十):多任务学习

    读文章笔记(十):多任务学习 多任务学习优点 多任务学习方法 hard parameter sharing soft parameter sharing 多任务学习改进的方向 注意事项 来源于公众号: ...

  4. 读文章笔记(十一):对比学习(Contrastive Learning)

    读文章笔记(十一):对比学习(Contrastive Learning) 对比学习 来源于:对比学习(Contrastive Learning):研究进展精要 对比学习 对比学习属于无监督或者自监督学 ...

  5. 读文章笔记(七):赛尔笔记 | 多模态情感分析简述

    读文章笔记(七):多模态情感分析简述 相关任务概览 数据集和方法 面向图文的情感分类任务 面向图文的方面级情感分类任务 赛尔笔记 | 多模态情感分析简述 https://zhuanlan.zhihu. ...

  6. 读文章笔记(八):多模态情感分析数据集整理

    读文章笔记(八):多模态情感分析数据集(Multimodal Dataset)整理 双模态(一般是文本.图像和语音的两两组合) 三模态(一般是文本.图像加语音) 作者:骑着白马的王子 地址:https ...

  7. 读文章笔记-自适应和加速GB生成算法

    读文章笔记-GBC 文章 背景 内容 定义1+现有GB生成过程 GBKNN 文章的GB生成算法 疑问与反思 文献脉络 文章 An Efficient and Adaptive Granular-Bal ...

  8. 读文章笔记(十三):多模态特征融合方法总结

    读文章笔记(十三):多模态特征融合方法总结 来源于:多模态特征融合方法总结 多模态特征融合的方法大体分为三种:前端融合.中间融合和后端融合.

  9. CCL2022自然语言处理国际前沿动态综述——开放域对话生成前沿综述

    开放域对话生成前沿综述 --CCL 2022 自然语言处理国际前沿动态综述 文章目录 总体概览 1 基础任务 1.1 对话多样性代表工作 1.2 对话安全性的代表性工作 2 知识融入 2.1 基于常识 ...

最新文章

  1. 自动化机器学习(二)自动构建机器学习流水线
  2. DELPHI下的SOCK编程(转)
  3. OpenCV人脸识别之一:数据收集和预处理
  4. 处理java多线程时线程安全问题 - ThreadLocal和Synchronized
  5. three 查看版本号
  6. SQL注入攻击及防御详解
  7. 使用VUE实现的数独游戏
  8. mysql中查看虚拟环境_进程、虚拟环境、mysql
  9. linux环境下,集群中Hadoop版本更换
  10. gitlab: [remote rejected] pre-receive hook declined
  11. 曾经爱过就是彼此的慈悲
  12. Pentaho RestAPI用户角色管理
  13. uni-app - 实现手机扫描二维码并跳转全过程
  14. ps cs6安装问题汇总
  15. poj 2632 Crashing Robots
  16. python练习-prat1
  17. NVDIMM原理与应用之四:NVDIMM的数据恢复、使用和监控
  18. 淘丞相将微博链接转为淘宝直达是怎么实现的?
  19. 来自北京大学NOIP金牌选手yxc的常用代码模板3——搜索与图论
  20. Django-rest-framework简介

热门文章

  1. 编程常用Mac快捷键
  2. 【编程入门】应用市场(安卓版)
  3. hp 服务器ipmi协议,HP DL380 G6 服务器IPMI Interface在Windows 2003 下怎么安驱动?_电脑_天涯问答_天涯社区...
  4. JavaWeb开发之ListenerFilter
  5. qchart 坐标轴设置_如何明确设置QChart坐标轴?
  6. jq 中英文切换_如何用js实现网站中英文切换?HTML中想把一段js语言转换为jq语言?...
  7. 知道了域名怎么查备案号
  8. 计算机专业需要什么知识基础,计算机专业都学什么
  9. python的dropna subset_Python - 熊猫 - 在dropna调用特定子集期间出现的关键错误
  10. 百度智能云 x 立思辰 | AI+大语文,让白居易现场教学成为可能