一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种结合对比学习与知识蒸馏的文本分类方法与流程

2022-12-13 21:00:52 来源:中国专利 TAG:


1.本发明涉及对比学习,文本分类技术领域,特别涉及一种结合对比学习与知识蒸馏的文本分类方法。


背景技术:

2.通常我们使用文本预训练模型,将文本预训练模型在目标领域进行预训练,降低通用领域与专用领域的gap,再将文本预训练模型接入下游文本分类任务。获得相对良好的分类结果。但是类似方法在训练过程中没有考虑到目标领域的文本没有被充分使用,词向量任务在训练过程中可能塌陷。
3.我们的方法是将预训练模型在目标领域经过一次目标域文本预训练降低通用领域与专用领域gap,然后先把使大量无标注数据按照对比学习的形式采用同一batchsize作为副样本,使同类句向量的距离变近,将其他句向量距离变远,再将少量带标注数据按照对比学习形式训练一次,从而提高句向量的有效性。最后将预训练模型接入下游任务进行训练。基于知识蒸馏的文本分类训练过程最终提高文本识别准确率。


技术实现要素:

4.本发明要解决的技术问题是克服现有技术的缺陷,提供一种结合对比学习与知识蒸馏的文本分类方法,充分使用领域内文本知识,同时充分吸收预训练老师模型知识,能够实现更高的准确率。
5.本发明提供了如下的技术方案:
6.本发明提供一种结合对比学习与知识蒸馏的文本分类方法,包括以下步骤:
7.s1、老师模型和学生模型都是预训练模型,老师模型精度高,具有更好的泛化能力,但是模型很大,推理时间过长,学生模型参数量较小;推理时间短,但精度相对较低;所以我们需要提高学生模型的准确率替代老师模型;
8.s2、老师模型和学生模型分别在目标域进行预训练;减少通用领域和目标领域之间的gap,提高老师模型和学生模型在当前目标域的泛化能力;
9.s3、老师模型在目标域的无标签数据上使用对比学习提高词向量质量,减少同类文本句向量之间的距离,增加异类文本句向量之间的距离;
10.取一组句子并使用是通过对xi和在全连接层的层之前使用了使用独立的dropout,概率默认p=0.2;我们表示其中z是dropout的随机掩码;我们只需将相同的输入输入输入编码器两次就可以得到不同的特征输出;
[0011][0012]
对于一小批n个句子;请注意,z只是transformer中的标准dropout掩码;对老师模
型进行迭代,有助于老师模型输出更有用的句向量;
[0013]
s4、学生模型在目标域的无标签数据上使用对比学习提高词向量质量,减少同类文本句向量之间的距离,增加异类文本句向量之间的距离;方法同上;
[0014]
s5、老师模型在目标域的少量有标签数据上使用对比学习提高词向量质量,减少同类文本句向量之间的距离,增加异类文本句向量之间的距离;
[0015]
形式上,我们将扩展到其中xi是本例,和分别是正例和反例的文本;
[0016][0017]
培训目标“i”由(n是最小批量)定义,是正例的句向量,是反例的句向量,也是反例得到的另外一个句向量,是温度超参数;
[0018]
s6、学生模型在目标域的少量有标签数据上使用对比学习提高词向量质量,减少同类文本句向量之间的距离,增加异类文本句向量之间的距离;方法同上;
[0019]
s7、通过对比学习强化句向量表示,最后在分类任务上使用知识蒸馏的方法进一步提高学生模型的精度,使用老师模型的输出层监督学生模型的输出层,在训练的过程中,老师网络模块不参加反向传播;只对学生网络模块进行反向传播;在训练过程中,老师网络模块始终不变;该方法充分利用了领域内有标注和无标注的数据,蒸馏过程中损失函数都由两部分构成;第一阶段使用老师模型的输出和学生模型的输出计算知识蒸馏损失,使用学生模型的输出和标签计算交叉熵损失,两者相加构成整体的损失函数。
[0020]
与现有技术相比,本发明的有益效果如下:
[0021]
本发明的一种结合对比学习与知识蒸馏的文本分类方法在图像分类和文本分类数据集上获得较高的准确率,继而体现出本发明的有效性;在神经网络模型广泛应用的今天,神经网络的推理时间和大小是限制神经网络应用场景的主要因素,基于此,本发明能明显能够有效提高模型准确率,扩大神经网络应用领域,使神经网络能够应用到更加丰富的场景中。
附图说明
[0022]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0023]
图1是本发明的实施例示意图之一,第三阶段基于无标注数据的对比学习;
[0024]
图2是本发明的实施例示意图之一,第四阶段基于有标注数据的对比学习。
具体实施方式
[0025]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。其中附图中相同的标号全部指的是相同的部件。
[0026]
实施例1
[0027]
如图1-2,本发明提供一种结合对比学习与知识蒸馏的文本分类方法,以对话文本意图分类作为业务场景,使用我们的方法大幅提高小模型的准确率,降低线上推理时间和难度,提高文本意图识别速度,具体的说,如图1和图2所示,按如下步骤进行:
[0028]
以自然语言处理领域中的经典神经网络模型bert/4层transformer为例。
[0029]
bert从上到下一共有12层transformer结构,4层transformer结构组成小模型。使用预训练bert作为老师模型,4层transformer组成的结构作为学生模型。该预训练模型在开源数据集训练过,良好的泛化能力。但是模型较大,深度较深。该bert不适合线上推理。
[0030]
4层transformer学生模型层数更少,对应的计算量也更少,对应的推理时间也更少。通过对老师模型的深度训练,使老师模型在目标领域具有较好的泛化能力。该方法可以通过知识蒸馏将预训练老师模型中的知识导入到当前学生模型中,同时将大型数据集中的知识也传递给了学生模型,最终学生模型泛化能力更好,提高了学生模型的准确率。由于老师模型与学生模型之间存在能力上的gap,所以我们需要在训练后期将所有老师网络全部撤出。由学生模型进行二次微调和训练,提高整体的适应能力。
[0031]
s1.训练的第一阶段,预训练bert模型在目标数据集上进行语言模型预训练后保存,
[0032]
s2.训练的第二阶段,预训练4层transformer模型在目标数据集上进行语言模型预训练后保存,
[0033]
s3.训练的第三阶段,老师模型和学生模型在目标域的无标签数据上使用对比学习提高句向量质量,减少同类文本句向量之间的距离,增加异类文本句向量之间的距离,
[0034]
s4.训练的第四阶段,老师模型和学生模型在目标域的少量有标签数据上使用对比学习进一步提高句向量质量,减少同类文本句向量之间的距离,增加异类文本句向量之间的距离,
[0035]
s5.训练的第五阶段,在分类任务上使用知识蒸馏的方法进一步提高学生模型的精度,使用老师模型的输出层监督学生模型的输出层,提高学生模型的泛化能力,在训练的第五阶段,损失函数都由两部分构成。首先使用老师模型的输出和学生模型的输出计算知识蒸馏损失,使用学生模型的输出和标签计算交叉熵损失,两者相加构成整体的损失函数。
[0036]
本发明的一种结合对比学习与知识蒸馏的文本分类方法在开源数据集上获得很好的准确率,继而体现出本发明的有效性;基于此,本发明能明显提高准确率,同时通过学生模型替代老师模型提高模型的推理速度,从而为提高神经网络在多领域应用做出突出贡献。
[0037]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献