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

一、说明

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.mzph.cn/news/44946.shtml

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

相关文章

汽车级36V、4A同步降压转换器MAX20404AFOD/VY、MAX20404AFOC/VY、MAX20404AFOA/VY开关稳压器

MAX20404是小型同步降压转换器,集成了高端和低端开关。这些IC均设计为可在3V到36V的宽输入电压范围内提供高达4A的电流。电压质量可以通过观察PGOOD信号来监测。该器件可以在99%的占空比下运行,非常适合汽车和工业应用。 MAX20404提供可编程输出电压或5…

Debian查询硬件状态

很早以前写过一个查询树霉派硬件状态的文章,用是Python写的一个小程序。里面用到了vcgencmd这个测温度的内部命令,但这个命令在debian里面没有,debian里只有lm_sensors的外部命令,需要安装:apt-get install lm_sensors…

python:tkinter + cef 模仿 mdict 界面

cefpython3 其上游是C开发的CEF(基于webkit、V8), CEF 即 (Chromium Embedder Framework), 是基于Google Chromium项目的开源 Web browser控件(WebView)。 可查看github文档:cefpython api pip install cefpython3 c…

TCP编程流程(补充)

目录 1、listen: 2、listen、tcp三次握手 3、 发送缓冲区和接收缓冲区: 4、tcp编程启用多线程 1、listen: 执行listen会创建一个监听队列 listen(sockfd,5) 2、listen、tcp三次握手 三次握手 3、 发送缓冲区和接收缓冲区:…

SpringBoot复习:(52)不再需要使用@EnableTransactionManagement的原因

在Spring项目中,要用事务,需要EnableTransactionManagement注解加Transactional注解。而在SpringBoot项目,有事务的自动配置类TransactionAutoConfiguration,代码如下: 可以在其内部类EnableTransactionManagementConfiguratio…

2017年3月全国计算机等级考试真题(C语言二级)

2017年3月全国计算机等级考试真题(C语言二级) 第1题 每个学校有一名校长,且不同学校的校长可以是同一人,则实体学校和实体校长间的联系是 A. 多对一 B. 多对多 C. 一对一 D. 一对多 正确答案:A 第2题 若有以下定义…

[JavaWeb]【一】入门JavaWeb开发总概及HTML、CSS、JavaScript

目录 一 特色 二 收获​编辑 三 什么是web? 四 网站的工作流程 五 web网站的开发模式​编辑 六 web开发课程学习安排 七、初始web前端 八 HTML、CSS 8.1 什么是HTNL\CSS(w3cschool) 8.2 HTML快速入门 8.3 VS Code开发工具 8.3.1 插件 8.3.2 主题(改变颜色&…

Python写一个创意五子棋游戏

前言 在本教程中,我们将使用Python写一个创意五子棋游戏 📝个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列: ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开始学python 首先 GomokuGame 类的构造函数 __ini…

Redis、Memcache和MongoDB的区别

>>Memcached Memcached的优点: Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度…

图数据库_Neo4j_Centos7.9安装Neo4j社区版3.5.4_基于jdk1.8---Neo4j图数据库工作笔记0011

首先上传安装包,到opt/soft目录 然后看一下jdk安装的是什么版本的,因为在neo4j 4以后就必须要用jdk11 以上的版本,我这里还用着jdk1.8 所以 我这里用3.5.4的版本 关于下载地址: https://dist.neo4j.org/neo4j-community-3.5.4-unix.tar.gz 然后再去解压到/opt/module目录下 …

【目标检测】目标检测 相关学习笔记

目标检测算法 PASCALVOC2012数据集 挑战赛主要分为 图像分类 目标检测 目标分割 动作识别 数据集分为四个大类 交通(飞机 船 公交车 摩托车) 住房(杯子 椅子 餐桌 沙发) 动物(鸟 猫 奶牛 狗 马 羊) 其他&a…

2023国赛数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

[JavaWeb]【四】web后端开发-SpringBootWeb入门

目录 一 Spring 二 SpringBootWeb入门 2.1 入门需求 2.2 分析 2.3 开始创建SpringBootWeb 2.4 创建类实现需求 2.5 启动程序 2.6 访问 三 HTTP协议 3.1 HTTP-概述 3.2 HTTP-请求协议 3.3 HTTP-响应协议 3.3.1 响应状态码 && 响应类型 3.4 HTTP-协议解析 前言…

八大排序算法 - Java实现

冒泡排序 排序原理: 比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值 代码实现: import java.uti…

Liunx系统编程:进程信号的概念及产生方式

目录 一. 进程信号概述 1.1 生活中的信号 1.2 进程信号 1.3 信号的查看 二. 信号发送的本质 三. 信号产生的四种方式 3.1 按键产生信号 3.2 通过系统接口发送信号 3.2.1 kill -- 向指定进程发送信号 3.2.2 raise -- 当自身发送信号 3.2.3 abort -- 向自身发送进程终止…

【ES5和ES6】数组遍历的各种方法集合

一、ES5的方法 1.for循环 let arr [1, 2, 3] for (let i 0; i < arr.length; i) {console.log(arr[i]) } // 1 // 2 // 32.forEach() 特点&#xff1a; 没有返回值&#xff0c;只是针对每个元素调用func三个参数&#xff1a;item, index, arr &#xff1b;当前项&#…

嵌入式Linux开发实操(八):UART串口开发

串口可以说是非常好用的一个接口,它同USB、CAN、I2C、SPI等接口一样,为SOC/MCU构建了丰富的接口功能。那么在嵌入式linux中又是如何搭建和使用UART接口的呢? 一、Console接口即ttyS0 ttyS0通常做为u-boot(bootloader的一种,像是Windows的BIOS),它需要一个交互界面,一般…

HTML中的字符串转义

为什么要转义&#xff1f; 转义可以防止 xss 攻击。接下来&#xff0c;我们来看一下如何转义。 HTML Sanitizer API Sanitizer 是浏览器自带的转义方法&#xff0c;在2021年初被提出&#xff0c;兼容性问题很大。 列举几个常用的 API&#xff1a; const $div document.qu…

C++------利用C++实现二叉搜索树【数据结构】

文章目录 二叉搜索树概念二叉搜索树的操作查找插入删除 二叉搜索树的应用 二叉搜索树 概念 什么是二叉搜索树&#xff0c;二叉搜索树就是指左孩子永远比根小右孩子永远比根大。这个规则适用于所有的子树。 上面的就是一棵二叉搜索树&#xff0c;我们还可以发现这棵树走一个中…

Windows安装 Elasticsearch 教程

下载地址 Past Releases of Elastic Stack Software | Elastic 解压 解压完的样子 进入BIN目录 D:\Develop\elasticsearch\elasticsearch-7.12.0\bin 按住shift 鼠标右键 打开 powershell 窗口 查看ES版本 .\elasticsearch.bat --version 出现问题了 警告&#xff1a;不赞成…