Transformer流程解析
2024-02-14 19:09:33 4 举报
Transformer是一种基于自注意力机制的深度神经网络模型,主要用于处理序列数据。它的核心组件包括编码器和解码器,以及多头自注意力机制、位置编码和残差连接等。在编码器中,输入序列通过多头自注意力层和前馈神经网络层进行处理,得到上下文表示;同时,位置编码被添加到输入序列中,以保留序列的顺序信息。在解码器中,目标序列首先通过多头自注意力层和前馈神经网络层进行处理,得到初始输出;然后,通过多头自注意力层和前馈神经网络层不断更新输出,直到生成完整的目标序列。Transformer具有并行计算能力强、长距离依赖建模效果好等优点,已在自然语言处理、计算机视觉等领域取得了显著的成果。
作者其他创作
大纲/内容
......
Multi-HeadAttention
dec_outputs
V
Q
Linear
Add & Norm
Add & Norm
nn.LayerNorm(d_model)
PositionalEncoding
...
enc_input
K
enc_outputs
nn.CrossEntropyLoss(ignore_index=0)
FeedForward
S i want a beer .S i want a coke .
i want a beer . Ei want a coke . E
四、前馈网络
Transformer流程
1
2
3
4
0
5
OutputsProbabilities
MaskedMulti-HeadAttention
6
7
8
P
i
want
a
beer
coke
S
E
.
Encoder Layer
attn_pad_mask
tgt_vocab(目标词表)
Outputs(shifted right)
dec_input
五、输出层
DecoderLayer
Softmax
src_vocab(源词表)
ScaledDot-ProductAttention
一、数据预处理
Scaled Dot-Product Attention = Softmax(QK^T/√d_k)V
split
torch.gt
Loss
S:表示解码输入开始的符号E:表示解码输出结束的符号P:如果当前批次数据大小小于时间步长,将使用该符号填充空白序列
proj
Add & Norm
OutputEmbedding
Pa.src_vocab_size是源词汇表的大小,表示嵌入层的输入维度,即索引的取值范围。Pa.d_model是嵌入层的输出维度,即嵌入向量的长度。
N×
ich mochte ein bier Pich mochte ein cola P
InputEmbedding
Add & Norm
ich
mochte
ein
bier
cola
二、嵌入层
三、多头注意力
Decoder
attn_subsequence_mask
dec_output
trans
Transformer结构图
Encoder
Inputs
view(-1)
收藏
0 条评论
下一页