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

Transformer-XL: Unleashing the Potential of Attention Models

简介

现实远程依赖问题,比如要正确理解文章内容,有时需要阅读多处段落,这对人来说轻松自如。但是,对神经网络来说,远程依赖问题依然是一个挑战。虽然基于门控的RNN(LSTM,GRU等)和梯度裁剪等技术提高了对远程依赖建模的能力,但仍不足以解决问题。
其中一个解决方法就是使用TransformersTransformers允许数据单元直接连接,可以更好的捕获远距离的数据关系。但是,在语音模型中,Transformers一般使用固定长度context实现,即:把文本序列截断为几个固定长度的序列,然后分别单独处理。

clipboard.png

这存在两个问题:

  1. 无法计算超过固定长度的依赖关系。
  2. 序列截断后,造成段落边界破碎,从而造成低效优化,即使是短序列这也是严重问题。

为了解决这些问题,可以尝试使用Transformers-XL模型。Transformers-XL由两种技术构成:Segment-level RecurrenceRelative Positional Encodings。

Segment-level Recurrence

clipboard.png

在训练期间,当模型处理下一个新段落时,将前一个段落的计算表示固定并且缓存以作为重用扩展上下文。此附加连接将最大可能的将依赖性长度增加N倍,其中N是网络的深度,因为上下文信息现在能够跨越段落边界流动。此外,这种重复机制还解决了上下文碎片问题。

Relative Positional Encodings

clipboard.png

clipboard.png

在标准的Transformer中,序列顺序的信息,都是由一组位置编码提供,每一个位置都有绝对的位置信息。但将这个逻辑应用到重用机制中时,会导致性能损失。这个问题的解决思路是,对隐藏状态中的相对位置信息进行编码。从概念上讲,位置编码为模型提供了关于应如何收集信息的时间线索,即应该在哪里介入处理。以相对的方式定义时间线索,将相同的信息注入每层的注意分数,更加直观,也更通用。基于这个思路,可以创建一组相对位置编码,使得重用机制变得可行,也不会丢失任何的时间信息。将相对位置嵌入Transformer之中,并配合重用机制,就得到了Transformer-XL的架构。基于这些改进,Transformer-XL在相关的数据集上都取得了很好的成绩。论文中表示,这是第一个在字符级和单词级建模方面比RNN结果更好的自注意力模型。

总结

Transformer-XL 在几种不同的数据集(大 / 小,字符级别 / 单词级别等)均实现了最先进的语言建模结果。它结合了深度学习的两个重要概念——循环机制和注意力机制,允许模型学习长期依赖性,且可能可以扩展到需要该能力的其他深度学习领域,例如音频分析(如每秒 16k 样本的语音数据)等。

相关文章:

  • 免费小说阅读小程序
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • Dojo 表单校验
  • 扩展访问:Uber Lite App开发始末
  • 嵌入式开发教程,学习嵌入式怎么入门和提高?
  • 5G来之前,视频UGC选择产品解决方案?
  • nodejs处理高并发的原理机制
  • 关于List、List?、ListObject的区别
  • 如何合理的规划jvm性能调优
  • 异步
  • 这一次,彻底弄懂TCP三次握手,四次挥手
  • 线程的等待和唤醒
  • js中forEach回调同异步问题
  • 整行读字符串且需分割计算字符串个数
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CSS盒模型深入
  • eclipse(luna)创建web工程
  • iOS小技巧之UIImagePickerController实现头像选择
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • leetcode46 Permutation 排列组合
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring框架之我见(三)——IOC、AOP
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 基于Android乐音识别(2)
  • 聊聊redis的数据结构的应用
  • 深入浅出webpack学习(1)--核心概念
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • Mac 上flink的安装与启动
  • scrapy中间件源码分析及常用中间件大全
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​Java并发新构件之Exchanger
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (4)事件处理——(7)简单事件(Simple events)
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (九)信息融合方式简介
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)【Hibernate总结系列】使用举例
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • 、写入Shellcode到注册表上线
  • ./和../以及/和~之间的区别
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .net6 webapi log4net完整配置使用流程
  • .NET开发人员必知的八个网站
  • .net中调用windows performance记录性能信息
  • @media screen 针对不同移动设备
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [2016.7 day.5] T2