Transformer架构:位置编码

news2024/11/25 0:35:01

2017年,Google等人提出了Vaswani提出了一种新颖的纯注意力序列到序列架构,闻名学术界与工业界的Transformer架构横空出世,它的可并行化训练能力和优越的性能称为自然语言处理领域和计算机视觉领域研究人员的热门选择,本文将重点讨论transformer架构一个不可或缺的部分,——位置编码。

在这里插入图片描述

位置编码是什么,其为什么这么重要?

在人类语言中,单词的位置和顺序定义了语法,也影响着语义,无法捕获单词的顺序,会导致我们很难理解一句话的含义。
在这里插入图片描述
因此,在NLP任务中,对于任何神经网络架构,能够有效识别每个词的位置与词之间的顺序是十分关键的,传统的循环神经网络RNN,本身通过自回归的方式考虑了单词之间的顺序,然后Transformer架构不同于RNN, T r a n s f o r m e r Transformer Transformer使用纯粹的自注意力来捕获词之间的联系,纯粹的自注意力具有置换不变的性质,换句话说,Transformer中的自注意力无法捕捉输入元素序列的顺序,因此我们需要一种方法将单词的顺序合并到Transformer架构中,于是位置编码应运而生。
在这里插入图片描述

位置编码的作用形式

目前,主流的位置编码方式主要用绝对位置编码和相对位置编码两大类,其中绝对位置编码的作用方式是告知Transformer架构每个元素在输入序列的位置,类似于为输入序列的每个元素打一个位置标签标明其绝对位置,而相对位置编码作用于注意力机制,告知Transformer架构两两元素之间的距离
在这里插入图片描述

绝对位置编码

最早的绝对位置编码起源于 2017年Jonas Gehring等人发表的Convolutional Sequence to Sequence Learning
该工作使用可训练嵌入的形式作为位置编码,随后Google等人的Vaswani等人在Attention is ALL You Need 文章中使用正余弦函数生成位置编码,关于Transformer架构为什么选择正余弦函数去生成绝对位置编码以及正余弦函数的一些特性,笔者安利大家阅读kazemnejad老师的博文《Transformer Architecture: The Positional Encoding》,该文详细叙述了正余弦绝对位置编码的原理,诞生于2018年末的BERT也采用了可训练的嵌入形式作为编码,实际上,这三项工作的共性都是在每个词的嵌入上加上位置编码之后输入模型,形式上,如下公式所示:
x = ( w 1 + p 1 , ⋯   , w m + p m ) x = (w_1 + p_1,\cdots,w_m + p_m) x=(w1+p1,,wm+pm)

其中 x x x表示模型的输入, w m w_m wm表示第m个位置的词嵌入, o m o_m om表示第m个位置的绝对位置编码。
今年了关于绝对位置编码的工作,大多数以不同的方法去生成绝对位置编码为主,下面列出一些关于绝对位置编码的一些工作。
Learning to Encode Position for Transformer with Continuous Dynamical Model
该文提出了一种基于连续动态系统的绝对位置编码,从数据中学习神经微分方程递归生成位置编码,在机器翻译中,自然语言理解和问答等任务获得了不错的性能提升,由于递归机制本身具有出色的外推性质,所以FLOATER基本不受文本长度的限制。并且作者说明了正余弦绝对位置编码就是FLOATER的一个特解。该工作在WMT14 En-De和En-Fr分别进行了实验,分别对比Transformer Base模型有着0.4和1.0 BLEU值的涨幅。但与此同时,这种递归形式的位置编码也牺牲了原本模型的并行输入,在速度上会有一定影响
Encoding Word Order in Complex Embeddings

该工作提出一种复值词向量函数生成绝对位置编码,巧妙地将复值函数的振幅和相位与词义和位置相联系,在机器翻译、文本分类和语言模型任务上获得了不错的性能提升。。
复值词向量函数以位置为变量,计算每个词在不同位置的词向量。由于该函数对于位置变量而言是连续的,因此该方法不光建模了绝对位置,也建模了词之间的相对位置。该工作在WMT16 En-De机器翻译任务数据集上进行了实验,复值词向量对比Transformer Base模型有1.3 BLEU值的涨幅

SHAPE: Shifted Absolute Position Embedding for Transformers

该工作提出了一种绝对位置编码鲁棒性训练方法,作者认为现有的位置编码方法在测试不可见长度时缺乏泛化能力,,并提出了平移绝对位置编码(SHAPE)来解决这两个问题。SHAPE的基本思想是在训练过程中对绝对位置编码随机整体平移一段距离来实现泛化能力,该工作在WMT16 En-De机器翻译任务数据集上进行训练,将newstest2010-2016作为校验集和测试集,对比正余弦绝对位置编码,该方法有着一定的性能提升

相对位置编码

论文集介绍

Self-Attention with Relative Position Representaion
Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

Rethinking Positional Encoding in Language Pre-training
DeBERTa: Decoding-enhanced BERT with Disentangled Attention
RoFormer: Enhanced Transformer with Rotary Position Embedding

Improve Transformer Models with Better Relative Position Embeddings

总结

会自己沿着一个方向大幅度的看论文,至少需要一年一百篇文章,慢慢的将其研究彻底,研究透彻。慢慢的将其搞透彻,搞明白,争取将一篇文章,全部都看懂,看会,了解彻底。将其研究透彻。

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

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

相关文章

elasticsearch--Master选举

最近一直在学习elasticsear相关的东西,在这学习的过程中记录一下比较重要的学习内容。方便以后看的时候加深印象。 假如宕机的节点是Master节点 下面是Maste节点选举 的流程图 在findMaster的方法中每隔一段时间就会ping所有的节点,看看有没有哪个节…

java设计模式三

文章目录4) 创建IOC容器相关的类5) 自定义IOC容器测试6) 案例中使用到的设计模式7.2 剖析MyBatis框架中用到的经典设计模式7.2.1 MyBatis回顾7.2.1.1 MyBatis与ORM框架7.2.1.1 MyBatis的基础使用7.2.2 MyBatis中使用到的设计模式7.2.2.1 Builder模式7.2.2.2 工厂模式7.2.2.3 单…

基于Java开发(PC)小说自检测系统【100010061】

Java 语言与系统设计课程(小说自检测系统) 一、目的与要求 ​ 自行下载最喜爱的小说 1 部。存到服务器中,格式自定。一般存储为文本文档。要求长篇小说,20 万字以上。举例说明:下载《三国演义》保存在服务器端。 ​…

Secure Boot功能简析

在数据中心中,云服务器由各种处理设备和外围组件(如加速器和存储设备)组成,这些设备通常都运行着固件。对云平台服务商来说,为保证这些设备的安全可靠,需要一种或多种机制,来保证这些设备在测试…

XYplorer使用教程

XYplorer使用教程 XYplorer是Windows的文件管理器。它具有标签式浏览,强大的文件搜索功能,多功能预览,高度可定制的界面,可选的双窗格以及一系列独特的方法,可以有效地自动执行频繁重复的任务。它快速,轻便…

【DCDC转换器】BUCK电路的演进

本文将是对BUCK型DCDC转换器的起步介绍,从BUCK电路模型的建立出发,可以对转换器原理有更清晰的认识。其次对三种不同类型开关电源转换器的原理进行计算,转换器的原理基本是类似的,相同的分析方法可以套用在其他模型上。最后引入了…

PHP基本语法(1)

前言:PHP是什么呢?PHP是一种后端开发用的语言,简单点说制作的网页分为静态和动态,静态网页用户体验性差,动态网页用户可以进行交互,而这种交互就需要PHP了。所以PHP他就是一门用于后端开发的语言。 注意&a…

操作系统实验1:操作系统的引导

操作系统实验1:操作系统的引导 现在是2022年12月22日,本人一如既往又是ddl战神😅 (虽然一周前刚立过flag) 两个月前就布置了的内容硬是拖到现在,这波实在是看不下去自己了😅😅😅 拖到了ddl的最后一天&…

String、StringBuffer、StringBuilder的区别

文章目录一、StringBuffer1、介绍2、StringBuffer中方法二、StringBuilder1.介绍2.常用方法总结一、StringBuffer 1、介绍 是可以存储和操作字符串,即包含多个字符的字符串数据。对于StringBuffer而言,本身是一个具体的操作类,所以不能像St…

推送MOBPUSH-API说明

消息监听接口 MobPushReceiver: 消息监听接口(包含接收自定义消息、通知消息、通知栏点击事件、别名和标签变更操作等) MobPush.addPushReceiver(MobPushReceiver receiver): 设置消息监听 MobPush.removePushReceiver(MobPushReceiver receiver): 移除…

2022年全国最新消防设施操作员模拟试题题库及答案

百分百题库提供消防设施操作员考试试题、消防设施操作员考试预测题、消防设施操作员考试真题、消防设施操作员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 38.下列说法正确的是()。 A.低压供配电系统中&…

vue的基本概念与vue2的指令

目录 一、 Vue的基本概念 1、前端技术的发展(html、CSS、JavaScript) ​ 2、MVVM架构: 数据的双向绑定: 二、Vue开发的方式 1、基本方式:在页面中引入vue.js文件。(vscode) 2、组件…

智能网 联汽车信息安全发展趋势

智能网 联汽车信息安全发展趋势 智能网联汽车行业发展 根据工信部发布的《国家车联网产业标准体系建设 指南(智能网联汽车)》的定义,智能网联汽车是指搭载先进的车载传感器 、控制器、执行器等装置,并融合现代通信与网络技术&a…

Android设计模式详解之备忘录模式

前言 备忘录模式是一种行为模式,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态; 定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样&#xf…

【单目3D目标检测】MonoDLE论文精读与代码解析

文章目录PrefaceAbstractContributionsDiagnostic ExperimentsPipelineRevisiting Center DetectionTraining SamplesIoU Oriented OptimizationExperimental ResultsPreface [CVPR2021] Ma X, Zhang Y, Xu D. Delving into localization errors for monocular 3d object detec…

Docker技术原理

一、Docker架构 Docker包括三个基本概念: 镜像(Image): Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。容器…

vue中使用tinymce富文本编辑器

之前都是用的quill富文本,但是因为要实现添加表格的功能,quill没有tinymce强大,所以改用了tinymce。当时也是百度了一堆的教程可是没有记录下来,现在发现有的细节忘记了,所以这个文章可能会有错误 。 当时看了好几个安…

全球智能网联汽车出货量预计

IDC 于 2020 年最新发布的《全球智能网 联汽车预测报告(2020-2024)》数据显示,尽管受新冠肺炎疫情冲击,2020 年全球智能网联汽车出货量预计较上一年下滑 10.6%,约为 4440 万辆,但到 2024 年全球智能网联汽车…

数据可视化之excel和finebi报表实现对比

当我们拿到数据,想对数据实现可视化报表设计。第一步就是要了解什么是数据可视化分析,且数据可视化分析的方法有什么?而且当我们拿到excel表格的数据,第一个想法是excel表格自身实现报表数据可视化,除了用excel本身实现…

JMeter

Apache JMeter—压力测试工具 一.什么是Apache JMeter Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。 JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源&am…