订阅
纠错
加入自媒体

中科院计算所副研究员冯洋:神经机器翻译的训练改进和解码提速

2020-04-07 16:18
将门创投
关注

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的方式好。

<上一页  1  2  3  4  5  下一页>  余下全文
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    人工智能 猎头职位 更多
    扫码关注公众号
    OFweek人工智能网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号