标注数据生成方法、设备及计算机可读存储介质与流程

文档序号:16211757发布日期:2018-12-08 07:50阅读:149来源:国知局
标注数据生成方法、设备及计算机可读存储介质与流程

本发明涉及数据模型领域,尤其涉及一种标注数据生成方法、设备及计算机可读存储介质。

背景技术

随着应用程序在智能终端上的快速发展,以及基于应用程序,搭建的人工智能技术,已越来越广泛地走进人们的生活。不论是日常使用、游戏、工作等领域,都将需要基于原始样本数据的学习,了解在该领域的使用习惯,从而智能化地做出判断。

对于原始样本数据的学习,可采用深度神经网络技术。该深度神经网络技术在近几年发展迅速,在图像识别领域获得了远超预想的精度,在许多领域取得了喜人的应用。但是在实际工程应用中,许多特别的图像识别需求缺少可供训练的数据集,而深度神经网络的模型精度极大依赖于数据集的大小和质量。为解决训练数据缺少的情况,现有技术通常是对已有标注数据进行随机裁剪、旋转、拉伸、反转,但存在以下缺陷:

1、某些模型对应的原始图像数据长宽较小,随机裁剪所能扩展的数据数量有限。

2、当原始样本数据较少时,通过这些方法得到的数据由于特征不够分散容易使模型过拟合。

3、某些模型对数据拉伸敏感,拉伸后识别率降低较明显;

4、人工搜集并标注数据会耗费大量人力、精力。

因此,需要一种新型的标注数据生成方法,可在已标注样本数据较少的情况下,快速且大量地生成随机性较强的训练数集,简化训练数据的搜集和标注工作。



技术实现要素:

为了克服上述技术缺陷,本发明的目的在于提供一种标注数据生成方法、设备及计算机可读存储介质,以少量数据作为基础,快速高效地生成与样本数据匹配度高,且随机性强的训练数集,从而扩大标注数据的数据量。

本发明公开了一种标注数据生成方法,包括以下步骤:

s100:获取一数据全集及包含于所述数据全集内已被标注的标注数据集;

s200:分析所述标注数据集的数据特征,并根据所述数据特征制造符合所述数据特征的伪数据集;

s300:基于gan神经网络对所述伪数据集扩充,形成一扩充数据集;

s400:识别对所述扩充数据集内的数据是否需要标注,筛选被标注的数据以形成一训练数据集;

s500:对所述训练数据集进行神经网络训练形成一训练模型;

s600:基于所述训练模型对所述数据全集内处所述标注数据集外的数据清洗,标注符合所述训练模型的数据并归入所述标注数据集内。

优选地,所述标注数据生成方法还包括以下步骤:

s700:判断所述标注数据集内的数据量是否大于或等于一期望数据量;

s800:当所述标注数据集内的数据量小于所述期望数据量时,取所述训练数据集及所述标注数据集的并集,并再次执行步骤s500-s600。

优选地,所述步骤s800替换为:

s800’:当所述标注数据集内的数据量小于所述期望数据量时,将所述伪数据集内的数据替换为所述标注数据集内的数据,并再次执行步骤s300-s600。

优选地,所述标注数据生成方法还包括以下步骤:

s900:基于步骤s600中形成的所述标注数据集和/或所述训练数据集训练除所述数据全集外的其他数据集。

优选地,基于gan神经网络对所述伪数据集扩充,形成一扩充数据集的步骤s300包括:

s310:构建一生成模型及判别模型;

s320:对所述判别模型配置为对所述伪数据集中的数据的判别概率值输出大于0.5,基于对伪数据集中的数据的判别概率值深度学习对非所述伪数据集中的数据的判别概率值的输出;

s330:所述生成模型基于所述伪数据集中的数据生成待扩充数据集;

s340:所述生成模型将所述伪数据集及待扩充数据集输入至所述判别模型;

s350:收集所述判别模型输出的判别概率值大于0.5的数据以形成所述扩充数据集。

优选地,识别对所述扩充数据集内的数据是否需要标注,筛选被标注的数据以形成一训练数据集的步骤s400包括:

s410:根据所述标注数据集及所述数据特征验证所述扩充数据集内的数据;

s420:提取对验证结果为识别标注的数据,并将所述扩充数据集中验证结果不为识别标注的数据删除。

优选地,根据所述标注数据集及所述数据特征验证所述扩充数据集内的数据的步骤s410包括:

s411:以所述标注数据集中的数据为模型验证所述扩充数据集中的数据;

s412:当所述模型中的一半级以上或全部对所述数据验证为结果一致,则判定所述验证结果为识别标注。

优选地,所述数据特征包括:所述数据的背景、所述数据的单元数字、所述数据的数字间隙、所述数据的目标、所述数据的噪音中的一种或多种。

本发明还公开了一种标注数据生成设备,所述标注数据生成设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的标注数据生成方法。

本发明又公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的标注数据生成方法。

采用了上述技术方案后,与现有技术相比,具有以下有益效果:

1.即使样本数据的量较少,也可快速地生成包含大量标注数据的数据集;

2.数据随机性强,不易发生过拟合的情况,提高标注数据集的质量;

3.借助伪数据集生成的模型,进行识别并标注其他数据,扩充已标注数据集的大小和丰富度,该过程可以循环正向迭代,加快了深度神经网络模型的训练速度和精度。

附图说明

图1为符合本发明一优选实施例中标注数据生成方法的流程示意图;

图2为符合本发明一优选实施例中伪数据集的数据;

图3为符合本发明一进一步优选实施例中标注数据生成方法的流程示意图;

图4为符合本发明再一进一步优选实施例中标注数据生成方法的流程示意图;

图5为符合本发明一优选实施例中标注数据生成方法的步骤s300的流程示意图;

图6为符合本发明一优选实施例中标注数据生成方法的步骤s400的流程示意图。

具体实施方式

以下结合附图与具体实施例进一步阐述本发明的优点。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”

在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

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

参阅图1,为符合本发明一优选实施例中标注数据生成方法的流程示意图。在该标注数据生成方法中,为对一应用程序内具有的、生活中现象、金融业服务、社会表征等具有大量数据的数据建议模型并分析,将根据已经搜集的数据模型,标注其他数据是否符合已搜集的数据模型的规律,并进一步地,可从判别数据延伸至生成数据,从而实现人工智能中提前预测、数据处理等目的。对于某一领域内所有包含已标注、未标注的数据,为一数据全集u。样本数据,即已被标注的数据,为在该数据全集u内用户已获得的确定为标注结果的数据,这些数据形成一标注数据集a。该实施例中,将基于数据全集u和标注数据集a建立识别模型,并对数据全集u的未标注的数据进行准确标注,具体地,包括以下步骤:

s100:获取一数据全集u及包含于数据全集u内已被标注的标注数据集a;

对于包含所有数据的数据全集u,其可以是某一应用程序内包括的所有数据,如数字、字母、字符等数据集合后所形成的数据集,也可以是如购买方、用户在活跃度、活跃时间、上线时间、活跃时长等数据集合后所形成的数据集。在某些实施例中,由于数据量过于庞大,数据全集u所包含的数据,基本等同于所有数字、字母、字符、图片等可组合形成的数据集。无论数据全集u的数据量如何,其内包括有部分已被用户标注,即确定真实性为真的数据,这些已标注数据作为样本数据,集合形成的为真包含于数据全集u的标注数据集a。对于上述数据全集u和标注数据集a的获取,将作为后续步骤的基础性操作。

s200:分析标注数据集a的数据特征,并根据数据特征制造符合数据特征的伪数据集f;

后将对标注数据集a进行分析。具体地,由于用户当前所具有的且数据真实性已确定的仅有标注数据集a内的数据,因此将以标注数据集a为扩充基础,首先需分析标注数据集的数据特征,包括但不限于标注数据集a内数据的背景、数据的单元数字、数据的数字间隙、数据的目标、数据的噪音中的一种或多种。如图2所示,一实施例中,为一应用程序中已获得的标注数据集a内的数据,其为数字“2589”,则可分析该数据包括的数据特征包括:包含数字2、5、8、9,以及表示这些数字时的背景图片的灰度、亮度,这些数字的字体、数字键的间隙等等数据,一一分析后,标注数据集a内的每一数据,都将具有对应自身的数据特征。

以上述分析所得的数据特征为基础,后将制造符合这些数据特征,但不同于标注数据集a中的数据的其他数据。制造时,需满足所使用的数字为标注数据集a中数据所具有的数字(如0-9中的任意一个或多个),数字间的间隙满足标注数据集a中数据所具有的数字的间隙(优选地可不完全相等,以10%-15%的±误差建立)等。如图2所示,基于标注数据集内的“2589”数据,可制造出如“25”、“52”、“89”等伪数据。伪数据集由于为符合标注数据中数据的数据特征制造,因此,其也可为标注数据中数据的各单元的重新组合,组合时,可根据所需要的伪数据量任意设置制造条件。可以理解的是,若需要大量的伪数据,可只提取符合标注数据的数字的数据特征,而其他数据特征任意选取以形成大数据量的伪数据,反之亦然。

由于伪数据集f所具有的伪数据为对标注数据中数据的各单元的重新组合,因此伪数据集f内具有伪数据可以是不等同于标注数据中任一数据的数据。例如,在标注数据集a中提取的不同数据包含数字1及6,但数字1及数字6未单独组成形成过数据16或61。但在伪数据集f中,便可包括16、61、116、661等数字1与数字6的随意组合。因此,当标注数据集中的数据出现过0-9的数字单元时,伪数据集根据数据特征便可基于此制造任意实数,从而极大地扩大了伪数据集f的数据量。

s300:基于gan神经网络对伪数据集f扩充,形成一扩充数据集g;

由于伪数据集f在形成时,仍遵从于原始样本数据,即符合标注数据的数据特征,因此,其为标注数据的横向延展,但例如应用程序内基于相同数字的数据其背景、字符间隙、字体在不同设备上的显示发生变化时,伪数据集f内的数据可能无法完全覆盖。因此,在伪数据集f的基础上,基于gan神经网络对伪数据集进行扩充,以保证数据的随机性和多样性,扩充后的数据集合形成一扩充数据集g。对于数据的扩充,可以增加原数据特征,并在增加后的数据特征的基础上,重新组合数字。

利用gan神经网络的原理,通过对伪数据集f的扩充,形成假的样本集,同时在标注数据集a这一真的数据集的基础上,与一具有判别功能的模块进行对抗。

该具有判别功能的模块解决一有监督的二分类问题,用于判断输入数据是标注数据集a(伪数据集f)还是扩充数据集g。在训练过程中,标注数据集a和生成网络生成的扩充数据集g被随机输入到该判别模型中,使用该判别模型判别是否为真。通过竞争式的机器学习机制,使生成网络和判别网络的性能不断提升,当两个模型参数稳定时,训练完成。

在训练完毕后,便可根据目前新的生成网络生成新的扩充数据,该部分新的扩充数据更加贴近于伪数据集f及标注数据集a中的数据。

s400:识别对扩充数据集g内的数据是否需要标注,筛选被标注的数据以形成一训练数据集t;

为进一步确保扩充数据集g内的扩充数据与标注数据集a内的数据的拟合性,将借助gan神经网络深度训练后获得的训练模型对扩充数据进行识别标注,以对扩充数据清洗。由于清洗动作针对扩充数据集g操作,因此,获得训练数据集t内的数据为扩充数据集g的部分数据,即训练数据集t真包含于扩充数据集g。

s500:对训练数据集t进行神经网络训练形成一训练模型;

清洗完成后的训练数据集t内的数据具有一定的清洁度及与标注数据集a内的数据的拟合度,且训练数据集t内具有除标注数据集a内的所有数据外,扩充数据中符合标注数据集a的数据特征的数据,其数据量大于标注数据集a的数据量。且可以理解的是,扩充数据集g及训练数据集t的数据量的增加,在步骤s300-s400中,制造并筛选后获得的扩充数据也会更多。越多的数据量在对训练数据集t进行神经网络训练时,所形成的训练模型更为丰满,一方面,该训练模型符合标注数据集a内的数据的数据特征,另一方面,丰富了由于标注数据集a的数据缺失的特点,扩充了标注数据集a的数据在不同背景、字体、间距等等条件下的变形,是基于标注数据集a又优于标注数据集a的训练模型。

s600:基于训练模型对数据全集u内除标注数据集a外的数据清洗,标注符合训练模型的数据并归入标注数据集a内。

具有训练模型后,将根据训练模型内对数据标注时判别的标准,如是否符合数据特征中的数字、数字间隙、数字背景、数字目标等,亦或是数字的变体、数字背景的变体等对数据全集u内的其他数据(除标注数据集a内的数据外的数据)进行分析和判别,根据判别的结果可清洗不符合训练模型的数据,而符合训练模型的数据,则将保留并归入到标注数据集a内,从而在数据全集u的范围内,以高准确度的方式挑选出符合原始样本,即标注数据集a中数据的其他数据,从而扩大了原始样本的数据量。且可以理解的是,基于原始样本的数据量的逐渐扩大,可用于训练的标注数据量也增大,通过多次迭代后,标注数据的量级及训练模型的成熟度将呈指数级别的增长,后续对同一类数据进行判别时,可依托于大数据,且判别准确、高效。

在不同实施例中,根据步骤s600执行后所得的新的标注数据集a’,若其数据量不足,需要多次迭代积累更多的数据量时,在不同实施例中,将执行不同的步骤。

实施例一

参阅图3,在一优选实施例中,标注数据生成方法还包括以下步骤:

s700:判断标注数据集a’内的数据量是否大于或等于一期望数据量;

首先需要判断当前所获得的标注数据集a’的数据量,以及训练模型的质量是否满足期望数据量,或是期望的质量,也就是说,最终对数据全集u内的数据分析和判别时,该训练模型是否可准确地对数据进行标注,验证的方式可以采用实验判断假设训练模型准确下标注数据与已标注数据的拟合性如何。

s800:当标注数据集a内的数据量小于期望数据量时,取训练数据集t及标注数据集a的并集,并再次执行步骤s500-s600。

当认定标注数据集a内的数据量小于期望数据量时,则需要增加标注数据集a内的数据量。因此,在不重新进行基于gan神经网络提高扩充数据集g的质量的情况下,仅需要提高步骤s400中获得的训练数据集t的数据量。因此,将训练数据集t及标注数据集a取并集,得到新的训练数据集t’,即t’=t∪a。而后基于新的训练数据集t’,迭代回步骤s500,再次对训练数据集进行神经网络训练形成一新的训练模型,而后再次执行步骤s600,获得迭代后的新的标注数据集a”。若仍无法满足模型训练的条件,则反复迭代反复执行步骤s500-s600,直至最终得到的新的标注数据集a”满足模型训练的条件。

实施例二

在另一实施例中,标注数据生成方法还包括以下步骤:

s700:判断标注数据集a’内的数据量是否大于或等于一期望数据量;

首先需要判断当前所获得的标注数据集a’的数据量,以及训练模型的质量是否满足期望数据量,或是期望的质量,也就是说,最终对数据全集u内的数据分析和判别时,该训练模型是否可准确地对数据进行标注,验证的方式可以采用实验判断假设训练模型准确下标注数据与已标注数据的拟合性如何。

s800’:当标注数据集a内的数据量小于期望数据量时,将伪数据集f内的数据替换为标注数据集a内的数据,并再次执行步骤s300-s600

不同于实施例一中对gan神经网络训练结果的信任,在该实施例中,认定需要重新进行gan神经网络的对抗实验,因此,在步骤s600执行完毕后,认为标注数据集a’内的数据量小于期望数据量时,将伪数据集f内的数据替换为标注数据集a内的数据,使得gan神经网络的原始样本缩小为标注数据集a内的数据,虽然数据量缩小,但由于标注数据集a内数据为已标注数据,通过gan神经网络后所得的扩充数据集g则也直接依托于标注数据集a,其质量进一步得到提高。

将伪数据集f内的数据替换为标注数据集a内的数据后,再依次执行前述步骤s300-s600,得到迭代后的新的标注数据集a”。若新的标注数据集a”仍无法满足模型训练的条件,则仍可选择在实施例一或实施例二中根据需要迭代回s500或s300重新执行。且由于迭代的过程可能不止一次,因此,实施例一与实施例二的迭代方式可自由组合,根据用户对伪数据集f的质量和训练数据集t的质量的认可度而定。

参阅图4,在该实施例中,执行完步骤s600、s800或s800’后,还包括:

s900:基于步骤s600中形成的标注数据集a和/或训练数据集t训练除数据全集外的其他数据集

在该步骤中,根据用户需要,若数据全集u在选取时,并非某一应用程序的全部状态下的数据、或仅选取了某一时间段内的数据时,除数据全集u外,还包括了其他数据集,则在该情况下,可利用已具有一定规模数据量的标注数据集a和/或训练数据集t,亦或是训练模型对其他数据集进行训练和标注。可以理解的是,由于训练数据集t为从标注数据集a中衍生形成,因此,可优先选择标注数据集a内的数据,而后根据数据质量可选参与后续的训练。

参阅图5,在基于gan神经网络对伪数据集f扩充时,具体由以下步骤执行完成:

s310:构建一生成模型及判别模型;

如上文所述的,具有生成功能的模块,为生成模型,其具有一生成网络,具有判别功能的模块,为判别模型,其具有一判别网络。生成模型与判别模型基于gan神经网络的原理进行对抗训练,以同时提高生成模型的数据生成精度,及判别模型的数据判别准确度。

s320:对判别模型配置为对伪数据集中的数据的判别概率值输出大于0.5,基于对伪数据集中的数据的判别概率值深度学习对非伪数据集中的数据的判别概率值的输出;

在初始训练时,由于输入判别的判别对象为伪数据集f中的数据,而伪数据集f中的数据为用户为扩大数据的多样性而自行制造的数据。判别网络对输入做出判断,判断为真(伪数据集f)或假(生成网络生成的扩充数据),该判断结果与真实情况作比较,反向影响模型参数,不断迭代该过程,使判别网络学习到真假数据的区别。通过对已标注数据的判断,训练判别模型对数据的雏形,从而在输入用户也未知真假时,基于前序数据的真假,验证这些数据真假的可能性,也就是说,基于对伪数据集f中的数据的判别概率值深度学习,实现对非伪数据集f中的数据,也就是扩充的数据的判别概率值的输出,在对数据扩充的同时,判别数据的真伪。

s330:生成模型基于伪数据集f中的数据生成待扩充数据集;

在生成模型侧,基于伪数据集f中的数据,对数据中的数字、间距、字体、组合形式等变形,并再次重新组合,从而生成待扩充数据集。

s340:生成模型将伪数据集及待扩充数据集输入至判别模型;

随着待扩充数据集的形成,标注数据集a已逐渐扩张为伪数据集f、待扩充数据集,后将伪数据集f和待扩充数据集输入至判别模型,由判别模型对各数据判别后输出数据的真伪概率值。

s350:收集判别模型输出的判别概率值大于0.5的数据以形成扩充数据集。

由于判别模型基于伪数据集f中的数据训练判别标准,因此,收集判别模型输出的判别概率值大于0.5的数据(即全部伪数据集f中的数据和符合判别模型判别标准的待扩充数据集中的部分数据),取并集后便为扩充数据集g。

通过上述步骤所得的扩充数据集g,既保证了与标注数据集a内数据的特性近似,同时又是对伪数据集f的数据的随机扩充和多样化处理,即有序地扩充标注数据集a的数据量。

参阅图6,在该实施例中,步骤s400具体由以下步骤执行完成:

s410:根据标注数据集a数据特征验证扩充数据集g内的数据;

通过标注数据集a的数据特征这一已有模型,对新生成的扩充数据集g内的数据进行识别标注,验证扩充数据集g内的数据是否应当被执行后续的识别操作。

验证的方式可采用投票验证法,即基于少数服从多数、或一致通过的原则,进行二次识别,尊重多个判别器基于标注数据集a的数据特征以占比为多或全部占比的验证结果。也就是说,根据标注数据集a的数据特征验证扩充数据集g内的数据的步骤s410包括:s411:以标注数据集a中的数据为模型验证扩充数据集g中的数据;s412:当模型中的一半级以上或全部对数据验证为结果一致,则判定验证结果为识别标注。

s420:提取对验证结果为识别标注的数据,并将扩充数据集中验证结果不为识别标注的数据删除。

验证结果包括识别标注及未识别标注,属于识别标注的数据,即符合标注数据集a的数据的数据特征,保留在扩充数据集g内,而验证结果为未识别标注的,将作删除处理,以进行数据清洗。

具有上述任一实施例中的标注数据生成方法,可应用于一标注数据生成设备内,如智能终端、服务器、工作站、虚拟服务器、虚拟工作站等。标注数据生成设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时,计算机程序根据预先配置的源语言,实现上述的标注数据生成方法。

上述标注数据生成方法也可集成在一计算机可读存储介质内,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述的语音控制方法,该计算机可读存储介质可以以软件、软体、虚拟文件等形式表示。

智能终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置等等的智能终端以及诸如数字tv、台式计算机等等的固定终端。下面,假设终端是智能终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。

应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1