Transformer 学习笔记

Transformer架构学习笔记
一、Transformer 的诞生背景与优势

传统序列模型(如 RNN/LSTM)受限于循环计算的串行特性,难以并行处理长序列,且长距离依赖问题显著。2017 年,Vaswani 等人在《Attention Is All You Need》中提出Transformer 架构,彻底摒弃循环与卷积,仅依赖注意力机制实现序列建模,成为自然语言处理领域的里程碑。

两大显著优势:

1.可捕获间隔较长的语义关联。

2.充分利用分布式GPU进行并行训练,提升模型训练效率。

二、Transformer 整体架构

Transformer 总体架构包括四部分:输入、输出、编码器、解码器。

(一)输入层

1.词嵌入(Token Embedding)

对输入的文本以单词为单位进行切分,再对单词序列编码,使用独热向量表达,再将独热向量映射为低维向量,可通过Word2Vec实现。

2.位置编码(Positional Encoding)

思路历程:整数位置编码→二进制位置编码→正弦位置编码

为弥补注意力机制缺乏时序信息的缺陷,通过正弦 / 余弦函数生成位置向量,公式为:

(二)、编码器(Encoder)

由多个同样的编码器块组合而成

1.多头自注意力层(Multi-Head Self-Attention)

注意力机制基本思想:“移动”量由其他词的意义(值)和其他词与当前词相关度决定。

自注意力机制:

(1)由每个编码器的输入向量生成三个向量,即查询向量、键向量和一个值向量。这三个向量是通过词嵌入与三个权重矩阵相乘后创建出来的。将以上所得到的查询向量、键向量、值向量组合起来就可以得到三个向量矩阵Query、Keys、Values。

(2)计算得分。我们需要拿输入句子中的每个单词对目标单词进行打分。这些分数是通过所有输入句子的单词的键向量与“目标单词”的查询向量相点积来得到的。

(3)将分数除以8(让梯度更稳定,这里也可以使用其它值),然后进行softmax处理。得到的softmax分数决定了每个单词对编码当下位置单词的贡献。

(4)将每个值向量乘以对应softmax分数(以此来关注语义上相关的单词,并弱化不相关的单词),最后对加权值向量求和,即得到自注意力层在该位置的输出。

多头自注意力机制:使用多组矩阵得到多组查询、键、值矩阵,然后每组分别计算得到一个Z矩阵,再得到最终的Z矩阵。这扩展了模型专注于不同位置的能力。

2.前馈全连接层:Add(残差连接)、Norm(层归一化)。

(三)解码器(Decoder)

解码器同样由N=6个层堆叠,每层包含三大子层:

1.掩码多头自注意力层

掩码操作(mask):计算注意力时,每一个新词(query)只能和之前出现的词进行相关运算。

2.多头自注意力层   与编码器相同

3.前馈全连接层    与编码器相同

(四)输出层

由线性层和Softmax层串联而成。

线性层:通过对上一步的线性变化得到指定维度的输出,也就是转换维度的作用.

Softmax层:使最后一维的向量中的数字缩放到0-1的概率值域内,并满足他们的和为1.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值