PyTorch深度学习实战(48)——基于Transformer实现机器翻译
0. 前言
我们已经学习了如何从零开始构建了一个 Transformer 模型,本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer
模型将英语句子转换为法语,深入理解 Transformer
的架构及自注意力机制的运作方式。
假设我们有英语到法语的翻译数据,目标是使用这个数据集训练编码器-解码器 Transformer
。首先,使用子词分词方法,将英语和法语短语拆分成词元 (token
)。然后,构建英语和法语的词汇表,词汇表包含每种语言中所有独特词元。词汇表能够将英语和法语短语表示为索引序列。接下来,使用词嵌入 (word embedding
) 将这些索引(本质上是独热编码向量)转换为紧凑的向量表示。将位置编码 (positional encoding
) 添加到词嵌入中,形成输入嵌入 (input embeddings
)。位置编码使 Transformer
能够知道序列中词元的顺序。
最后,使用英语到法语翻译数据集来训练编码器-解码器 Transformer
,从而实现英语到法语的翻译。训练完成后,使用训练好的 Transformer
翻译常见的英语短语为法语。具体来说,使用编码器捕捉英语短语的含义,然后利用训练好的 Transf