基于Transformers的自然语言处理入门【十】-机器翻译
1 机器翻译背景
机器翻译,是指使用计算机将一种自然语言转换为另一种自然语言的过程。这里,自然语言是指日常使用的人类语言(如中文、英语),区别于人工为特定目的创造的语言(如计算机编程语言)。
机器翻译是自然语言处理(NLP)的一个研究分支,是人工智能的终极目标之一,具有重要的科学研究价值。
2017年,谷歌在论文《Attention Is All You Need》中提出了Transformer模型。这种基于自注意力机制的模型能够很好地解决序列模型的问题,比如机器翻译。Transformer应用在机器翻译任务中,不仅提高了翻译的效果,由于其高度并行化的设计,还大幅提高了训练的效率。
2 机器翻译模型训练
-
数据预处理过程:
在将数据喂入模型之前,我们需要对数据进行预处理。预处理的工具叫Tokenizer。Tokenizer首先对输入进行tokenize,然后将tokens转化为预模型中需要对应的token ID,再转化为模型需要的输入格式。
为了达到数据预处理的目的,我们使用AutoTokenizer.from_pretrained方法实例化我们的tokenizer,这样可以确保:
1、我们得到一个与预训练模型一一对应的tokenizer。
2、使用指定的模型checkpoint对应的tokenizer的时候,我们也下载了模型需要的词表库vocabulary,准确来说是tokens vocabulary。 -
模型预测流程
1、将输入源语言句子的Embedding经过Encoder进行编码
2、将Encoder输出的编码和句子起始标志位</BOS>一起输入Decoder进行预测
3、将Decoder的预测结果和Encoder输出的编码作为Decoder的输入进行预测,直到预测结果出现句子结束标志位</EOS> -
模型训练流程
训练流程和预测流程稍有不同。在训练时,如果每次将预测结果输入还没有训练好的模型会让输出结果越走越偏。因

本文介绍了机器翻译的背景,强调其作为自然语言处理的重要分支。2017年,谷歌提出的Transformer模型通过自注意力机制解决了序列模型问题,提高了翻译效果和训练效率。文章详细阐述了数据预处理,包括使用Tokenizer进行token化,并使用AutoTokenizer实例化tokenizer。在模型预测流程中,源语言句子通过Encoder编码,Decoder进行预测,直至出现句子结束标志。在训练过程中,采用Teacher Forcing技巧保证输出准确性。

2万+

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



