1. Transformer的概念
Transformer是一种基于注意力机制结构的神经网络,其主要的作用就是用于处理机器翻译、语言建模以及文本生成等自然语言的处理。
比如人类在做一篇阅读理解的时候,我们的注意力可能主要集中在我们所阅读的这一行内容。而机器也是如此,任务不同,所关注的地方也是不一样的。
2. Transformer实践
为了好进行区分,而且本代码中也有对应的数据集下载链接,还是重新搭建一个环境。
直接进行拖拽可能会有下面的问题:
如果格式一直有错,可以点击上传按钮,直接将对应的文件上传:
这样就不会有任何问题:
2.1 安装环境
安装mindspore
2.2 模型训练
这一步根据上面的函数会保存评估精度最高的ckpt文件transformer.ckpt
,其路径为home_path/.mindspore_examples/transformer.ckpt
2.3 模型推理
将训练好的模型参数加载入新实例化的模型中。我们输入一个德文语句,期望可以返回翻译好的英文语句。
本文以测试数据集中的第二组语句,也就是[1][1]为例,进行测试。
2.4 BLEU得分
也就是用来评价模型的好坏。最后的成绩为47.3分
3. 感悟
本次训练主要涉及到自然语言处理等方面的知识,从训练的目标以及实际的应用来入手,理解起来比较简单一些。但是中间涉及到大量的数学计算、模型处理以及专业的概念,对于初次接触的同学,很多地方还需要认真研究。