掌桥专利:专业的专利平台
掌桥专利
首页

模型训练方法、装置、设备及计算机可读介质

文献发布时间:2023-06-19 10:41:48


模型训练方法、装置、设备及计算机可读介质

技术领域

本申请涉及自然语言处理技术领域,尤其涉及一种模型训练方法、装置、设备及计算机可读介质。

背景技术

命名实体识别是自然语言处理中一项基本任务,其目的是识别出文本中表示命名实体的成分并对其进行分类,例如识别出文本中的人名、地名、组织机构名等。命名实体识别这项任务虽然基础,但是有着广泛的应用场景。例如命名实体识别可以用于构建知识图谱,也可以用于提高搜索引擎的准确率,还可以帮助推荐系统更准确的进行推荐。因此,近些年的工业界和学术界关于命名实体识别任务的主要优化方向是提高准确率。随着像BERT-CRF这样基于预训练语言模型的模型崛起,命名实体识别的准确率已经能够达到应用落地的需求了。但是BERT-CRF模型由于参数量大,导致进行命名实体识别的效率较低。这将导致那些资源比较紧缺的小公司不得不加大资金投入,才能满足应用的需求。此外,对于各类智能硬件来说,其存储资源和运算资源都比较少,因此这样的模型也很难部署到这些智能硬件上。

目前,相关技术中,解决命名实体识别模型参数量大的方法分为两个思路。第一种思路是直接使用标注样本训练一个参数量少的模型,例如训练一个单层的BiLSTM-CRF模型;第二种思路是使用压缩后的预训练语言模型来设计新的命名实体识别模型,例如基于DistilBert或者TinyBert的命名实体识别模型。第一种思路模型的效果往往比较差,达不到落地应用的要求,第二种思路的最终模型的参数量取决于使用的预训练语言模型的参数量,这导致无法很好的控制模型的参数量,不够灵活。

针对BERT-CRF模型参数量大,识别效率较低的问题,目前尚未提出有效的解决方案。

发明内容

本申请提供了一种模型训练方法、装置、设备及计算机可读介质,以解决BERT-CRF模型参数量大,识别效率较低的技术问题。

根据本申请实施例的一个方面,本申请提供了一种模型训练方法,包括:将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果;将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果,第一模型的参数量大于第二模型的参数量,第一模型的识别准确度大于第二模型的识别准确度;利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数;利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值,第二模型的输出结果与第一模型的输出结果相同时,识别准确。

可选地,将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果包括:将训练样本输入第一模型,并获取第一模型的全连接层输出的第一非标准化概率分布;采用归一化函数将第一非标准化概率分布转换为第一标准化概率分布,第一识别结果包括第一标准化概率分布。

可选地,将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果包括:将训练样本和第一标准化概率分布输入第二模型,并获取第二模型的全连接层输出的第二非标准化概率分布;采用归一化函数将第二非标准化概率分布转换为第二标准化概率分布,并利用第二标准化概率分布确定训练样本的训练分类标签,第二识别结果包括第二标准化概率分布和训练分类标签。

可选地,利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数包括:利用第一标准化概率分布和第二标准化概率分布构建第一损失函数,第一损失函数表示第一标准化概率分布和第二标准化概率分布之间的交叉熵;利用训练样本的预分类标签和训练分类标签构建第二损失函数,第二损失函数表示预分类标签和训练分类标签之间的交叉熵,预标注数据包括预分类标签;将第一损失函数与第二损失函数相加,得到目标损失函数。

可选地,利用第一识别结果和第二识别结果构建目标损失函数还包括:遍历训练样本中的每一个单词,并根据每一个单词在第一模型和第二模型中全连接层的输出结果及每一个单词的预分类标签确定每一个单词的目标损失函数;将训练样本中所有单词的目标损失函数相加后,再除以训练样本中单词的个数,得到训练样本整体的目标损失函数。

可选地,利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值包括:获取目标损失函数确定的损失值,损失值用于表示第一模型和第二模型之间识别准确度的差异;利用损失值调整第二模型的参数,直至第二模型的输出精度达到目标阈值。

可选地,利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值之后,该方法还包括按照如下方式进行迁移集训练:将迁移数据集输入第一模型,并获取第一模型的全连接层输出的第三识别结果,迁移数据集为未进行数据标注的数据集;将迁移数据集和第三识别结果输入第二模型,并获取第二模型的全连接层输出的第四识别结果;采用归一化函数将第三识别结果转换为第三标准化概率分布,采用归一化函数将第四识别结果转换为第四标准化概率分布;利用第三标准化概率分布和第四标准化概率分布构建软标签损失函数;利用软标签损失函数确定的损失值调整第二模型的参数,直至第二模型的输出精度达到迁移集目标阈值。

可选地,利用软标签损失函数确定的损失值调整第二模型的参数,直至第二模型的输出精度达到迁移集目标阈值之后,该方法还包括按照如下方式进行训练集微调:在没有第一模型的第一识别结果的情况下,将训练样本输入第二模型中对第二模型进行训练,以调整第二模型的参数,没有第一识别结果的情况下对第二模型进行参数调整的调整比例小于有第一识别结果的情况下对第二模型进行参数调整的调整比例。

根据本申请实施例的另一方面,本申请提供了一种模型训练装置,包括:第一训练模块,用于将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果;第二训练模块,用于将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果,第一模型的参数量大于第二模型的参数量,第一模型的识别准确度大于第二模型的识别准确度;损失函数构建模块,用于利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数;参数调整模块,用于利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值,第二模型的输出结果与第一模型的输出结果相同时,识别准确。

根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。

根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。

本申请实施例提供的上述技术方案与相关技术相比具有如下优点:

本申请技术方案为将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果;将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果,第一模型的参数量大于第二模型的参数量,第一模型的识别准确度大于第二模型的识别准确度;利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数;利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值,第二模型的输出结果与第一模型的输出结果相同时,识别准确。本申请采用全连接层的输出进行知识蒸馏,通过构建目标损失函数来缩小两个模型的输出差距,从而使参数量较少的模型也能有较高的输出精度,进而提升识别效率,解决了模型参数量大导致识别效率低的问题。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本申请实施例提供的一种可选的模型训练方法硬件环境示意图;

图2为根据本申请实施例提供的一种可选的模型训练方法流程图;

图3为根据本申请实施例提供的一种可选的第一模型结构示意图;

图4为根据本申请实施例提供的可选的第二模型训练效果示意图;

图5为根据本申请实施例提供的一种可选的模型训练装置框图;

图6为本申请实施例提供的一种可选的电子设备结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

相关技术中,解决命名实体识别模型参数量大的方法分为两个思路。第一种思路是直接使用标注样本训练一个参数量少的模型,例如训练一个单层的BiLSTM-CRF模型;第二种思路是使用压缩后的预训练语言模型来设计新的命名实体识别模型,例如基于DistilBert或者TinyBert的命名实体识别模型。第一种思路模型的效果往往比较差,达不到落地应用的要求,第二种思路的最终模型的参数量取决于使用的预训练语言模型的参数量,这导致无法很好的控制模型的参数量,不够灵活。

BERT-CRF模型由于参数量大,导致进行命名实体识别的效率较低。这将导致那些资源比较紧缺的小公司不得不加大资金投入,才能满足应用的需求。此外,对于各类智能硬件来说,其存储资源和运算资源都比较少,因此这样的模型也很难部署到这些智能硬件上。

为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种模型训练方法的实施例。

可选地,在本申请实施例中,上述模型训练方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。

本申请实施例中的一种模型训练方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:

步骤S202,将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果;

步骤S204,将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果,第一模型的参数量大于第二模型的参数量,第一模型的识别准确度大于第二模型的识别准确度;

步骤S206,利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数;

步骤S208,利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值,第二模型的输出结果与第一模型的输出结果相同时,识别准确。

本申请实施例提供的一种模型训练方法可以应用于命名实体识别。命名实体识别是自然语言处理任务中的一项基础任务,其目的是识别出文本中表示命名实体的成分并对其进行分类,例如将实体分为人名、地名、组织机构名、时间、数字等。

命名实体识别的标签体系可以采用BIO标注体系,即使用“B”、“I”和“O”作为前缀来表示实体的位置,使用自定义的标签表示实体的类别。具体来说,“B”表示命名实体的开始位置,“I”表示命名实体的内部,“O”表示非命名实体。常见的命名实体识别任务中需要识别人名、地名和组织机构名,可以分别使用PER(person)、LOC(location)和ORG(organization)表示对应的实体类别。以此为例,则实体标签共有7个类别,包括:B-PER、I-PER、B-LOC、I-LOC、B-ORG、I-ORG、O,如表1所示的例子。

表1

本申请实施例中,上述训练样本为预先进行类别标注的样本,标注内容即为上述预标注数据,若训练样本为x=(x

表2

本申请实施例中,上述第一模型可以是BERT-CRF模型。BERT-CRF模型是一种基于预训练语言模型BERT的命名实体识别模型,其结构可以分为四部分,分别是:输入表示层、BERT编码层、全连接层和CRF层(Conditional Random Field,条件随机场)。其整体结构如图3所示。BERT-CRF的模型参数量大,导致进行命名实体识别的速度很慢,因此本申请提出一种模型训练方法,通过知识蒸馏将第一模型作为教师模型,将第二模型作为学生模型,让学生模型学习教师模型的输出,构建目标损失函数的反向传播作用来缩小两个模型的差距,从而使得学生模型可以用较少的参数实现较高的识别准确度。上述第二模型可以是BiLSTM-CRF模型,可以是单层BiLSTM-CRF模型,也可以是多层BiLSTM-CRF模型。

本申请采用全连接层输出进行知识蒸馏,全连接层得到的信息比CRF层得到的信息多得多。例如,将上述“沙特队教练佩雷拉。”作为训练样本输入BERT-CRF模型,可以得到如表3所示的全连接层输出。

表3

以“沙”字为例,“沙”字对应的列,即“沙”字的全连接层输出为[-2.615,-1.177,-0.943,-0.128,0.7966,-0.366,0.0056],由于0.7966是列中的最大值,所以“沙”字的预测标签为B-ORG,与预标注的类别标签一致。而对应的CRF层输出则是[0,0,0,0,1,0,0],因此全连接层输出的信息要远远多于CRF层的输出信息,通过CRF层的输出只能判断出“沙”字的类别为B-ORG,而全连接层输出不但能够判断“沙”字的类别为B-ORG,还能判断出模型对该类别的确信程度以及与其他类别的差距。使用全连接层的输出进行知识蒸馏,可以更加有效的对学生模型进行训练。

通过上述S202至S208的步骤,本申请可以采用全连接层的输出进行知识蒸馏,通过构建目标损失函数来缩小两个模型的输出差距,从而使参数量较少的模型也能有较高的输出精度,进而提升识别效率,解决了模型参数量大导致识别效率低的问题。

可选地,步骤S202将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果包括:将训练样本输入第一模型,并获取第一模型的全连接层输出的第一非标准化概率分布;采用归一化函数将第一非标准化概率分布转换为第一标准化概率分布,第一识别结果包括第一标准化概率分布。

本申请实施例中,将训练样本x=(x

其中,T是一个标量超参,用于平滑,矩阵s是矩阵z经过softmax后的输出。矩阵s可以作为“指导”第二模型训练的第一识别结果输入到第二模型中。

可选地,步骤S204将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果包括:将训练样本和第一标准化概率分布输入第二模型,并获取第二模型的全连接层输出的第二非标准化概率分布;采用归一化函数将第二非标准化概率分布转换为第二标准化概率分布,并利用第二标准化概率分布确定训练样本的训练分类标签,第二识别结果包括第二标准化概率分布和训练分类标签。

本申请实施例中,将上述训练样本x=(x

并利用第二标准化概率分布s′确定第二模型对训练样本预测的训练分类标签y′。第二标准化概率分布s′和第二模型对训练样本预测的训练分类标签y′即为上述第二识别结果。

可选地,步骤S206利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数包括:利用第一标准化概率分布和第二标准化概率分布构建第一损失函数,第一损失函数表示第一标准化概率分布和第二标准化概率分布之间的交叉熵;利用训练样本的预分类标签和训练分类标签构建第二损失函数,第二损失函数表示预分类标签和训练分类标签之间的交叉熵,预标注数据包括预分类标签;将第一损失函数与第二损失函数相加,得到目标损失函数。

本申请实施例中,将第一模型得到的第一标准化概率分布s和第二模型得到的第二标准化概率分布s′构建第一损失函数:

其中,CE表示交叉熵损失函数,上述第一标准化概率分布实际上是第一模型对训练样本的预测概率,第二标准化概率分布实际上是第二模型对训练样本的预测概率,由模型预测的概率分布统称为软标签,因此上述第一损失函数也即为软标签损失函数。

本申请实施例中,将训练文本的预标注数据(人工标注的分类标签)y=(y

其中,CE表示交叉熵损失函数,y

本申请实施例中,将上述第一损失函数和第二损失函数相加,得到最终的目标损失函数,也称为蒸馏损失函数:

l=l

可选地,步骤S206利用第一识别结果和第二识别结果构建目标损失函数还包括:遍历训练样本中的每一个单词,并根据每一个单词在第一模型和第二模型中全连接层的输出结果及每一个单词的预分类标签确定每一个单词的目标损失函数;将训练样本中所有单词的目标损失函数相加后,再除以训练样本中单词的个数,得到训练样本整体的目标损失函数。

本申请实施例中,命名实体识别问题可以看作是对序列中每个单词(字)进行分类。因此,可以先计算每个单词的目标损失函数,然后对序列中所有单词的损失函数值进行平均,这样就得到整个序列的目标损失函数。

可选地,步骤S208利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值包括:获取目标损失函数确定的损失值,损失值用于表示第一模型和第二模型之间识别准确度的差异;利用损失值调整第二模型的参数,直至第二模型的输出精度达到目标阈值。

本申请实施例中,利用损失函数确定的损失值进行反向传播,以调整第二模型的参数,使得第二模型的输出结果逐渐与第一模型的输出结果相一致,从而将参数量较少的第二模型的识别准确度提升至与参数量大的第一模型一致,即达到目标阈值,最终解决BERT-CRF模型参数量大导致识别效率低的问题。

上述实施例提供了一种基于知识蒸馏的模型训练方法,可以将参数量较少的第二模型的识别准确度提升至与参数量大的第一模型一致,最终解决BERT-CRF模型参数量大导致识别效率低的问题。为了进一步改善蒸馏的效果,本申请还提出了一种三阶段的知识蒸馏方法,包括训练集蒸馏、迁移集蒸馏及训练集微调,其中,上述实施例为三阶段中的第一个阶段,即训练集蒸馏,下面对迁移集蒸馏和训练集微调作详细说明。

可选地,利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值之后,该方法还包括按照如下方式进行迁移集训练:

步骤1,将迁移数据集输入第一模型,并获取第一模型的全连接层输出的第三识别结果,迁移数据集为未进行数据标注的数据集;

步骤2,将迁移数据集和第三识别结果输入第二模型,并获取第二模型的全连接层输出的第四识别结果;

步骤3,采用归一化函数将第三识别结果转换为第三标准化概率分布,采用归一化函数将第四识别结果转换为第四标准化概率分布;

步骤4,利用第三标准化概率分布和第四标准化概率分布构建软标签损失函数;

步骤5,利用软标签损失函数确定的损失值调整第二模型的参数,直至第二模型的输出精度达到迁移集目标阈值。

本申请实施例中,由于原始训练集(上述训练样本)可能会比较小,无法充分的利用知识蒸馏方法将第一模型压缩至第二模型中,因此引入了迁移集蒸馏。迁移集蒸馏的流程和训练集蒸馏的流程大致相同,不同的是,上述迁移数据集为未预先进行人工标注的数据集,因此损失函数只包括软标签损失函数l

可选地,利用软标签损失函数确定的损失值调整第二模型的参数,直至第二模型的输出精度达到迁移集目标阈值之后,该方法还包括按照如下方式进行训练集微调:

在没有第一模型的第一识别结果的情况下,将训练样本输入第二模型中对第二模型进行训练,以调整第二模型的参数,没有第一识别结果的情况下对第二模型进行参数调整的调整比例小于有第一识别结果的情况下对第二模型进行参数调整的调整比例。

本申请实施例中,迁移集蒸馏中所用的迁移数据集理论上要与原始训练集(上述训练样本)分布类似,但在实际情况中很难找到数据量较大且与原始训练集分布类似的迁移数据集,因此在采用分布差距较大的数据集作为迁移数据集进行迁移集蒸馏后,还需要第三个阶段即训练集微调来使第二模型适应命名实体识别的目标域。

本申请实施例中,训练集微调的流程中,只将原始训练集,即上述训练样本x=(x

通过本申请提出的上述三个阶段的知识蒸馏,可以有效的将参数量较少的第二模型的识别准确度提升至与参数量大的第一模型一致,最终解决BERT-CRF模型参数量大导致识别效率低的问题。其中,第二模型在使用单层、双层及三层BiLSTM-CRF模型时实际效果也略有不同,如图4所示,可以看出,通过训练集蒸馏,可以将第二模型的识别准确度提升至0.75左右,通过迁移集蒸馏却下降到了0.7左右,这是因为迁移集和原始训练集分布差距大导致的,但通过训练集微调则可以进一步将第二模型的识别准确度提升至0.775。因此,本申请所提供的模型训练方法,通过三阶段的知识蒸馏,可以将参数量较少的第二模型的识别准确度提升至与参数量大的第一模型一致,最终解决BERT-CRF模型参数量大导致识别效率低的问题。

根据本申请实施例的又一方面,如图5所示,提供了一种模型训练装置,包括:

第一训练模块501,用于将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果;

第二训练模块503,用于将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果,第一模型的参数量大于第二模型的参数量,第一模型的识别准确度大于第二模型的识别准确度;

损失函数构建模块505,用于利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数;

参数调整模块507,用于利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值,第二模型的输出结果与第一模型的输出结果相同时,识别准确。

需要说明的是,该实施例中的第一训练模块501可以用于执行本申请实施例中的步骤S202,该实施例中的第二训练模块503可以用于执行本申请实施例中的步骤S204,该实施例中的损失函数构建模块505可以用于执行本申请实施例中的步骤S206,该实施例中的参数调整模块507可以用于执行本申请实施例中的步骤S208。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

可选地,该第一训练模块,具体用于:将训练样本输入第一模型,并获取第一模型的全连接层输出的第一非标准化概率分布;采用归一化函数将第一非标准化概率分布转换为第一标准化概率分布,第一识别结果包括第一标准化概率分布。

可选地,该第二训练模块,具体用于:将训练样本和第一标准化概率分布输入第二模型,并获取第二模型的全连接层输出的第二非标准化概率分布;采用归一化函数将第二非标准化概率分布转换为第二标准化概率分布,并利用第二标准化概率分布确定训练样本的训练分类标签,第二识别结果包括第二标准化概率分布和训练分类标签。

可选地,该损失函数构建模块,具体用于:利用第一标准化概率分布和第二标准化概率分布构建第一损失函数,第一损失函数表示第一标准化概率分布和第二标准化概率分布之间的交叉熵;利用训练样本的预分类标签和训练分类标签构建第二损失函数,第二损失函数表示预分类标签和训练分类标签之间的交叉熵,预标注数据包括预分类标签;将第一损失函数与第二损失函数相加,得到目标损失函数。

可选地,该损失函数构建模块,还用于:遍历训练样本中的每一个单词,并根据每一个单词在第一模型和第二模型中全连接层的输出结果及每一个单词的预分类标签确定每一个单词的目标损失函数;将训练样本中所有单词的目标损失函数相加后,再除以训练样本中单词的个数,得到训练样本整体的目标损失函数。

可选地,该参数调整模块,具体用于:获取目标损失函数确定的损失值,损失值用于表示第一模型和第二模型之间识别准确度的差异;利用损失值调整第二模型的参数,直至第二模型的输出精度达到目标阈值。

可选地,该装置还包括迁移集训练模块,用于:将迁移数据集输入第一模型,并获取第一模型的全连接层输出的第三识别结果,迁移数据集为未进行数据标注的数据集;将迁移数据集和第三识别结果输入第二模型,并获取第二模型的全连接层输出的第四识别结果;采用归一化函数将第三识别结果转换为第三标准化概率分布,采用归一化函数将第四识别结果转换为第四标准化概率分布;利用第三标准化概率分布和第四标准化概率分布构建软标签损失函数;利用软标签损失函数确定的损失值调整第二模型的参数,直至第二模型的输出精度达到迁移集目标阈值。

可选地,该装置还包括训练集微调模块,用于:在没有第一模型的第一识别结果的情况下,将训练样本输入第二模型中对第二模型进行训练,以调整第二模型的参数,没有第一识别结果的情况下对第二模型进行参数调整的调整比例小于有第一识别结果的情况下对第二模型进行参数调整的调整比例。

根据本申请实施例的另一方面,本申请提供了一种电子设备,如图6所示,包括存储器601、处理器603、通信接口605及通信总线607,存储器601中存储有可在处理器603上运行的计算机程序,存储器601、处理器603通过通信接口605和通信总线607进行通信,处理器603执行计算机程序时实现上述方法的步骤。

上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。

可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:

将训练样本输入第一模型,并获取第一模型的全连接层输出的第一识别结果;

将训练样本和第一识别结果输入第二模型,并获取第二模型的全连接层输出的第二识别结果,第一模型的参数量大于第二模型的参数量,第一模型的识别准确度大于第二模型的识别准确度;

利用第一识别结果、第二识别结果和训练样本的预标注数据构建目标损失函数;

利用目标损失函数调整第二模型中的参数,以使第二模型的识别准确度达到目标阈值,第二模型的输出结果与第一模型的输出结果相同时,识别准确。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 模型训练方法、装置、计算机设备及计算机可读存储介质
  • 模型训练方法、装置、计算机可读存储介质和计算机设备
技术分类

06120112640315