【阅读笔记】《Uncertainty-Aware Curriculum Learning for Neural Machine Translation》(ACL2020)

《Uncertainty-Aware Curriculum Learning for Neural Machine Translation》

学习目标:初步了解NMT领域知识,理解常用方法和术语
建议:新手可以先看整理的NMT常见术语,方便理解全文

摘要

神经机器翻译(NMT)已经被证明易于课程学习(curriculum learning),在不同的训练阶段,以简单-困难的顺序学习样本。关键难度包括数据难度模型能力的评估。我们提出了具有不确定性感知的课程学习模式,这种模式的动机来源是:1) 翻译pair的不确定性越高,其所包含的信息越复杂、越罕见;2)模型不确定性下降的结束表明了当前训练阶段的完备性。具体地,我们以一个例子的交叉熵作为它的数据难度,利用网络权值分布的方差来表示模型的不确定性。对各种翻译任务的大量实验表明,我们的方法在翻译质量和收敛速度方面都优于强基线方法和相关方法。定量分析表明,该策略为NMT提供了自动控制学习进度的能力。

解决的问题

创新

提出了一个novel uncertainty-aware curriculum learning framework,该框架以不确定性为原则,对输入样本进行排序,并控制每个训练阶段的时长,并根据训练语料库上预先训练的语言模型估计的句子对的联合分布来度量句子对的数据不确定性。(背后理论支撑:在一个样本中,交叉熵和不确定性越高,就越难学习和翻译)此外,作者利用贝叶斯神经网络给出的网络分布的方差来计算模型的不确定性,模型的不确定性反映了模型能否最好地描述数据的分布,当下降趋势停止,表明了当前训练阶段的完整性。

全文架构与主要思路

Introduction

介绍了课程学习(curriculum learning,CL),主要是模仿人类学习的特点,由简单到困难来学习课程(在机器学习里就是容易学习的样本和不容易学习的样本),这样容易使模型找到更好的局部最优,同时加快训练的速度。

NMT中的CL课程学习难题: 数据难度和学习进度的规划的评估

对于数据难度data difficulty,以前的研究根据句子的长度和罕见词来定义,但是仅考虑到了句子的层面,很难完全处理到模型的data difficulty

对于第二个问题,以前的方法基于的是一个假设:随着训练时间越久,模型越来越自信(单调递增),本文的作者不认可这种假设,违背了Dunning-Kruger曲线,也限制了课程学习的灵活性和适应性。

保证CL简单和高效的方法:
1)使用蒙特卡洛模拟代替贝叶斯推断,减少计算开销;
2)将样本根据难度进行分类,并在不同的训练阶段添加样本以逐渐增加难度,称为baby step。

实验结果和结论:
所提出的模型能在strong transformer baseline下持续改善翻译性能。
1)本文的方法有效加速了模型收敛速度
2)利用数据的不确定性来表示翻译的难度,其优势超过了句子长度和单词罕见度作为难度评估依据,而这种优势可以通过利用在大规模外部数据上训练的语言模型来进一步扩大。
3)模型的不确定性以一种自适应的方式来评估模型的能力,而不考虑预定义的模式。

Preliminary

首先给出了NMT的优化目标函数:
在这里插入图片描述
E表示期望,( x n , y n x^n, y^n xn,yn)表示第n个训练样本的源句子和target句子对, θ θ θ是模型训练调节的参数
通过以简单-困难的顺序呈现训练数据,CL可以解决一些难以训练的任务的问题

之后列出了一些CL与NMT结合的相关工作,指出了这些工作成功提供了对数据难度和模型能力倾向的有限启发式知识。

Methodology

重述CL面临的两个挑战:
1.如何分类数据的难度,仅靠句子长度和罕见词机制不能全面反应翻译的难度;
2.CL需要一个学习时间规划,但是之前的研究缺少了这个适应性,导致了需要有大量超参数需要调整。

what is intuitively “easy” and “competent” for a human may not match that for neural networks.

由于人类的视角可能和机器的视角不同,作者决定从模型的角度来处理这些问题。
3.1节对每个训练样本量化了data Difficulty
3.2节预测训练时的模型不确定性,同时模型用自适应策略来管理自身的课程
3.3节描述了如何在NMT训练中利用以上提到的two factors.

论文主要模型框架:中心思想就是对训练集的由易到难的分类课程训练,进入下一个课程的标志是当前训练阶段对随机样本估计的模型不确定性停止下降。
uncertainty- aware curriculum learning framework

3.1 Data Uncertainty

为了估计数据的不确定性,我们提出在平行训练语料库D的单语句子上预先训练一个语言模型(LM)来计算每个句子的交叉熵。Intuition:较高的交叉熵(cross-Entropy)和复杂度(perplexity,PPL)值代表着一个不确定的句子,而语言模型(LM)很难生成和辨别。

作者给出了几种数据不确定性,它们可以单独使用,也可以组合使用:
1)Source Difficulty
给定第n个source sentence x n x^n xn,能够计算出混淆度(Perplexity): u d a t a ( x n ) u^{data}(x^n) udata(xn):
在这里插入图片描述
其中 I I I是源句子长度。

2)Target Difficulty
和Source Difficulty类似:
在这里插入图片描述
3)Joint Difficulty
从直观上看,翻译对的复杂性应该是由source 和 target 双方共同贡献的,从而反映了网络机器翻译中理解和生成过程的难度。

所以Joint Difficulty就是Source Difficulty 和 Target Difficulty的结合:
在这里插入图片描述
论文中调研了3种广泛应用的评估数据不确定性方法:
1.a statistical n-gram LM – KENLM
2.a neural LM – RNNLM
3.a multilingual neural LM that trained on billions of external sentences – BERT
也能用其他方法量化:
蒙特卡洛估计、使用训练好的模型验证翻译的分布
但是以上方法都比较time-consuming,LM语言模型略微增加了计算成本,易于应用,符合CL的原始动机。

3.2 Model Uncertainty

作者通过量化模型的不确定性调节每次curriculum的时长,而不是在训练前预设好。模型不确定性也称为认知不确定性(epistemic uncertainty),能够用来衡量模型参数是否能够最好地描述数据分布。在我们的工作中,模型的不确定性得分很小,这表明模型相信当前的训练数据已经很好地学习了,而分数下降的终止代表着转入下一个课程阶段的信号。

模型不确定性可以被贝叶斯神经网络量化,在恒定的输入输出数据上对模型参数进行概率分布,其方差即为不确定性。由于计算效率的原因,我们采用了广泛使用的Monte Carlo Dropout (Gal and Ghahramani, 2016)来近似贝叶斯推理。

{ˆθ1, · · · , ˆθK}表示模型的超参数,K表示前向传播通过NMT模型的K次传递在这里插入图片描述
V a r [ ⋅ ] Var[·] Var[]表示按一般设置计算的分布的方差,该模型具有自行确定模型能力的能力。

3.3 Self-Adaptive Training Strategy

作者基于现有方法从易到难开始课程训练,并且验证了如果顺序调换,不会给模型的性能带来提升
 
不确定性下降停止依据的超参数设置比较重要,如果阈值越小,训练越容易进入下一个baby step,当前的baby step没有得到充分的训练,阈值越大,训练效率越低,会导致过拟合。

由于CL天生可以加快模型的收敛速度(不像Monte Carlo Dropout方法),为了保持这一优势,我们提出在每个epoch之后估计模型的不确定性,而不是在每个模型更新步骤之后。
在这里插入图片描述
上述算法中是从C中随机抽取 M = 1k个,IF语句的逻辑称为自适应策略。

Experiments

实验部分主要就是论证观点的正确性,可参考原文

4.1 Experimental Setting

主要介绍了数据集和模型的一些设置:
数据集上,中文分词工具:jieba;其他语言分词:Mose,使用BPE编码,评估使用的4-gram NIST BLEU score
模型上主要基于transformer实现,介绍了一些具体参数的设置,语言模型训练的4-gram的KENLM模型

在不确定性上调研了5种方法:基于句子长度,罕见词,自己的DATA-U(3.1节),课程排序的平方根模型能力,默认Baby-Step=4的MOD-U方法(3.2节)。

4.2 Ablation Study

Ablation Study通常是指去除模型或算法的一些“特征”,并观察其如何影响性能。类似控制变量法。

举例:An LSTM
has 4 gates: feature, input, output, forget. We might ask: are all 4
necessary? What if I remove one? Indeed, lots of experimentation has
gone into LSTM variants, the GRU being a notable example (which is
simpler).

本文主要验证了不同类型的data difficulty和model competence,然后验证了baby step的取值对模型性能的影响。
在这里插入图片描述

分析:
1)Effectiveness of Data Uncertainty
验证了:数据不确定性对于NMT模型的示例的难度比对应的句子长度和单词罕见度具有更高的相关性
作者观察到,仅靠source和target的不确定性,目标的不确定性相关性更高,作者推测目标的不确定性更直接地反映了句子生成的困难程度,因而在语言学习中起着至关重要的作用。同时“joint”提供了一种更全面的数据不确定性建模方法,取得了最好的效果。这表明两种翻译策略是相辅相成的,翻译对的复杂性是由双方共同贡献的。

2)Effectiveness of Model Uncertainty
数据的不确定性与模型的不确定性相结合,可以逐步提高模型的性能,证明两种方法是相辅相成的。

3)Different Baby Steps
在这里插入图片描述
将训练语料库分为4个小步骤优于其他baby step设置。当baby step总数大于4时,翻译质量呈下降趋势。一个合理的解释是,在一个过小的子集上训练模型会导致过拟合的问题。

4.3 Main Results

在这里插入图片描述
结果表明了该方法的通用性(不同数据集上验证)和有效性(更高的BLEU值)。

优势:这种改进并没有随着训练数据的增加而减少,而是随着训练数据的增加而增加,这表明该模型有利于大规模的翻译任务。

其他发现:作者使用BERT的模型优于在小尺度数据上训练的KENLM模型,而当KENLM从较大的训练语料库中学习时,差距变得较小。(e.g. 20M Zh⇒En task).
作者认为的原因:通过使用大规模的训练实例,KENLM可以很好地描述其数据分布,而BERT算法在这些任务中的优势趋于边缘。(Bert已经江郎才尽了)

Analysis

作者进一步在En-De任务上分析了三个问题:
1)所提出的模型是否确实加快了模型的收敛;
在这里插入图片描述

2)在不同的baby steps下的difficulty measures有何不同;
在这里插入图片描述
纵坐标代表的什么意思?
这里作者分析了两个方面,
1.step2和3比step1和4高,说明了被在课程中被分到的“简单”和“复杂”句子大多是相对相似的,其主要差异在于难分别的句子。(也就是如何进一步区分中等难度的数据集)
2.KENLM和BERT划分的子集存在较大差距,这再次表明LM的性能在我们的方法中起着至关重要的作用

3)模型的不确定性在训练过程中是如何变化的。
作者定义了模型的自信度=模型不确定性的倒数
在这里插入图片描述能够发现不同的difficulty measures的变化趋势都类似,仅振幅不同。

作者惊奇的发现这和人类在学习食物过程中的认知曲线Dunning Kruger Curve很像。人工神经网络和人都可以看作是连接主义模型,因此,这一解释也可以用来解释NMT训练中的现象。

这种模型置信度的波动说明课程时长不应该是固定的,预定义的策略可能不足以应付模型训练。此外,在不同课程、不同difficulty measures下训练的模型对模型不确定性的变化幅度也不同,说明了本方法的适应性。

因此支持了我们的假设,模型不确定性是来指导课程学习的一个有效的和自适应的指标。

Conclutions

作者提出了一种新的不确定性感知框架来改进NMT语言学习的两个关键要素,即data difficulty measurement and curriculum arrangement。我们的贡献主要有:
1)提出将每个训练实例的数据不确定性作为其难度来估计,这样更具有可解释性和综合性。
2)引入了一种自适应的CL策略,该策略评估模型的不确定性,以模型本身来管理课程。
3)在各种翻译任务和模型设置上的大量实验证明了该框架的普遍有效性。我们的方法能够达到50%以上的模型收敛速度。
4)定量和定性分析表明,模型置信度在训练时间是波动的。令人惊讶的是,它绘制了与人类信心相似的变化曲线。

由于我们的模型并不局限于机器翻译,所以将提出的框架验证到其他需要利用CL的自然语言处理任务中是很有趣的。另一个有希望的方向是设计更好的训练策略来取代baby step

思考和收获

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值