一种校验标注数据的方法、模型训练的方法及装置

文档序号:153946 发布日期:2021-10-26 浏览:8次 >En<

阅读说明:本技术 一种校验标注数据的方法、模型训练的方法及装置 (Method for verifying labeled data, method and device for model training ) 是由 王君 姜奕祺 朱雄威 应江勇 于 2020-04-26 设计创作,主要内容包括:本申请公开了一种校验标注数据的方法,可应用于自动标注平台或模型训练设备中,该方法包括获取数据集,该数据集包括相同类别的N个标注数据,对数据集采用M种变换方式进行变换,得到M个变换组,其中,每个变换组包括与N个标注数据对应的N个变换数据,根据M个变换组,确定N个标注数据各自的异常度;根据N个标注数据各自的异常度,确定N个标注数据中类别标注存在异常的异常数据。本申请技术方案由于可以从标注数据中过滤出异常数据,从而可以提高标注数据的准确度。使用过滤后的标注数据进行各业务场景的网络模型训练,也可以提高网络模型的精度和鲁棒性。(The application discloses a method for verifying annotation data, which can be applied to an automatic annotation platform or model training equipment and comprises the steps of obtaining a data set, wherein the data set comprises N annotation data of the same category, transforming the data set by adopting M transformation modes to obtain M transformation groups, wherein each transformation group comprises N transformation data corresponding to the N annotation data, and determining the degree of abnormality of each of the N annotation data according to the M transformation groups; and determining abnormal data with abnormal category labels in the N labeled data according to the abnormal degree of the N labeled data. According to the technical scheme, abnormal data can be filtered from the marked data, so that the accuracy of the marked data can be improved. And the filtered labeling data is used for network model training of each service scene, so that the precision and the robustness of the network model can be improved.)

一种校验标注数据的方法、模型训练的方法及装置

技术领域

本申请涉及计算机技术领域,具体涉及一种校验标注数据的方法、模型训练的方法及装置。

背景技术

深度学习技术通过对大量样本的训练而获得具有广泛识别功能的网络模型。但是,实际训练过程中可能存在某些类别收集到的样本数量相对较少,不能全面反映这些类别的信息。采用某些类别数量较稀少的样本对网络模型进行训练,所训练出的网络模型准确度低,迁移能力弱。

网络模型的精度和鲁棒性与训练数据紧密相关,但人工标注持续获取样本数据的成本高、效率低。自动标注平台预置模型对无标签数据进行自动标注,这种自动标注平台标注的作为样本的标注数据往往存在误标、漏标以及同一目标物被识别为多种标签的情况。

目前标注数据的准确度问题亟待解决。

发明内容

本申请实施例提供一种校验标注数据的方法,用于提高标注数据的准确度。本申请实施例还提供了模型训练的方法及装置。

本申请第一方面提供一种校验标注数据的方法,包括:获取数据集,数据集包括相同类别的N个标注数据,N为大于1的整数;对数据集采用M种变换方式进行变换,得到M个变换组,其中,每个变换组包括与N个标注数据对应的N个变换数据,M为大于1的整数;根据M个变换组,确定N个标注数据各自的异常度;根据N个标注数据各自的异常度,确定N个标注数据中类别标注存在异常的异常数据。其中,一个变换方式对应一个变换组,任一个变换组中包括的N个变换数据是N个标注数据采用M种变换方式中的一种变换方式进行变换后得到的。

上述第一方面提供的校验标注数据的方法可应用于自动标注平台中,可以对自动标注平台输出的标注数据进行校验,也可以应用于一些网络模型训练设备中,在该设备开始模型训练前,先对模型训练过程中要使用的标注数据进行校验。该方案可以位于独立的计算机设备上,如:服务器或终端设备上,也可以位于虚拟机(virtual machine,VM)上。该方案也可以是以软件包的形式存储在相应的设备上来实现相应的校验功能。相同类别指的是标注数据的标签相同,例如:标签为“车”的标注数据属于一个类别,标签为“人”的标注数据属于一个类别,标签为“路灯”的属于一个类别,当然,这里的标签名称只是举例,在不同应用场景中,标注数据的标签名称不同。对数据集所采用的变换方式与标注数据的类型有关,不同类型的标注数据所采用的变换方式可以不同,标注数据的类型可以包括文本类型、语音类型和图像类型,在变换时对文本数据、语音数据和图像数据所采用的变换方式可以不同。异常度指的是标注数据的异常程度。异常数据指的是类别标注错误的数据,例如:将本应是车的数据标注成了人。该第一方面,可以根据标注数据的多个变换数据确定各标注数据的异常度,根据异常度确定出标注存在异常的异常数据,然后从标注数据中过滤出异常数据,这样可以提高标注数据的准确度。使用过滤后的标注数据进行各业务场景的网络模型训练,也可以提高网络模型的精度和鲁棒性。

在第一方面的一种可能的实现方式中,上述步骤:根据M个变换组,确定N个标注数据各自的异常度,包括:根据目标损失函数确定M个第一变换数据中每个第一变换数据的异常度,M个第一变换数据为M个变换组中分别与第一标注数据对应的变换数据,第一标注数据为数据集中的任意一个标注数据,目标损失函数用于表示异常度与锚点数据、正例数据和负例数据之间的第一对应关系,在确定第j个变换组中第一变换数据的异常度时,第j个变换组中的第一变换数据为锚点数据,第j个变换组的聚类中心为正例数据,第i个变换组的聚类中心为负例数据,j为整数,且j为[1,M]中的一个值,i为整数,且i为[1,M]中除j之外的每个值,聚类中心为采用聚类算法对交换组中的N个变换数据进行计算得到;将M个第一变换数据的异常度的平均值确定为第一标注数据的异常度。其中,第j个变换组是N个标注数据中每个标注数据采用第j种变换方式进行变换得到的N个变换数据的集合。M个第一变换数据中的第j个第一变换数据是位于第j个变换组中,由第一标注数据采用第j种变换方式进行变换并降维得到的。由于变换组是按照变换方式划分的,同一个变换组中的变换数据是N个标注数据采用相同变换方式变换并降维得到的,所以每个变换组中都包括变换后的第一标注数据,即第一变换数据。该M个第一变换数据也可以是变换并降维后得到的。

该种可能的实现方式中,该目标损失函数,也就是第一对应关系可以表示为其中Ltri表示异常度,表示若内的取值为正,则Ltri等于该值,若内的取值小于0,则Ltri等于0。<xa,xp,xn>是一个三元组,xa是锚点数据,xp是正例数据,xn是负例数据。||xn-xa||表示范数,又称为欧几里得范数,表示xn与xa之间的距离。同理,||xn-xp||表示xn与xp之间的距离,||xa-xp||表示xa与xp之间的距离。聚类中心是采用聚类算法对N个变换数据进行计算得到的,可以是该变换组中所有变换数据的平均值,也可以是该变换组中最靠近该平均值的一个变换数据。聚类算法通常采用K-mean算法。由该种可能的实现方式可知,通过M个变换数据的异常度求平均值得到标注数据的异常度,相比于直接采用标注数据来计算异常度,可以避免标注数据的异常度的计算偏差,提高了标注数据的异常度的准确度。

在第一方面的一种可能的实现方式中,第一对应关系为异常度与通过锚点数据、正例数据和负例数据所表示的目标夹角之间的关系,目标夹角为以锚点数据、正例数据和负例数据为顶点所形成的三角形中,以负例数据为顶点的夹角,三角形的三条边的长度包括:从锚点数据到正例数据的距离,从锚点数据到负例数据的距离,从正例数据到负例数据的距离。

该种可能的实现方式中,可以将锚点数据xa、正例数据xp和负例数据xn理解为三个点,这三个点作为三个顶点形成三角形,这三个顶点之间的两两距离||xn-xa||、||xn-xp||以及||xa-xp||为三角形的三条边的长度。异常度为目标夹角之间的关系可以称为第二对应关系,该第二对应关系可以表示为其中,β是负例数据作为顶点的夹角,cosβ表示目标夹角的余弦,可以通过三角形中目标夹角的余弦cosβ与三条边的长度||xn-xa||、||xn-xp||以及||xa-xp||的关系推导出上述第一对应关系式

在第一方面的一种可能的实现方式中,上述步骤:根据M个变换组,确定N个标注数据各自的异常度,包括:将M个变换组输入到目标神经网络模型中;通过目标神经网络模型确定N个标注数据各自的异常度,目标神经网络模型包括目标降维模型和基于角度的三元损失函数,目标降维模型用于对M个变换组进行降维,基于角度的三元损失函数表示异常度与通过锚点数据、正例数据和负例数据所表示的目标夹角之间的关系,目标夹角为以锚点数据、正例数据和负例数据为顶点所形成的三角形中,以负例数据为顶点的夹角,三角形的三条边的长度包括:从锚点数据到正例数据的距离,从锚点数据到负例数据的距离,从正例数据到负例数据的距离,锚点数据为降维后的变换组中的任意一个变换数据,正例数据为锚点数据所在变换组的聚类中心,负例数据为与锚点数据所在的变换组不同的另一变换组的聚类中心,聚类中心为采用聚类算法对交换组中的N个变换数据进行计算得到。

该种可能的实现方式中,目标神经网络模型是预先训练好的模型,只要将M个变换组输入到目标神经网络模型中,该目标神经网络模型就可以输出N个标注数据各自的异常度。该目标神经网络模型包括基于角度的三元损失函数,该基于角度的三元损失函数可以参阅前述第一对应关系和第二对应关系进行理解。

在第一方面的一种可能的实现方式中,上述步骤:通过目标神经网络模型确定N个标注数据各自的异常度,包括:运行目标神经网络模型对M个变换组进行降维,并确定降维后的M个第一变换数据中每个第一变换数据的异常度,M个第一变换数据的异常度的平均值为第一标注数据的异常度;M个第一变换数据为降维后的M个变换组中分别与第一标注数据对应的变换数据,第一标注数据为数据集中的任意一个标注数据,在确定第j个变换组中第一变换数据的异常度时,第j个变换组中的第一变换数据为锚点数据,第j个变换组的聚类中心为正例数据,第i个变换组的聚类中心为负例数据,j为整数,且j为[1,M]中的一个值,i为整数,且i为[1,M]中除j之外的每个值。

该种可能的实现方式中,目标神经网络模型在确定N个标注数据的异常度的过程中也可以采用先确定与标注数据对应的M个变换数据,然后再求平均值的到标注数据的异常度的方案,相比于直接采用标注数据来计算异常度,可以避免标注数据的异常度的计算偏差,提高了标注数据的异常度的准确度。

在第一方面的一种可能的实现方式中,上述步骤:根据N个标注数据各自的异常度,确定N个标注数据中类别标注存在异常的异常数据,包括:根据N个标注数据各自的异常度,确定异常度偏离阈值范围的标注数据为类别标注存在异常的异常数据。

该种可能的实现方式中,阈值范围可以是从0到一个阈值上限之间的范围,若异常度落入这个范围内,这可以确定为类别标注正确的标注数据,若异常度超过了该阈值上限,则可以确定为类别标注存在异常的异常数据。该阈值范围也可以是一个正态分布区间,例如,从2%至98%,若该标注数据的异常度归一化后落入了2%至98%的范围,则以确定为类别标注正确的标注数据,若标注数据的异常度归一化后小于2%或者大于98%,则可以确定为类别标注存在异常的异常数据。当然,这里的2%至98%只是举例,具体阈值范围的取值可以根据需求设定。

在第一方面的一种可能的实现方式中,N个标注数据为文本数据、语音数据或图像数据。

该种可能的实现方式中,文本数据中可以包括结构化的数据,结构化的数据为按照一定结构存储的数据,例如:物联网中通过很多个传感器采集的数据按照结构化的形式存储。该种可能的实现方式表示,该第一方面的校验标注数据的方法可以应用于全业务场景中,具有通用性。

在第一方面的一种可能的实现方式中,当标注数据为文本数据时,数据集进行变换的方式包括如下至少一种:加密、解密、特征提取、采用生成对抗网络生成对抗网络(generative adversarial networks,GANs,)的变换以及采用信息抽取和文本生成的变换。

该种可能的实现方式中,加密的方式指的是在标注数据上加上密码,从而得到与该标注数据对应的变换数据。解密的方式指的是对加密的标注数据进行解密,从而得到与该标注数据对应的变换数据。当然,该种变换方式针对的是处于加密状态的标注数据的变换,若标注数据没有加密,则不需要采用解密的变换方式。采用特征提取的变换可以采用现有的特征提取方法提取文本数据中的特征,从而实现文本数据的变换,从文本数据中提取出的特征即为与该文本数据对应的变换数据。采用生成对抗网络的变换可以使用生成对抗网络将文本数据作为输入,该生成对抗网络输出的数据即为与该文本数据对应的变换数据。采用信息抽取和文本生成的变换可以是从文本数据中抽取出关键词然后再对关键词进行拼接,从而得到与该文本数据对应的变换数据。

在第一方面的一种可能的实现方式中,当标注数据为语音数据时,数据集进行变换的方式包括如下至少一种:加密、解密、加入不同噪声、特征提取以及采用生成对抗网络的变换。

该种可能的实现方式中,加密、解密、特征提取与采用生成对抗网络的变换与上面的解释相同,此处不再重复赘述。采用加入不同噪声的变换可以是在语音数据中加入噪声,从而得到变换数据。

在第一方面的一种可能的实现方式中,当标注数据为图像数据时,数据集的变换方式包括如下至少一种:平移、旋转、拼接、加密、解密和采用生成对抗网络的变换。

该种可能的实现方式中,平移就是将图像向上、下、左或右等各方向平行移动。旋转就是将图像旋转不同的角度,拼接就是将至少两个小图像拼接在一起形成一个大图像。采用生成对抗网络的变换可以在标注数据的图像基础上生成另一幅图像。

本申请第二方面提供一种模型训练的方法,包括:获取训练样本集,训练样本集包括至少一个数据集,同一个数据集中的N个标注数据的类别相同,N为大于1的整数;对每个数据集采用M种变换方式进行变换,得到至少一个变换集,每个变换集包括M个变换组,其中,每个变换组包括与N个标注数据对应的N个变换数据,M为大于1的整数;将至少一个变换集输入待训练的初始神经网络模型,得到目标神经网络模型,该初始神经网络模型包括初始降维模型和基于角度的三元损失函数,初始降维模型用于对每个变换组中的变换数据进行降维,基于角度的三元损失函数用于根据降维后的变换数据确定变换数据的异常度,异常度用于调整初始降维模型中的参数得到目标降维模型,目标降维模型包含于目标神经网络模型,基于角度的三元损失函数表示异常度与通过锚点数据、正例数据和负例数据所表示的目标夹角之间的关系,目标夹角为以锚点数据、正例数据和负例数据为顶点所形成的三角形中,以负例数据为顶点的夹角,三角形的三条边的长度包括:从锚点数据到正例数据的距离,从锚点数据到负例数据的距离,从正例数据到负例数据的距离,锚点数据为变换组中的任意一个变换数据,正例数据为锚点数据所在变换组的聚类中心,负例数据为与锚点数据所在的变换组不同的另一变换组的聚类中心,聚类中心为采用聚类算法对交换组中的N个变换数据进行计算得到。

该第二方面中,基于角度的三元损失函数的关系式可以表示为: 其中Ltri表示异常度,表示若内的取值为正,则Ltri等于该值,若内的取值小于0,则Ltri等于0。<xa,xp,xn>是一个三元组,xa是锚点数据,xp是正例数据,xn是负例数据。||xn-xa||表示范数,又称为欧几里得范数,表示xn与xa之间的距离。同理,||xn-xp||表示xn与xp之间的距离,||xa-xp||表示xa与xp之间的距离。可以将锚点数据xa、正例数据xp和负例数据xn理解为三个点,这三个点作为三个顶点形成三角形,这三个顶点之间的两两距离||xn-xa||、||xn-xp||以及||xa-xp||为三角形的三条边的长度。异常度为目标夹角之间的关系可以称为第二对应关系,该第二对应关系可以表示为其中,β是负例数据作为顶点的夹角,cosβ表示目标夹角的余弦。该第二方面通过基于角度的三元损失函数训练得到目标降维模型,从而得到目标神经网络模型,因为角度范围比较有限,比较容易设定,可以降低网络模型训练的复杂度,另外,还可以确保该目标神经网络模型的通用性,可以应用于如:文本数据、语音数据和图像数据等全业务应用场景。

在第二方面的一种可能的实现方式中,上述步骤:将至少一个变换集输入待训练的初始神经网络模型,得到目标神经网络模型,包括:使用锚点数据组,确定锚点数据组的异常度,锚点数据组包括P个锚点数据,P个锚点数据为同一个变换集中的P个变换数据,锚点数据组异常度是每个锚点数据的异常度之和,每个锚点数据的异常度通过三元损失函数得到,P为大于等于1的整数;根据异常度调整初始降维模型,得到优化降维模型,优化降维模型用于得到目标降维模型。

该种可能的实现方式中虽然只描述了一次优化过程,实际上该过程是迭代进行的,在每次迭代之后都更换不同的锚点数据组,直到异常度达到目标,得到目标降维模型,才结束迭代。通过锚点数据组,一次采用多个锚点数据确定三元损失函数的异常度,可以提高网络模型训练的速度和准确度。

在第二方面的一种可能的实现方式中,上述步骤:将至少一个变换集输入待训练的初始神经网络模型,得到目标神经网络模型,包括:将第j个变换组中的第t个变换数据作为锚点数据,将第j个变换组的聚类中心作为正例数据,将第i个变换组的聚类中心作为负例数据,确定目标夹角与预设角度的关系,j为整数,i为整数,1≤j≤M,1≤i≤M,且j≠i,第j个变换组为至少一个交换集中的一个变换组;若目标夹角大于预设角度,则调整初始降维模型,得到优化降维模型,优化降维模型用于得到目标降维模型。

该种可能的实现方式中虽然只描述了一次优化过程,实际上该过程是迭代进行的,在每次迭代之后都更换不同的锚点数据,直到异常度达到目标,得到目标降维模型,才结束迭代。通过目标夹角与预设角度的大小关系来确定是否调整模型,可以提高网络模型训练的准确度。

本申请第三方面提供一种校验标注数据的装置,该校验标注数据的装置具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:获取单元、变换单元、第一确定单元和第二确定单元。

本申请第四方面提供一种模型训练的装置,该模型训练的装置具有实现上述第二方面或第二方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:获取单元、变换单元和处理单元。

本申请第五方面提供一种计算机设备,该计算机设备包括至少一个处理器、存储器、输入/输出(input/output,I/O)接口以及存储在存储器中并可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。

本申请第六方面提供一种计算机设备,该计算机设备包括至少一个处理器、存储器、输入/输出(input/output,I/O)接口以及存储在存储器中并可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述第二方面或第二方面任意一种可能的实现方式所述的方法。

本申请第七方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当所述计算机执行指令被处理器执行时,所述处理器执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。

本申请第八方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当所述计算机执行指令被处理器执行时,所述处理器执行如上述第二方面或第二方面任意一种可能的实现方式所述的方法。

本申请第九方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当所述计算机执行指令被所述处理器执行时,所述处理器执行上述第一方面或第一方面任意一种可能实现方式的方法。

本申请第十方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当所述计算机执行指令被所述处理器执行时,所述处理器执行上述第二方面或第二方面任意一种可能实现方式的方法。

本申请第十一方面提供了一种芯片系统,该芯片系统包括处理器,用于支持校验标注数据的装置实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存校验标注数据的装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

本申请第十二方面提供了一种芯片系统,该芯片系统包括处理器,用于支持模型训练的装置实现上述第二方面或第二方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存模型训练的装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

其中,第三、第五、第七、第九和第十一方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。

其中,第四、第六、第八、第十和第十二方面或者其中任一种可能实现方式所带来的技术效果可参见第二方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。

本申请实施例提供的校验标注数据的方案,可以根据标注数据的多个变换数据确定各标注数据的异常度,根据异常度确定出标注存在异常的异常数据,然后从标注数据中过滤出异常数据,这样可以提高标注数据的准确度。使用过滤后的标注数据进行各业务场景的网络模型训练,也可以提高网络模型的精度和鲁棒性。

附图说明

图1是本申请实施例提供的自动标注平台的一结构示意图;

图2是本申请实施例提供的模型训练设备的一结构示意图;

图3是本申请实施例提供的校验标注数据的方法的一实施例示意图;

图4是本申请实施例提供的目标夹角示意图;

图5是本申请实施例提供的模型训练的方法的一实施例示意图;

图6是本申请实施例提供的异常度的确定过程的一实施例示意图;

图7是本申请实施例提供的异常数据的一表现形式示意图;

图8是本申请实施例提供的校验标注数据的装置的一实施例示意图;

图9是本申请实施例提供的模型训练的装置的一实施例示意图;

图10是本申请实施例提供的计算机设备的一实施例示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例提供一种校验标注数据的方法,用于提高标注数据的准确度。本申请实施例还提供了模型训练的方法及装置。以下分别进行详细说明。

人工智能(artificial intelligence,AI)是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

无论是在人工智能的哪个方向,都会涉及到网络模型,例如:深度神经网络(deepneural networks,DNN)模型,卷积神经网络(convolutional neuron nrtwork,CNN)模型等。使用不同业务场景的标注数据对初始网络模型进行训练,就可得到适用于该业务场景的目标网络模型。例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗以及智能客服等,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

在训练适用于不同业务场景的网络模型时,需要用到大量的标注数据,通常标注数据越多,标注数据的准确度越高,训练好的目标网络模型的准确度越高,鲁棒性越好,迁移能力也强。

标注数据都是带有标签的,该标签可以是通过人工标注上的,也可以是自动标注平台标注的,自动标注平台标注的标注数据经常会出现标注错误,若这些标注错误的标注数据用于训练网络模型,会影响目标网络模型的准确度、鲁棒性以及迁移能力。若在训练网络模型前能及时将这些标注错误的标注数据过滤出来,则可以提高标注数据的准确度,进而可以提高目标网络模型的准确度、鲁棒性以及迁移能力。基于此,本申请实施例提供一种校验标注数据的方法,该方法可应用于如图1所示的自动标注平台中,或者,该方法也可以应用于如图2所示的模型训练设备中。

如图1所示,该自动标注平台包括自动标注装置101和校验装置102,该自动标注装置101可以对未标注的数据进行标注,输出带标签的标注数据。校验装置102可以对标注数据进行校验,过滤出标注数据中标注异常的异常数据,过滤出异常数据后剩余的标注数据为标注正确的正常数据。该自动标注装置101输出的标注数据经过校验装置102校验后,可以提高自动标注平台最后输出的标注数据的准确度。

如图2所示,模型训练设备在训练网络模型时,从数据库获取标注数据,该标注数据先进入校验模块201,该校验模块201对标注数据进行校验,过滤掉其中标注异常的异常数据,然后将过滤后的已标注数据作为训练样本用于训练网络模型,训练样本的准确度提高了,可以提高所训练的网络模型的准确度以及鲁棒性。

上述图1中的校验装置102,以及图2中的校验模块201可以位于独立的计算机设备上,也可以位于虚拟机(virtual machine,VM)上。该校验装置102或校验模块201可以是硬件设备,如:服务器或终端设备上。该校验装置102或校验模块201也可以是以软件包的形式存储在相应的设备上来实现相应的校验功能。

下面结合图3介绍本申请实施例提供的校验标注数据的方法。

如图3所示,本申请实施例提供的校验标注数据的方法的一实施例包括:

301、获取数据集。

数据集包括相同类别的N个标注数据,N为大于1的整数。

相同类别指的是标注数据的标签相同,例如:标签为“车”的标注数据属于一个类别,标签为“人”的标注数据属于一个类别,标签为“路灯”的属于一个类别,当然,这里的标签名称只是举例,在不同应用场景中,标注数据的标签名称不同。

302、对数据集采用M种变换方式进行变换,得到M个变换组。

其中,每个变换组包括与N个标注数据对应的N个变换数据,M为大于1的整数。

该步骤302也可以描述为对数据集采用M种变换方式进行变换,以得到M个变换组。

其中,一个变换方式对应一个变换组,任一个变换组中包括的N个变换数据是N个标注数据采用M种变换方式中的一种变换方式进行变换后得到的。

对数据集所采用的变换方式与标注数据的类型有关,不同类型的标注数据所采用的变换方式可以不同,标注数据的类型可以包括文本类型、语音类型和图像类型,在变换时对文本数据、语音数据和图像数据所采用的变换方式可以不同。

若数据集中的N个标注数据表示为[标注数据1、标注数据2,…,标注数据N],则M个变换组可以表示为:

变换组1[变换数据11、变换数据12,…,变换数据1N],变换组1中的变换数据11至变换数据1N是采用第一种变换方式得到的。

变换组2[变换数据21、变换数据22,…,变换数据2N],变换组2中的变换数据21至变换数据2N是采用第二种变换方式得到的。

……

变换组M[变换数据M1、变换数据M2,…,变换数据MN],变换组M中的变换数据M1至变换数据MN是采用第M种变换方式得到的。

其中,第一种变换方式至第M种变换方式各不相同。

其中,变换数据11、变换数据21,…,变换数据M1都是在标注数据1的基础上采用不同的变换方式得到的。

同理,变换数据12、变换数据22,…,变换数据M2都是在标注数据2的基础上采用不同的变换方式得到的。变换数据1N、变换数据2N,…,变换数据MN都是在标注数据N的基础上采用不同的变换方式得到的。

303、根据M个变换组,确定N个标注数据各自的异常度。

异常度指的是标注数据的标签的异常程度。也可以理解为是该标注数据的标签与该标注数据的正确标签的差异程度,如:对于正确标签是“车”的标注数据,计算出的该标注数据的异常度可以为该标注数据的标签偏离“车”的程度。

304、根据N个标注数据各自的异常度,确定N个标注数据中类别标注存在异常的异常数据。

可选地,该步骤304包括:根据N个标注数据各自的异常度,确定异常度偏离阈值范围的标注数据为类别标注存在异常的异常数据。

阈值范围可以是从0到一个阈值上限之间的范围,若异常度落入这个范围内,这可以确定为类别标注正确的标注数据,若异常度超过了该阈值上限,则可以确定为类别标注存在异常的异常数据。该阈值范围也可以是一个正态分布区间,例如,从2%至98%,若该标注数据的异常度归一化后落入了2%至98%的范围,则以确定为类别标注正确的标注数据,若标注数据的异常度归一化后小于2%或者大于98%,则可以确定为类别标注存在异常的异常数据。当然,这里的2%至98%只是举例,具体阈值范围的取值可以根据需求设定。

异常数据指的是类别标注错误的数据,例如:将本应是“车”的数据标注成了“路灯”。

本申请实施例中,可以根据标注数据的多个变换数据确定各标注数据的异常度,根据异常度确定出标注存在异常的异常数据,然后从标注数据中过滤掉异常数据,这样可以提高标注数据的准确度。使用过滤后的标注数据进行各业务场景的网络模型训练,也可以提高网络模型的精度和鲁棒性。

可选地,本申请实施例中,N个标注数据为文本数据、语音数据或图像数据。文本数据中可以包括结构化的数据,结构化的数据为按照一定结构存储的数据,例如:物联网中通过很多个传感器采集的数据按照结构化的形式存储。

不同业务场景的标注数据可以使用不同的变换方式。也就是说,当标注数据为文本数据、语音数据或图像数据时,可以采用不用的变换方式,下面分别进行介绍。

1、N个标注数据为文本数据。

当标注数据为文本数据时,数据集进行变换的方式包括如下至少一种:加密、解密、特征提取、采用生成对抗网络生成对抗网络(generative adversarial networks,GANs,)的变换以及采用信息抽取和文本生成的变换。

加密的方式指的是在标注数据上加上密码,从而得到与该标注数据对应的变换数据。

解密的方式指的是对加密的标注数据进行解密,从而得到与该标注数据对应的变换数据。当然,该种变换方式针对的是处于加密状态的标注数据的变换,若标注数据没有加密,则不需要采用解密的变换方式。

采用特征提取的变换可以采用现有的特征提取方法提取标注数据中的特征,从而实现标注数据的变换,从标注数据中提取出的特征即为与该标注数据对应的变换数据。

采用生成对抗网络的变换可以使用生成对抗网络将标注数据作为输入,该生成对抗网络输出的数据即为与该标注数据对应的变换数据。

采用信息抽取和文本生成的变换可以是从标注数据中抽取出关键词然后再对关键词进行拼接,从而得到与该标注数据对应的变换数据。

变换方式可以上述几种变换方式中的任意一种,也可以是其中两种或多种的组合。

2、N个标注数据为语音数据。

当标注数据为语音数据时,数据集进行变换的方式包括如下至少一种:加密、解密、加入不同噪声、特征提取以及采用生成对抗网络的变换。

关于加密、解密、特征提取以及采用生成对抗网络的变换可以参阅上述文本数据部分的相应解释进行理解,此处不再重复赘述。

采用加入不同噪声的变换可以是在语音数据中加入噪声,从而得到变换数据。噪声加入的量不同,可以认为是不同的变换方式。

变换方式可以上述几种变换方式中的任意一种,也可以是其中两种或多种的组合。

3、N个标注数据为图像数据。

当标注数据为图像数据时,数据集的变换方式包括如下至少一种:平移、旋转、拼接、加密、解密和采用生成对抗网络的变换。

平移就是将图像向上、下、左或右等各方向平行移动,从而得到与该图像数据对应的变换数据。

旋转就是将图像旋转不同的角度,从而得到与该图像数据对应的变换数据。

拼接就是将至少两个小图像拼接在一起形成一个大图像。

采用生成对抗网络的变换可以在标注数据的图像基础上生成另一幅图像。

变换方式可以上述几种变换方式中的任意一种,也可以是其中两种或多种的组合。

本申请实施例中,针对不同类型的标注数据可以采用不同的变换方式进行变换,从而使得不同类型的标注数据都可得到有效变换。

变换后得到的变换数据需要执行上述实施例中的步骤303,关于上述步骤303可以通过两种方案实现,以下分别进行介绍。

方案A:根据目标损失函数确定M个第一变换数据中每个第一变换数据的异常度,将M个第一变换数据的异常度的平均值确定为第一标注数据的异常度。

标注数据经过变换后得到的通常是高维数据,通常需要先对高维数据进行降维,得到低维的变换数据。

其中,M个第一变换数据为M个变换组中分别与第一标注数据对应的变换数据,第一标注数据为数据集中的任意一个标注数据,目标损失函数用于表示异常度与锚点数据、正例数据和负例数据之间的第一对应关系,在确定第j个变换组中第一变换数据的异常度时,第j个变换组中的第一变换数据为锚点数据,第j个变换组的聚类中心为正例数据,第i个变换组的聚类中心为负例数据,j为整数,且j为[1,M]中的一个值,i为整数,且i为[1,M]中除j之外的每个值,聚类中心为采用聚类算法对交换组中的N个变换数据进行计算得到。也就是说,在计算第j个变换组中第一变换数据的异常度时,保持该j个变换组中的第一变换数据作为锚点数据不变,只要满足i≠j即可,i取[1,M]中的其他数值轮训计算M-1个异常度,然后再求平均值,就可得到该第一变换数据的异常度。

其中,第j个变换组是N个标注数据中每个标注数据采用第j种变换方式进行变换得到的N个变换数据的集合。M个第一变换数据中的第j个第一变换数据是位于第j个变换组中,由第一标注数据采用第j种变换方式进行变换得到的。由于变换组是按照变换方式划分的,同一个变换组中的变换数据是N个标注数据采用相同变换方式变换得到的,所以每个变换组中都包括变换后的第一标注数据,即第一变换数据。可选地,M个第一变换数据也可以是变换并降维后得到的。

该种可能的实现方式中,目标损失函数,也就是第一对应关系可以表示为:

其中Ltri表示异常度,表示若内的取值为正,则Ltri等于该值,若内的取值小于0,则Ltri等于0。<xa,xp,xn>是一个三元组,xa是锚点数据,xp是正例数据,xn是负例数据。||xn-xa||表示范数,又称为欧几里得范数,表示xn与xa之间的距离。同理,||xn-xp||表示xn与xp之间的距离,||xa-xp||表示xa与xp之间的距离。聚类中心是采用聚类算法对N个变换数据进行计算得到的,可以是该变换组中所有变换数据的平均值,也可以是该变换组中最靠近该平均值的一个变换数据。聚类算法通常采用K-mean算法。

可选地,本申请实施例中,第一对应关系为异常度与通过锚点数据、正例数据和负例数据所表示的目标夹角之间的关系,目标夹角为以锚点数据、正例数据和负例数据为顶点所形成的三角形中,以负例数据为顶点的夹角,三角形的三条边的长度包括:从锚点数据到正例数据的距离,从锚点数据到负例数据的距离,从正例数据到负例数据的距离。

该种可能的实施例中,可以将锚点数据xa、正例数据xp和负例数据xn理解为三个点,这三个点作为三个顶点形成三角形,这三个顶点之间的两两距离||xn-xa||、||xn-xp||以及||xa-xp||为三角形的三条边的长度。异常度为目标夹角之间的关系可以称为第二对应关系,该第二对应关系可以表示为其中,β是负例数据作为顶点的夹角,cosβ表示目标夹角的余弦,可以通过三角形中目标夹角的余弦cosβ与三条边的长度||xn-xa||、||xn-xp||以及||xa-xp||的关系推导出上述第一对应关系式

该推导过程可以理解为:

第一步:如图4所示,根据三角形的角度与边的关系,可得到如下cosβ的关系式。

第二步:构建目标损失函数。

目标损失函数是利用变换数据之间的夹角描述样本间的远近关系,夹角越大,表示锚点数据与正例数据之间的距离越远,夹角越小,表示锚点数据与正例数据之间的距离越近。角度信息由余弦三角函数表示,可以设定一个固定角度a,该固定角度a用来表示变换数据之间远近关系的分界线,若目标夹角β>a,则表示变换数据间距离远,若β<a,则表示变换数据间距离近,因为余弦函数在0到90度为单调递减函数,若β>a,则cosβ<cosa所以可以通过cosa与cosβ之间的关系来构建目标损失函数。

考虑到等边三角形的稳定性,一般设定固定角度a=60°,所以可以构造出上述第二对应关系:将上述cosβ的关系式带入到该第二对应关系中,就可得到关系式:

因为分母为正数,Ltri的取值大于0,还是等于0,决定于分子,所以可以去掉分母。就可得到上述第一对应关系:

对于上述Ltri所表达的含义,本申请实施例中重新定义一种距离g(xj,ci),此距离考虑了第j变换组内的锚点数据xj到正例数据(同一变换组内的聚类中心cj)的组内距离和到第i个变换组内的聚类中心ci的组间距离。

在确定第j个变换组中第一变换数据的异常度时,将上述第一对应关系通过g(xj,ci)的形式表达,则可以表示为:

这样,通过该g(xj,ci)的关系式就可以确定出第j个变换组中所述第一变换数据的异常度,然后通过更换j和i的取值的方式就可以确定出M个第一变换数据中每个第一变换数据的异常度。

该种可能的实施例中,通过M个变换数据的异常度求平均值得到标注数据的异常度,相比于直接采用标注数据来计算异常度,可以避免标注数据的异常度的计算偏差,提高了标注数据的异常度的准确度。

方案B:将M个变换组输入到目标神经网络模型中;通过目标神经网络模型确定N个标注数据各自的异常度。

关于目标神经网络模型的训练过程可以参阅图5所示的模型训练的方法进行理解,该模型训练的过程可以在服务器、终端设备或云设备等计算机设备上执行。

如图5所示,本申请实施例提供的模型训练的方法的一实施例包括:

401、获取训练样本集。

该训练样本集可以包括至少一个数据集,同一个数据集中的N个标注数据的类别相同,N为大于1的整数。

如图5中,该训练样本集中包括S个数据集,分别为:数据集1、数据集2,…,以及数据集S。该场景中,S为大于2的整数。

402、对每个数据集采用M种变换方式进行变换,得到至少一个变换集,

每个变换集包括M个变换组,其中,每个变换组包括与N个标注数据对应的N个变换数据,M为大于1的整数。

在图5所示的场景中,因为有S个数据集,所以数据集经过变换后,就会有S个变换集,每个变换集中都包括M个变换组。若数据集中有N个标注数据,则每个变换组中就会包括M个变换数据。

403、将至少一个变换集输入待训练的初始神经网络模型,得到目标神经网络模型。

初始神经网络模型包括初始降维模型和基于角度的三元损失函数,该初始降维模型用于对每个变换组中的变换数据进行降维,基于角度的三元损失函数用于根据降维后的变换数据确定变换数据的异常度,异常度用于调整初始降维模型中的参数得到目标降维模型,目标降维模型包含于目标神经网络模型。

需要说明的是,该步骤402中“得到至少一个变换集”表示结果,也可以描述为“以得到至少一个变换集”。步骤403中“得到目标神经网络模型”也表示结果,也可以描述为“以得到目标神经网络模型”。

本申请实施例中,基于角度的三元损失函数可以参阅上述方案A中的目标损失函数中通过第二对应关系推导第一对应关系的过程进行理解。

另外,上述方案A中的g(xj,ci)是若通过欧式距离的方式表达的,则上述g(xj,ci)的关系式可以表示为:

同方案A中的含义相同,g(xj,ci)表示锚点数据xj的异常度,cj是正例数据(也是第j个变换组的聚类中心),ci是负例数据(也是第i个变换组的聚类中心)。fintra(xj,ci)表示第j个变换组中锚点数据xj到第i个变换组的聚类中心ci的组间距离,fintra(cj,ci)表示第j个变换组的聚类中心cj到第i个变换组的聚类中心ci的组间距离,fintra(xj,cj)表示第j个变换组中锚点数据xj到第j个变换组的聚类中心cj的组内距离。其中,j,i∈{1,…,M},j≠i。

若通过马氏距离的方式表达,则g(xj,ci)可以表示为如下关系式:

无论通过欧式距离表达,还是通过马氏距离表达,该初始神经网络模型训练过程中的损失函数都可以表示为:

其中,GOAL表示通过数据集训练时的函数损失,表示第j个变换组中第t个变换数据的异常度,N表示数据集中标注数据的个数,M表示M种变换方式。

需要说明的是,该GOAL也可以再计算平均值,然后该GOAL的平均值来优化初始降维模型。

在模型训练过程,可以使用锚点数据组,确定锚点数据组的异常度,锚点数据组包括P个锚点数据,P个锚点数据为同一个变换集中的P个变换数据,锚点数据组异常度是每个锚点数据的异常度之和,每个锚点数据的异常度通过三元损失函数得到,P为大于等于1的整数;根据异常度调整初始降维模型,得到优化降维模型,优化降维模型用于得到目标降维模型。

该种可能的实施例中虽然只描述了一次优化过程,实际上该过程是迭代进行的,在每次迭代之后都更换不同的锚点数据组,直到异常度达到目标min GOAL,得到目标降维模型,才结束迭代。通过锚点数据组,一次采用多个锚点数据确定三元损失函数的异常度,可以提高网络模型训练的速度和准确度。

另外,还可以通过目标夹角β与预设角度(上述中的固定角度a)来调整初始神经网络模型。该中可能的方案中,可以通过g(xj,ci)的值来确定β与a的关系,若β<a,则不需要调整初始神经网络模型。若β>a,则将第j个变换组中的第t个变换数据作为锚点数据,将第j个变换组的聚类中心作为正例数据,将第i个变换组的聚类中心作为负例数据,确定目标夹角与预设角度的关系,j为整数,i为整数,1≤j≤M,1≤i≤M,且j≠i,第j个变换组为至少一个交换集中的一个变换组;若目标夹角大于预设角度,则调整初始降维模型,得到优化降维模型,优化降维模型用于得到目标降维模型。

该种可能的实施例中虽然只描述了一次优化过程,实际上该过程是迭代进行的,在每次迭代之后都更换不同的锚点数据,直到异常度达到目标,得到目标降维模型,才结束迭代。通过目标夹角与预设角度的大小关系来确定是否调整模型,可以提高网络模型训练的准确度。

通过上述模型训练的方法得到目标神经网络模型后,可以通过该目标神经网络模型确定标注数据的异常度,该过程可以参阅图6进行理解。

如图6所示,该过程包括:

501、获取数据集。

该数据集包括标注数据1至标注数据N。

502、将包括标注数据1至标注数据N的数据集进行M种变换,得到M个变换组。

可以表示为:变换组1[变换数据11、变换数据12,…,变换数据1N];变换组2[变换数据21、变换数据22,…,变换数据2N];……变换组M[变换数据M1、变换数据M2,…,变换数据MN]。

503、将该M个变换组的变换数据输入到目标神经网络模型。

可以先对M个变换组中变换数据进行降维,然后使用降维后的变换数据计算异常度。

计算异常度的过程可以参阅上述方案A中计算g(xj,ci)的过程进行理解,此处不再重复赘述。通过上述过程可以计算出每个变换数据的异常度,然后针对同一标注数据的变换数据的异常度取平均值,就可以得到该标注数据的异常度。

例如:针对标注数据1,该目标神经网络模型会先计算出变换数据11、变换数据21,…,变换数据M1的异常度,然后再使用变换数据11、变换数据21,…,变换数据M1的异常度求平均值就可以得到标注数据1的异常度。同理,通过该种方式还可以计算出标注数据2至标注数据N的异常度。

根据上述步骤304所描述的方案,可以根据标注数据的异常度,确定出标注数据1至标注数据N中的异常数据,过滤出异常数据后剩余的标注数据为正常数据。

关于异常数据在输出时的表现形式可以表现为图7所示的形式。如图7所示,该场景中,有四个标注数据超出了阈值上限,那么这四个数据为异常数据,其他在阈值范围内的标注数据为正常数据。当然,图7所示的表现形式只是举例说明,还可以有其他类型的表现形式,本申请中对异常数据的具体表现形式不做限定。

以上介绍了校验标注数据的方法以及模型训练的方法,下面结合附图介绍本申请实施例提供的校验标注数据的装置以及模型训练的装置。

如图8所示,本申请实施例提供的校验标注数据的装置60的一实施例包括:

获取单元601,用于获取数据集,数据集包括相同类别的N个标注数据,N为大于1的整数。

变换单元602,用于对获取单元601获取的数据集采用M种变换方式进行变换,得到M个变换组,其中,每个变换组包括与N个标注数据对应的N个变换数据,M为大于1的整数。

第一确定单元603,用于根据变换单元602变换得到的M个变换组,确定N个标注数据各自的异常度。

第二确定单元604,用于根据第一确定单元603确定的N个标注数据各自的异常度,确定N个标注数据中类别标注存在异常的异常数据。

本申请实施例中,可以根据标注数据的多个变换数据确定各标注数据的异常度,然后根据异常度确定出标注存在异常的异常数据,从标注数据中过滤出异常数据可以提高标注数据的准确度。使用过滤后的标注数据进行各业务场景的网络模型训练,也可以提高网络模型的精度和鲁棒性。

可选地,第一确定单元603用于:根据目标损失函数确定M个第一变换数据中每个第一变换数据的异常度,M个第一变换数据为降维后的M个变换组中分别与第一标注数据对应的变换数据,第一标注数据为数据集中的任意一个标注数据,目标损失函数用于表示异常度与锚点数据、正例数据和负例数据之间的第一对应关系,在确定第j个变换组中第一变换数据的异常度时,第j个变换组中的第一变换数据为锚点数据,第j个变换组的聚类中心为正例数据,第i个变换组的聚类中心为负例数据,j为整数,且j为[1,M]中的一个值,i为整数,且i为[1,M]中除j之外的每个值,聚类中心为采用聚类算法对交换组中的N个变换数据进行计算得到;将M个第一变换数据的异常度的平均值确定为第一标注数据的异常度。

可选地,第一对应关系为异常度与通过锚点数据、正例数据和负例数据所表示的目标夹角之间的关系,目标夹角为以锚点数据、正例数据和负例数据为顶点所形成的三角形中,以负例数据为顶点的夹角,三角形的三条边的长度包括:从锚点数据到正例数据的距离,从锚点数据到负例数据的距离,从正例数据到负例数据的距离。

可选地,第一确定单元603用于:将M个变换组输入到目标神经网络模型中;通过目标神经网络模型确定N个标注数据各自的异常度,目标神经网络模型包括目标降维模型和基于角度的三元损失函数,目标降维模型用于对M个变换组进行降维,基于角度的三元损失函数表示异常度与通过锚点数据、正例数据和负例数据所表示的目标夹角之间的关系,目标夹角为以锚点数据、正例数据和负例数据为顶点所形成的三角形中,以负例数据为顶点的夹角,三角形的三条边的长度包括:从锚点数据到正例数据的距离,从锚点数据到负例数据的距离,从正例数据到负例数据的距离,锚点数据为降维后的变换组中的任意一个变换数据,正例数据为锚点数据所在变换组的聚类中心,负例数据为与锚点数据所在的变换组不同的另一变换组的聚类中心,聚类中心为采用聚类算法对交换组中的N个变换数据进行计算得到。

可选地,第一确定单元603用于:运行目标神经网络模型对M个变换组进行降维,并确定降维后的M个第一变换数据中每个第一变换数据的异常度,M个第一变换数据的异常度的平均值为第一标注数据的异常度;M个第一变换数据为降维后的M个变换组中分别与第一标注数据对应的变换数据,第一标注数据为数据集中的任意一个标注数据,在确定第j个变换组中第一变换数据的异常度时,第j个变换组中的第一变换数据为锚点数据,第j个变换组的聚类中心为正例数据,第i个变换组的聚类中心为负例数据,j为整数,且j为[1,M]中的一个值,i为整数,且i为[1,M]中除j之外的每个值。

可选地,第二确定单元604,用于根据N个标注数据各自的异常度,确定异常度偏离阈值范围的标注数据为类别标注存在异常的异常数据。

可选地,N个标注数据为文本数据、语音数据或图像数据。

可选地,当标注数据为文本数据时,数据集进行变换的方式包括如下至少一种:加密、解密、特征提取、采用生成对抗网络生成对抗网络(generative adversarialnetworks,GANs,)的变换以及采用信息抽取和文本生成的变换。

可选地,当标注数据为语音数据时,数据集进行变换的方式包括如下至少一种:加密、解密、加入不同噪声、特征提取以及采用生成对抗网络的变换。

可选地,当标注数据为图像数据时,数据集的变换方式包括如下至少一种:平移、旋转、拼接、加密、解密和采用生成对抗网络的变换。

以上所描述的校验标注数据的装置60可以参阅前述校验标注数据的方法部分的相应内容进行理解,此处不再重复赘述。

参阅图9,本申请实施例提供的模型训练的装置70的一实施例包括:

获取单元701,用于获取训练样本集,训练样本集包括至少一个数据集,同一个数据集中的N个标注数据的类别相同,N为大于1的整数。

变换单元702,用于对获取单元701获取的每个数据集采用M种变换方式进行变换,得到至少一个变换集,每个变换集包括M个变换组,其中,每个变换组包括与N个标注数据对应的N个变换数据,M为大于1的整数。

处理单元703,用于将变换单元702变换得到的至少一个变换集输入初始神经网络模型,得到目标神经网络模型,初始神经网络模型包括初始降维模型和基于角度的三元损失函数,初始降维模型用于对每个变换组中的变换数据进行降维,基于角度的三元损失函数用于根据降维后的变换数据确定变换数据的异常度,异常度用于调整初始降维模型中的参数得到目标降维模型,目标降维模型包含于目标神经网络模型,基于角度的三元损失函数表示异常度与通过锚点数据、正例数据和负例数据所表示的目标夹角之间的关系,目标夹角为以锚点数据、正例数据和负例数据为顶点所形成的三角形中,以负例数据为顶点的夹角,三角形的三条边的长度包括:从锚点数据到正例数据的距离,从锚点数据到负例数据的距离,从正例数据到负例数据的距离,锚点数据为变换组中的任意一个变换数据,正例数据为锚点数据所在变换组的聚类中心,负例数据为与锚点数据所在的变换组不同的另一变换组的聚类中心,聚类中心为采用聚类算法对交换组中的N个变换数据进行计算得到。

本申请实施例中,通过基于角度的三元损失函数训练得到目标降维模型,从而得到目标神经网络模型,因为角度范围比较有限,比较容易设定,可以降低网络模型训练的复杂度,另外,还可以确保该目标神经网络模型的通用性,可以应用于如:文本数据、语音数据和图像数据等全业务应用场景。

可选地,处理单元703,用于使用锚点数据组,确定锚点数据组的异常度,锚点数据组包括P个锚点数据,P个锚点数据为同一个变换集中的P个变换数据,锚点数据组异常度是每个锚点数据的异常度之和,每个锚点数据的异常度通过三元损失函数得到,P为大于等于1的整数;根据异常度调整初始降维模型,得到优化降维模型,优化降维模型用于得到目标降维模型。

可选地,处理单元703,用于将第j个变换组中的第t个变换数据作为锚点数据,将第j个变换组的聚类中心作为正例数据,将第i个变换组的聚类中心作为负例数据,确定目标夹角与预设角度的关系,j为整数,i为整数,1≤j≤M,1≤i≤M,且j≠i,第j个变换组为至少一个交换集中的一个变换组;若目标夹角大于预设角度,则调整初始降维模型,得到优化降维模型,优化降维模型用于得到目标降维模型。

以上所描述的模型训练的装置70可以参阅前述模型训练的方法部分的相应内容进行理解,此处不再重复赘述。

图10所示,为本申请的实施例提供的上述实施例中所涉及的计算机设备80的一种可能的逻辑结构示意图。计算机设备80包括:处理器801、通信接口802、存储器803以及总线804。处理器801、通信接口802以及存储器803通过总线804相互连接。在本申请的实施例中,处理器801用于对计算机设备80的动作进行控制管理,例如,处理器801用于执行图8中的步骤601至605和/或用于本文所描述的技术的其他过程。通信接口802用于支持计算机设备80进行通信。存储器803,用于存储计算机设备80的程序代码和数据。

其中,处理器801可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线804可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本申请还提供了一种芯片系统,该芯片系统包括处理器,用于支持上述校验标注数据的装置或模型训练的装置实现其所涉及的功能,例如,例如获取或处理上述方法实施例中所涉及的标注数据。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存校验标注数据的装置或模型训练的装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

在本申请的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述图1至图7部分实施例所描述的校验标注数据的方法或模型训练的方法。

在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备执行上述图1至图7部分实施例所描述的校验标注数据的方法或模型训练的方法。

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

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

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

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

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

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

30页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种样本特征的处理方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!