transformer 解码_Transformer:新一代序列建模大杀器

Transformer是Google于2017年提出的序列建模模型,主要由Encoder和Decoder组成,采用多头注意力机制,摒弃了RNN和CNN。Transformer通过位置编码捕获序列信息,其多头注意力实现高效并行计算。尽管存在上下文分裂问题,但因其强大的序列建模能力和并行计算特性,已成为预训练模型和其他任务的基础网络层。
摘要由CSDN通过智能技术生成

提到预训练模型,就绕不开Transfromer,它是Google于2017年提出的序列建模模型,一开始应用于机器翻译上,它摒弃了RNN和CNN,采用纯注意力计算,大幅提高了序列建模的有效长度,并且也提升了在机器翻译任务上的成绩。这一工作为后来预训练的崛起奠定了扎实的基础。

Transformer的模型架构非常新颖。如下图所示,整个模型分为Encoder和Decoder两个部分,二者分别由六个相同的Encoder层和Decoder层堆积而成。

1c6a84119a7ef66b3ff86bed746de581.png
Transformer整体架构

而在Encoder层和Decoder层的内部,则是包含了多头注意力层(Multi-Head Attention)、前向传播层(Feed Foward)和残差归一化层(Add&Norm),如下图所示。

775e13f0e6accab94213efd87810a32c.png
Transformer Encoder层和Decoder层内部结构

每个Encoder层内部包含了Multi-Head Attention和Point-Wise Fully Connected Feed-Forward Network两个子层,而在每个子层的输入和输出都设置了残差连接*,并加上了一个层归一化(Layer Normalization),于是对于每一个子层都有:

每个Decoder层和Encoder层包含的子层差不多,只是Decoder层多了一个Masked Multi-Head Attention子层,这里的Masked的作用就是防止在解码时注意力“看到”了当前预测位置后面的字符。

接下来将按照自底向上的顺序详细介绍Encoder层和Decoder层内部的各个模块。

输入和位置编码

由于摒弃了RNN和CNN,序列每个位置上仅仅输入token embedding会不可避免地缺失位置信息,于是Transformer把token embedding和位置编码(Positional Embedding)加在一起作为最终的Input

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值