序列到序列架构:编码器 - 解码器与解码器
1. 编码器 - 解码器架构概述
编码器 - 解码器架构是一种重要的序列到序列架构,它由编码器和解码器两部分组成。在翻译任务中,编码器负责对输入的源序列进行编码,解码器则根据编码结果生成目标序列。
2. 编码器 - 解码器变压器模型
编码器 - 解码器变压器模型由多个相同的编码器层和多个相同的解码器层组成。
|组件|功能|
| ---- | ---- |
|编码器|使用多头注意力和前馈网络对输入序列进行编码|
|解码器|第一个注意力模块使用掩码实现自回归,第二个注意力模块将源序列和目标序列进行融合|
3. 掩码注意力
在翻译序列时,源序列是已知的,而目标序列是逐个符号解码的。为了使解码器在预测时只关注之前的符号,需要对注意力层进行修改,添加一个掩码矩阵。
- 掩码矩阵的创建 :
def attn_mask(size):
U = torch.empty(size, size).fill_(float('-inf'))
return torch.triu(U, diagonal=1)
- 修改后的注意力函数 :
def attention_masked(Q, K, V, U):
d_k = K.size(dim=-1)
超级会员免费看
订阅专栏 解锁全文
1911

被折叠的 条评论
为什么被折叠?



