Self-Supervised Curriculum Learning for Spelling Error Correction

半监督课程学习用于中文拼写纠错任务

课程学习(CL) 以一种从易到难的顺序促进模型训练,该方法需要对数据难度和训练细则进行仔细设计。

纠错中得数据的难易程度受许多因素的影响,如句子长度、词的稀缺性和错误的多样性等

论文提出将训练损失作为数据难度的度量(即损失越大的数据越难学习),并基于训练过程中的损失下降程度来评估模型能力(即损失越小的模型性能越好)。

简单来说:将训练样本按照从易到难得顺序,喂给模型进行训练。这是并不涉及到给无标签样本打标签,再利用得过程。

算法流程如下:

Self-Supervised Curriculum Learning for Spelling Error Correction_第1张图片

算法步骤:

1. 在原有构造的数据上,训练模型1epoch,得到初始纠错模型

2. 利用初始纠错模型以及如下两个公式计算分数(衡量每条样本的难度)

思想是:样本对应的loss越小,样本难度越小,x_{n}是输入样本,y_{n}是输入样本对应的正确文本

CDF是累计分布函数。

最后对于难样本,得分趋近于1,对于容易样本,得分趋近于0.

随着模型的训练,该得分也会越来越准。

3. 当模型没有收敛的时候,循环以下操作:

4. 根据公式7计算模型的胜任力, 利用训练过程中loss的下降值来衡量模型的胜任力

c_0=0.01 ,   l_t代表loss下降程度,l_0代表初始loss,\lambda _s是任务无关的超参数

Self-Supervised Curriculum Learning for Spelling Error Correction_第2张图片

5. 生成训练样本子集D_t

为了防止模型过度使用简单样本,在计算loss时,引入样本权值和token权值

 6.   计算样本的权值

         Self-Supervised Curriculum Learning for Spelling Error Correction_第3张图片

\lambda _w是平滑超参数

7. 计算样本中,每个token的权值   

   

Self-Supervised Curriculum Learning for Spelling Error Correction_第4张图片

 l(<x^{n}_i,y^{n}_i>,t) 代表第t个训练步骤,样本x_n对应的第i个token的交叉熵损失函数值

8. 根据生成的样本,训练模型,更新权重

Self-Supervised Curriculum Learning for Spelling Error Correction_第5张图片

9. 循环直至模型收敛

实验结果:

Self-Supervised Curriculum Learning for Spelling Error Correction_第6张图片

loss中是否引入权值带来的影响

Self-Supervised Curriculum Learning for Spelling Error Correction_第7张图片

如果loss权值,用在一般的纠错模型中,是否回带来提升。 论文和半监督有什么关系

你可能感兴趣的:(论文阅读,机器学习,深度学习,算法)