中科院计算所副研究员冯洋:神经机器翻译的训练改进和解码提速
2. 可导的序列级目标
接下来介绍如果解决词级匹配的对于好一点的匹配和差的匹配一视同仁的问题。
这个是我们在EMNLP 2018上所做的工作。通过使用可导的序列级目标来解决词级匹配的问题。
首先介绍一下传统的序列级损失函数。传统的序列级损失函数基本上都是基于N-gram正确率的损失函数,比如,BLEU,GLEU等等。计算方法为,命中n-gram的个数/总共的n-gram的个数(candidate),其中n-gram的个数为其每个词语出现频次的乘积。
直接使用BLEU不可到的原因是因为操作中有argmax,为了使其可导,我们使用token的预测概率,而非使用argmax。这个方法和直接用BLEU作为Score,然后reinforce算法直接训练对比有啥优势?由于reinforce算法的方差比较大,所以在训练的时候是很难收敛的。而使用传统的梯度下降的方法,训练过程就会平稳的多。
这里是3-gram的例子,其中output是概率最高的词,3-gram概率的是由独立Token的输出概率相乘得到结果,然后求和会得到The total probabilistic count of 3-grams。将匹配上的3-gram的概率拿出来求和作为分子,Total probabilistic count作为分母,计算得到 Precision of 3-grams。这就是我们的loss。
这个例子用来展示整个的训练过程,这里需要注意的一点就是,和传统的teacher forcing方式不同,这里当前步输入的为上一步预测的结果(贪心搜索得到的结果),而不是ground truth的值。剩下的就是按照上页slides介绍的来计算loss。对于loss采用传统的梯度下降算法即可。下面贴的是在数据集上的结果。
从结果中可以看出,2-gram比4-gram的效果要好,这里我们给出的解释是,过多的使用自己生成的去计算的话,会存在一定程度上的错误累积。
在训练的时候,也是可以通过teacher forcing的方式来训练的,但是从图中可以看出,teacherforcing的方式收敛的比较快,但是效果不如greedy search的方式好。
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024 智能家居出海论坛
-
精彩回顾立即查看>> 【在线会议】多物理场仿真助跑新能源汽车
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论