DeFINE:用于神经序列建模的深度分解输入令牌嵌入

news2024/11/24 14:21:49

一、说明

DeFINE,是华盛顿大学和艾伦人工智能开发的自然语言处理工具,可以处理的范围是:NLP、语言模型、LM、神经机器翻译、NMT、变压器、变压器-XL等;本文对token-bedding进行生成。

        借助DeFINETransformer-XL可以在低n维空间而不是高m维空间中学习输入(嵌入)和输出(分类)表示,从而显着减少参数,同时对性能的影响最小。

        DeFINE:用于神经序列建模的深度分解输入令牌嵌入

  • 提出了一种具有新型跳跃连接的分层结构,允许使用低维输入和输出层减少总参数和训练时间,同时提供与现有方法相似或更好的性能。
  • DeFINE可以很容易地整合到新的或现有的序列模型中。

二、分层组转换(HGT)

        使用N = 3的不同转换层学习令牌表示。(a) 线性变换 (b) 组线性变换 (GLT) (c) HGT

2.1. 动机和整体想法

  • 大多数NLP研究使用浅层网络来学习令牌嵌入的良好近似。
  • DeFINE,一种在高维空间中学习深度令牌表示的有效方法,只需最少的附加参数。
  • 该方法基于Map-Expand-Reduce(MER)原理,首先将输入令牌映射到低维嵌入向量,然后使用计算高效的分层组变换(HGT)将其转换为高维空间
  • 然后将生成的向量转换为低维空间。
  • 通过使用在输入层和输出层之间建立直接链接的新连接模式,促进要素重用改进梯度流。

2.2. 映射-扩展-缩减 (MER)

  • MER的第一步,Map,类似于标准序列模型。 词汇表V中的每个输入标记都映射到大小为n×1的固定维度向量ei然而,在本文中,n的值很小(比如64或128,而典型的尺寸为400或更大)。
  • 下一步 Expand,将 ei 作为输入应用分层群变换 (HGT) 来生成大小为 k×1 的非常高维向量 ^ei,其中 k>>n
  • 最后一步Reduce将向量^ei投影到较低维空间,以生成给定输入令牌大小m×1的最终嵌入向量eo
  • eo的尺寸可以与上下文表示模型(例如LSTM或变压器)相匹配,从而使DeFINE可以作为这些模型的输入层。

2.3. 分层组转换 (HGT)

  • HGT由N层的堆栈组成。
  • HGT 从第一层的 gmax 组开始然后在每个级别将组数减少 2 倍。
  • 群线性变换(GLT)最初是为了提高LSTM的效率而引入的,也稀疏了全连接层中的连接,如上所示。然而,某个组的输出仅来自输入的一小部分,因此学习弱表示
  • 形式上,在 HGT 中,第 l 层从 ei 到 ^ei 的转换为:

  • 哪里:

  • Wl 是在第 l 层学习的权重FG 群变换函数
  • 组变换将输入拆分为 g 组,每个组都使用线性变换独立处理。然后将这些组的输出连接起来以产生最终输出

.  DeFINE的单元

        N = 2 的 DeFINE 单元,它使用 HGT 有效地学习输入令牌表示,并与输入直接连接以最大化信息流。

  • DeFINE单元由HGT变换组成。
  • 使用一个简单的新跳过连接,在 HGT 中的任何层与输入 ei 之间建立直接链接,如上所述。
  • 输入和输出使用拆分层块到 gl 组中。然后混合分块的输入和输出向量

此机制可有效地促进输入要素重用。此外,它还与输入 ei 建立直接链接,允许梯度通过多条路径回流到输入,从而提高性能。

  • 输入令牌和 DeFINE 单元 (eo) 输出之间的映射可以使用查找表进行缓存,从而产生一种允许在推理时跳过 DeFINE 单元计算的机制。

堆叠转换层 FG(第 A.1 节)的不同方法,用于学习深度令牌表示。

  • 此图总结了具有不同设置的不同体系结构

四、 结果

4.1. LSTM 模型

基于RNN的语言模型在WT-103和PTB数据集上的性能。

  • (a):所提出的方法进一步提高了约3分的性能,同时只学习了1.25%(或0万个)的参数

(b):DeFINE的深度从3层缩放到11层。性能进一步提高了 6 个百分点,为具有更少参数的现有基于 RNN 的方法提供了有竞争力的性能(例如,参数是 Merity 等人 (1a) 的 3/2018)。

  • (c):所提出的方法将AWD-LSTM的性能提高了4个百分点,同时减少了4万个参数。

4.2. 变压器模型

Transformer-XL在Wikitext-103数据集上的性能。DeFINE 用于 N = 3、k = 4096 和 m = 384。

  • 所提出的方法能够获得与Dai等人(2019)相似的性能,同时学习的参数减少了10M

带有DeFINE的变压器XL能够实现与具有投影嵌入的标准变压器-XL相当的困惑度,同时使用的参数明显更少。

4.3. 机器翻译

基于变压器的模型(有和没有DeFINE)在神经机器翻译任务上的结果

不同因子分解方法的不同序列模型的性能比较。 对于语言建模,性能是通过困惑来衡量的;对于机器翻译,使用 BLEU。

  • OpenNMT用于变压器模型训练。

DeFINE将无检查点平均值的变压器模型的性能提高了2%,同时将参数总数减少了26%,这表明DeFINE是有效的。

4.4. 进一步分析和消融

Transformer-XL中使用的不同嵌入层的相关图(m×m),在WikiText-128上n = 384和m = 103。

DeFINE能够有效地近似标准嵌入矩阵

Transformer-XL使用 不同分解方法的性能,有和没有Shu&Nakayama(2017)的压缩方法。

DeFINE 嵌入可以像标准嵌入一样压缩,而不会损失性能。

WikiText-103数据集上不同变换之间的比较。

左:HGT将困惑度提高了约5分,同时学习了与GLT相似数量的参数。

:此外,当使用直接连接时,性能进一步提高了 2.9 点。

缩放深度和宽度对WT-103的影响。

对于相同的 k 值,语言模型的性能随着深度 N 的增加而提高。但是,当我们缩放深度 N 的固定值的宽度 k 时,性能并没有提高。

WT-103上的不同设置:(a)不同跳跃连接的影响。(b) 减少市面汇率作业的影响

左图:提议的跳过连接更有效。

右:有和没有这个归约步骤的性能相似的,但是,没有归约步骤的模型会学习更多的参数

        作者认为,ELMo和BERT等预训练语言模型架构可以从整合DeFINE中受益,以提高效率和性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/904573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RHCE——三、远程连接服务器

远程连接服务器 一、远程连接服务器1、概念2、功能3、分类文字接口图形接口 二、文字接口连接服务器:三、连接加密技术简介密钥解析 四、SSH工作过程1、版本协商阶段2、密钥和算法协商阶段3、认证阶段(两种认证方法) 五、SSH服务配置1、安装ssh2、配置文件分析 六、ssh实验1、实…

Linux系统简介

文章目录 1. UNIX与Linux发展史1.1 UNIX发展史1.2 Linux发展史1.2.1 Linux内核版本1.2.2 Linux主要发行版本 2. 开源软件简介2.1 典型的开源软件2.2 开源软件的特点2.3 支撑互联网的开源技术 3. Linux应用领域3.1 基于Linux的企业服务器3.2 嵌入式应用3.3 Linux在电影娱乐业 4.…

在线SHA1加密工具--在线获取哈希值又称摘要

具体请前往: 在线计算Sha1摘要工具

使用open cv进行角度测量

使用open cv进行角度测量 用了一点初中数学的知识,准确度,跟鼠标点的准不准有关系,话不多说直接上代码 import cv2 import mathpath "test.jpg" img cv2.imread(path) pointsList []def mousePoint(event, x, y, flags, param…

Python批量爬虫下载PDF文件代码实现

本文的背景是:大学关系很好的老师问我能不能把Excel中1000个超链接网址对应的pdf文档下载下来。虽然可以手动一个一个点击下载,但是这样太费人力和时间了。我想起了之前的爬虫经验,给老师分析了一下可行性,就动手实践了。    没…

第一讲:BeanFactory和ApplicationContext接口

BeanFactory和ApplicationContext接口 1. 什么是BeanFactory?2. BeanFactory能做什么?3.ApplicationContext对比BeanFactory的额外功能?3.1 MessageSource3.2 ResourcePatternResolver3.3 EnvironmentCapable3.4 ApplicationEventPublisher 4.总结 1. 什么是BeanF…

docker的资源控制及数据管理

docker的资源控制及docker数据管理 一.docker的资源控制 1.CPU 资源控制 1.1 资源控制工具 cgroups,是一个非常强大的linux内核工具,他不仅可以限制被 namespace 隔离起来的资源, 还可以为资源设置权重、计算使用量、操控进程启停等等。 …

面试汇总-testcase

朋友圈点赞的测试用例 功能测试 1点赞后是否显示结果 2.点赞后是否可以取消; 3.点赞取消后是否可以重复点赞; 4.共同好友点赞后,是否有消息提醒; 5.非共同好友点赞后,是否有消息提醒; 6.点击点赞人昵称,是否可以跳转到他/她的主页; 7.自己能…

对象头的结构

一、对象头的结构(32位虚拟机) 1、普通对象 普通对象头占用64 bits ,其中Mark word占32 bits ,Klass Words 占32bits。Klass Words 可以理解为指针,指向类对象。Mark Word下面会详解。 2、数组对象 数组对象增加了4个字节的空间,…

百度许少辉著Baidu《乡村振兴战略下传统村落文化旅游设计》图书馆新书通报

百度许少辉著Baidu《乡村振兴战略下传统村落文化旅游设计》图书馆新书通报

【C语言学习】二维数组

二维数组 int[3][5];//通常理解为a是一个3行5列的矩阵二维数组的遍历 for(i0; i<3; i){for(j0; j<5; j){a[i][j] i*j;} }

删除链表中的节点(力扣)

目录 题目&#xff1a; 看着花里胡哨&#xff0c;小卡拉米四行代码秒杀&#xff01; 示例&#xff1a; 思路&#xff1a; 代码&#xff1a; 题目&#xff1a; 看着花里胡哨&#xff0c;小卡拉米四行代码秒杀&#xff01; 示例&#xff1a; 思路&#xff1a; 把后一个节点的…

多线程实现与管理

进程与线程 进程 &#xff1a; 进程是操作系统进行资源分配的最小单位&#xff0c;每执行一个程序、一条命令操作系统都会启动一个进程&#xff0c;进程是一个程序的执行过程&#xff0c;当程序启动时&#xff0c;操作系统会把进程的代码加载到内存中&#xff0c;并为新进程分配…

Python爬虫——scrapy_日志信息以及日志级别

日志级别&#xff08;由高到低&#xff09; CRITICAL&#xff1a; 严重错误 ERROR&#xff1a; 一般错误 WARNING&#xff1a; 警告 INFO&#xff1a; 一般警告 DEBUG&#xff1a; 调试信息 默认的日志等级是DEBUG 只要出现了DEBUG或者DEBUG以上等级的日志&#xff0c;那么这些…

开集输出和开漏输出

​​​​​​ 首先指明一下以下8中GPIO输入输出模式&#xff1a; GPIO_Mode_AIN 模拟输入&#xff1b; GPIO_Mode_IN_FLOATING 浮空输入&#xff1b; GPIO_Mode_IPD 下拉输入&#xff1b; GPIO_Mode…

JVM面试题-2

1、有哪几种垃圾回收器&#xff0c;各自的优缺点是什么&#xff1f; 垃圾回收器主要分为以下几种&#xff1a;Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1&#xff1b; Serial:单线程的收集器&#xff0c;收集垃圾时&#xff0c;必须stop the worl…

RPM包的概念以及制作过程

RPM包的概念以及制作过程 1. 软件包管理工具的背景介绍2. RPM&#xff08;Red-Hat Package Manager&#xff09;2.1 rpm包的命名规范2.2 rpm的基础命令2.3 安装与卸载 3. RPM包的制作3.1 源码包的制作3.2 .spec配置文件的构建3.3 rpmbuild命令编译验证 4. 软件仓库制作4.1 安装…

QChart:数据可视化(用图像形式显示数据内容)

1、数据可视化的图形有&#xff1a;柱状/线状/条形/面积/饼/点图、仪表盘、走势图&#xff0c;弦图、金字塔、预测曲线图、关系图、数学公式图、行政地图、GIS地图等。 2、在QT Creator的主页面&#xff0c;点击 欢迎》示例》右侧输入框 输入Chart&#xff0c;即可查看到QChar…

鲁棒优化入门(5)—Matlab+Yalmip求解鲁棒优化编程实战

之前的博客&#xff1a;鲁棒优化入门&#xff08;二&#xff09;——基于matlabyalmip求解鲁棒优化问题 去年发布了使用Yalmip工具箱求解鲁棒优化问题的博客之后&#xff0c;陆陆续续有朋友问我相关的问题&#xff0c;有人形容从学习这篇博客到求解论文中的鲁棒优化问题&#x…