首页 > 其他分享 >Transformer(转换器)

Transformer(转换器)

时间:2023-07-20 18:13:05浏览次数:30  
标签:输出 Transformer attention Encoder NAT Decoder 序列 转换器

Sequence To Sequence(序列对序列)

  • 输入一个序列,输出一个序列

输出序列的长度由机器自己决定,例如:语音辨识、机器翻译、语音翻译

 Sequence To Sequence一般分成两部分:

  1. Encoder:传入一个序列,由Encoder处理后传给Decoder
  2. Decoder:决定输出什么样的序列

Encoder

 Encoder中分为多个Block,每个Block中包含多层;主要有Self attention和全连接层:

Self attention会输入的序列分别对应输出一个序列,在Transformer中加入了一些设计(residual):

  1. 对输出的序列加上输入序列,作为新输出;再进行标准化(norm)输出后传入全连接层
  2. 全连接层也有residual的设计,再次标准化(norm)输出;最终结果才是一个Block过程

Decoder

Autoregressive(AT自回归)

例如:语音辨识的Decoder;

1.首先先给其设置一个特殊符号,代表开始;Decoder会输出一个向量,长度为可能输出字的长度,向量元素的值为对应字的概率,向量的输出为概率最大的字;

2.之后把前一个输出的字作为开始符号输出,再次输出之后的字,直至最后输出结束符号:

注:如果中间某个输出有误,则会使下一个输入错误,可能影响后面全部的结果

可以看出Encoder和Decoder比较相似

Masked self attention与self attention的区别:

  • self attention:每个输出都考虑全部的输出序列

  • 由于Decoderd的过程,每个输入都为上一个输出,所以Masked self attention:每个输出都考虑对应及之前的输出序列

Non Autoregressive(NAT非自回归)

  • AT:输入开始符号,输出第一个字,上一次输出作为这次输入传入得到输出,直至输出结束符号
  • NAT:一次性产生出整个句子

由于NAT事先不知道输出序列的长度,所以有两种方法:

  1.  另外做一个神经网络层设置输出,传入全部序列,输出这个NAT Decoder应该输出字的长度
  2.  设置输出字数的上限,最终只输出到第一个结束符号为止;

所以NAT的速度比AT的速度快

Decoder与Encoder不同

  • Decoder多一个Ceoss attention,为Decoder与Encoder连接的桥梁,从Encoder传入Decoder两个参数;

具体为:

  1. Decoder中Masked self attention输出向量(序列)乘一个矩阵得到向量q
  2. Encoder输出分别乘两个矩阵得到Ki、Vi
  3. 计算Ki与q的关系分数αi,然后αi与Vi相乘再相加得到 v ,即为全连接层的输入;

Training(训练):

例如:语音辨识的训练

使Decoder输出的序列(字的概率分布)与正确输出字的序列越接近越好(类似分类问题)

 

标签:输出,Transformer,attention,Encoder,NAT,Decoder,序列,转换器
From: https://www.cnblogs.com/TianLiang-2000/p/17569224.html

相关文章

  • 斯坦福博士一己之力让Attention提速9倍!FlashAttention燃爆显存,Transformer上下文长度
    前言 FlashAttention新升级!斯坦福博士一人重写算法,第二代实现了最高9倍速提升。本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理......
  • Transformer取代者登场!微软、清华刚推出RetNet:成本低、速度快、性能强
    前言 Transformer的训练并行性是以低效推理为代价的:每一步的复杂度为O(N)且键值缓存受内存限制,让Transformer不适合部署。不断增长的序列长度会增加GPU内存消耗和延迟,并降低推理速度。研究者们一直在努力开发下一代架构,希望保留训练并行性和Transformer的性能,同时实现......
  • mq json转换器 JSON泛型反序列化, 多层嵌套,使用 TypeReference
     需求解析JSON,并将其转换为对应的数据结构。例如:转换为Map<String,Object>  ......
  • 从RNN到Transformer
    1.RNN循环神经网络的内容可参考https://www.youtube.com/watch?v=UNmqTiOnRfg。RNN建模的对象是具有时间上前后依赖关系的对象。以youtube上的这个视频为例,一个厨师如果只根据天气来决定今天他做什么菜,那么就是一个普通的神经网络;但如果他第i天所做的菜不仅和第i天的天气有关,还......
  • 大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解
    大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍1.大语言模型的预训练1.LLM预训练的基本概念预训练属于迁移学习的范畴。现有的神经网络在进行训练时,一般基于反向传播(BackPropagation,BP)算法,先对网络中的参数进行随机初始......
  • [论文速览] A Closer Look at Self-supervised Lightweight Vision Transformers
    Pretitle:ACloserLookatSelf-supervisedLightweightVisionTransformersaccepted:ICML2023paper:https://arxiv.org/abs/2205.14443code:https://github.com/wangsr126/mae-literef:https://mp.weixin.qq.com/s/7FiDLYBZiAX-xkW-dZBU9Q关键词:lightweght,ViT......
  • 论文日记四:Transformer(论文解读+NLP、CV项目实战)
    导读重磅模型transformer,在2017年发布,但就今天来说产生的影响在各个领域包括NLP、CV这些都是巨大的!Paper《AttentionIsAllYouNeed》,作者是在机器翻译这个领域进行的实验,当然我们今天知道它被应用到了很多地方,作者也在结论部分说它将被应用到图像、音频、视频等任务中,本文......
  • transformer
    arXiv:1706.037621.问题提出全连接神经网络(FCN),可以很好的处理输入为1个向量(特征向量)的情况,但是如果输入是一组向量,FCN处理起来不太方便以词性标记的问题为例对于处于同一个句子中的相同的2个单词saw,词性不同,前者为动词(V),后者为名词(N)如果尝试使用FCN去解决这个问题,将每个单......
  • Transformer学习笔记
    09Transformer之什么是注意力机制(Attention)@水导ELMo原理解析及简单上手使用@知乎ELMo可以解决多义词的词向量,基于LSTM,基础是LSTM和RNN。......
  • N9、Transformer实战-单词预测
    ......