一种训练样本的生成方法、装置、计算机设备和存储介质与流程

文档序号:24073875发布日期:2021-02-26 16:25阅读:99来源:国知局
一种训练样本的生成方法、装置、计算机设备和存储介质与流程
一种训练样本的生成方法、装置、计算机设备和存储介质
【技术领域】
[0001]
本发明涉及通信技术领域,尤其涉及一种训练样本的生成方法、装置、计算机设备和存储介质。


背景技术:

[0002]
目前,对于智能手机出现的问题,传统的解决方法是软件工程师凭借开发经验进行人工调试,从而解决智能手机的问题,为提高调试效率,可以采用人工智能训练出训练模型的方式调试智能手机问题。智能手机的一种重要的系统稳定性问题是应用无响应(application not response,简称:anr)问题,训练模型在解决anr问题时,要求样本数量足够多且在多个产生原因之间均匀分布,但对于anr问题的实际样本,多个产生原因之间的样本分布不均,目前只能对数量多的样本进行裁剪,但会导致整体样本数量偏低,从而导致训练出的训练模型的正确率较低。


技术实现要素:

[0003]
有鉴于此,本发明实施例提供了一种训练样本的生成方法、装置、计算机设备和存储介质,可以增加训练样本的数量且保证多个训练样本在多个标签之间均匀分布,从而提高训练模型的正确率。
[0004]
一方面,本发明实施例提供了一种训练样本的生成方法,所述方法包括:
[0005]
获取噪声数据;
[0006]
通过指定训练模型的生成网络,根据噪声数据,生成训练样本。
[0007]
可选地,在通过指定训练模型的生成网络,根据噪声数据,生成训练样本之后,还包括:
[0008]
获取实际样本;
[0009]
通过指定训练模型的判别网络,根据实际样本和训练样本,生成样本判别结果和样本标签。
[0010]
可选地,生成网络包括全连接层、张量恢复层和反卷积层;
[0011]
通过指定训练模型的生成网络,根据噪声数据,生成训练样本,包括:
[0012]
将噪声数据输入全连接层,生成第一张量数据;
[0013]
将第一张量数据输入张量恢复层进行张量恢复,得到恢复数据;
[0014]
将恢复数据输入反卷积层,生成训练样本。
[0015]
可选地,全连接层包括第一全连接层、激活函数和第二全连接层;
[0016]
将噪声数据输入全连接层,生成第一张量数据,包括:
[0017]
将噪声数据输入第一全连接层,生成第一加权特征;
[0018]
根据激活函数,对第一加权特征进行计算,生成第一非线性数据;
[0019]
将第一非线性数据输入第二全连接层,生成第二加权特征;
[0020]
根据激活函数,对第二加权特征进行计算,生成第一张量数据。
[0021]
可选地,判别网络包括激活函数、第三全连接层和第四全连接层;
[0022]
通过指定训练模型的判别网络,根据实际样本和训练样本,生成样本判别结果和样本标签,包括:
[0023]
根据训练样本和实际样本,生成非线性卷积函数;
[0024]
将非线性卷积数据输入第三全连接层,生成第三加权特征;
[0025]
根据激活函数,对第三加权特征进行计算,生成样本判别结果和第二非线性数据;
[0026]
将第二非线性数据输入第四全连接层,生成第四加权特征;
[0027]
根据激活函数,对第四加权特征进行计算,生成样本标签。
[0028]
可选地,判别网络还包括样本转换层和卷积层;
[0029]
根据训练样本和实际样本,生成非线性卷积函数,包括:
[0030]
通过样本转换层,将训练样本和实际样本转换为第二张量数据;
[0031]
将第二张量数据输入卷积层,生成卷积数据;
[0032]
根据激活函数,对卷积数据进行计算,生成非线性卷积数据。
[0033]
可选地,在通过指定训练模型的生成网络,根据噪声数据,生成训练样本之后,还包括:
[0034]
获取测试样本;
[0035]
根据测试样本对指定训练模型进行测试,生成测试正确率
[0036]
另一方面,本发明实施例提供了一种训练样本的生成装置,包括:
[0037]
第一获取单元,用于获取噪声数据;
[0038]
第一生成单元,用于通过指定训练模型的生成网络,根据噪声数据,生成训练样本。
[0039]
另一方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述训练样本的生成方法。
[0040]
另一方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现上述训练样本的生成方法。
[0041]
本发明实施例的方案中,获取噪声数据;通过指定训练模型的生成网络,根据噪声数据,生成训练样本,可以增加训练样本的数量且保证多个训练样本在多个标签之间均匀分布,从而提高训练模型的正确率。
【附图说明】
[0042]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0043]
图1为本发明实施例提供的一种训练样本的生成方法的流程图;
[0044]
图2为本发明实施例提供的又一种训练样本的生成方法的流程图;
[0045]
图3为本发明实施例提供的一种训练样本的生成装置的结构示意图;
[0046]
图4为本发明实施例提供的一种计算机设备的示意图。
【具体实施方式】
[0047]
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
[0048]
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0049]
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0050]
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0051]
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述设定阈值,但这些设定阈值不应限于这些术语。这些术语仅用来将设定阈值彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一设定阈值也可以被称为第二设定阈值,类似地,第二设定阈值也可以被称为第一设定阈值。
[0052]
图1为本发明实施例提供的一种训练样本的生成方法的流程图,如图1所示,该方法包括:
[0053]
步骤101、获取噪声数据。
[0054]
步骤102、通过指定训练模型的生成网络,根据噪声数据,生成训练样本。
[0055]
本发明实施例中,指定训练模型包括对抗神经网络模型,对抗神经网络包括生成网络和判断网络。生成网络用于根据输入的噪声数据,通过学习输出和anr问题样本的样本特征值相同的训练样本,具体地,生成网络包括全连接层、张量恢复层和反卷积层,其中,全连接层包括第一全连接层、激活函数和第二全连接层;判别网络的学习目标为通过对将输入的训练样本和获取的实际样本进行判别,使得训练样本和实际样本的样本正确率均为50%,其中,判别网络包括激活函数、第三全连接层、第四全连接层、判别网络还包括样本转换层和卷积层。
[0056]
本发明实施例提供的技术方案中,获取噪声数据;通过指定训练模型的生成网络,根据噪声数据,生成训练样本,可以增加训练样本的数量且保证多个训练样本在多个标签之间均匀分布,从而提高训练模型的正确率。
[0057]
图2为本发明实施例提供的又一种训练样本的生成方法的流程图,如图2所示,该方法包括:
[0058]
步骤201、获取噪声数据。
[0059]
本发明实施例中,各步骤由计算机设备执行,具体地,该计算机设备能够运行python脚本。
[0060]
本发明实施例中,各步骤能够在windows、unix或linux操作系统上运行。
[0061]
本发明实施例中,噪声数据包括随机生成的正态分布的噪声数据,噪声数据具体包括标签、隐藏维和噪声维,其中,标签是anr问题产生原因的种类,anr问题产生原因可分为6类,即:6个标签;隐藏维是生成网络的隐藏层的维度;噪声维是噪声数据的维度。例如:
噪声数据为[标签,隐藏维,噪声维]=[n*(6,4,38)],即:噪声数据的数量为n个,噪声数据的标签为6,隐藏维为4,噪声维为39。
[0062]
步骤202、将噪声数据输入全连接层,生成第一张量数据。
[0063]
本发明实施例中,全连接层包括第一全连接层、激活函数和第二全连接层。
[0064]
本发明实施例中,步骤202具体包括:
[0065]
步骤2021、将噪声数据输入第一全连接层,生成第一加权特征。
[0066]
本发明实施例中,第一全连接层包括1024个神经元,噪声数据通过1024个神经元的第一全连接层进行加权计算,得到第一加权特征。
[0067]
值得说明的是,第一全连接层包括的神经元的数量可以根据实际情况进行设置,本发明实施例对此仅作示例性说明。
[0068]
步骤2022、根据激活函数,对第一加权特征进行计算,生成第一非线性数据。
[0069]
本发明实施例中,通过激活函数对第一加权特征进行映射,生成第一非线性数据。
[0070]
本发明实施例中,激活函数为线性整流(rectified linear unit,简称:relu)函数,使用relu函数可以克服梯度消失的问题,加快训练速度。
[0071]
步骤2023、将第一非线性数据输入第二全连接层,生成第二加权特征。
[0072]
本发明实施例中,第二全连接层包括3*3*16个神经元,即:144个神经元,第一非线性数据通过144个神经元的第二全连接层进行加权计算,得到第二加权特征。
[0073]
值得说明的是,第二全连接层包括的神经元的数量可以根据实际情况进行设置,本发明实施例对此仅作示例性说明。
[0074]
步骤2024、根据激活函数,对第二加权特征进行计算,生成第一张量数据。
[0075]
本发明实施例中,激活函数为relu函数,通过relu函数对第二加权特征进行映射,生成3*3*16大小的第一张量数据。其中,3*3为卷积核的尺寸,16为卷积深度。
[0076]
步骤203、将第一张量数据输入张量恢复层进行张量恢复,得到恢复数据。
[0077]
本发明实施例中,将第一张量数据输入张量恢复层,将3*3*16的大小第一张量数据恢复为[n*(3,3,16)]大小的恢复数据。
[0078]
步骤204、将恢复数据输入反卷积层,生成训练样本。
[0079]
本发明实施例中,反卷积层的卷积核大小和滑动步长可以根据实际情况进行设置,作为一种可选方案,卷积核大小为2*2,滑动步长为1*3。
[0080]
本发明实施例中,将恢复数据输入反卷积层进行反卷积,生成训练样本,训练样本的特征值与anr问题样本的样本特征值相同。在一个具体的实施例中,训练样本为anr样本,生成的anr样本的数量为404个。
[0081]
本发明实施例中,利用对抗神经网络模型的生成网络,根据输入的噪声数据进行不断的迭代,生成特征值与anr问题样本的样本特征值相同的训练样本,以达到扩大训练样本规模的目的。
[0082]
步骤205、获取实际样本。
[0083]
作为一种可选方案,实际样本可以通过机器学习算法的输出获取到。在一个具体的实施例中,实际样本为anr样本,获取的anr样本的数量为164个。
[0084]
步骤206、根据训练样本和实际样本,生成非线性卷积函数。
[0085]
本发明实施例中,步骤206具体包括:
[0086]
步骤2061、通过样本转换层,将训练样本和实际样本转换为第二张量数据。
[0087]
本发明实施例中,将训练样本和实际样本输入样本转换层进行样本转换,转换为[n*(3,3,16)]大小的第二张量数据。
[0088]
步骤2062、将第二张量数据输入卷积层,生成卷积数据。
[0089]
本发明实施例中,卷积层的卷积核大小和卷积深度可以根据实际情况进行设置,作为一种可选方案,卷积核大小为2*2,卷积深度为16。
[0090]
本发明实施例中,将第二张量数据输入卷积层进行卷积,生成2*2*16大小的卷积数据。
[0091]
步骤2063、根据激活函数,对卷积数据进行计算,生成非线性卷积数据。
[0092]
本发明实施例中,激活函数为relu函数,通过relu函数对卷积数据进行映射,生成非线性卷积数据。
[0093]
步骤207、将非线性卷积数据输入第三全连接层,生成第三加权特征。
[0094]
本发明实施例中,第三全连接层包括1024个神经元,非线性卷积数据通过1024个神经元的第三全连接层进行加权计算,得到第三加权特征。
[0095]
值得说明的是,第三全连接层包括的神经元的数量可以根据实际情况进行设置,本发明实施例对此仅作示例性说明。
[0096]
步骤208、根据激活函数,对第三加权特征进行计算,生成样本判别结果和第二非线性数据。
[0097]
本发明实施例中,激活函数为relu函数,通过relu函数对第三加权特征进行计算,生成样本判别结果和第二非线性数据。
[0098]
本发明实施例中,样本判别结果包括1或0,1表示该训练样本为真,0表示该训练样本为假。
[0099]
进一步地,根据样本判别结果分别计算实际样本的样本正确率和训练样本的样本正确率。
[0100]
步骤209、将第二非线性数据输入第四全连接层,生成第四加权特征。
[0101]
本发明实施例中,第四全连接层包括128个神经元,第二非线性数据通过128个神经元的第四全连接层进行加权计算,得到第四加权特征。
[0102]
值得说明的是,第四全连接层包括的神经元的数量可以根据实际情况进行设置,本发明实施例对此仅作示例性说明。
[0103]
步骤210、根据激活函数,对第四加权特征进行计算,生成样本标签。
[0104]
本发明实施例中,激活函数为relu函数,通过relu函数对第四加权特征进行计算,生成样本标签。
[0105]
本发明实施例中,样本标签表示anr问题产生原因的种类,每个样本对应于一个样本标签,表示该样本的anr问题产生原因的种类。例如:anr问题产生原因包括主线程耗时操作、主线程被子线程同步锁、中央处理单元(cpu)处于饥饿状态,无法让主线程运行、主线程得不到系统资源、主线程被通信驱动(binder)对端锁死、binder被占满导致主线程无法和系统服务(system server)通信。
[0106]
进一步地,取测试样本;根据测试样本对指定训练模型进行测试,生成测试正确率。
[0107]
本发明实施例中,通过对机器学习算法进行训练,输出多个样本数据,将多个样本数据按照指定比例进行划分,分别划分为训练集和测试集;训练集为实际样本,测试集为测试样本。作为一种可选方案,指定比例为3:1。
[0108]
本发明实施例中,指定训练模型包括对抗神经网络模型,将测试样本输入对抗神经网络模型,输出对抗神经网络模型的测试正确率。在一个具体的实施例中,对抗神经网络模型的测试正确率为80.05%。
[0109]
进一步地,指定训练模型包括机器学习算法模型,将测试样本输入机器学习算法模型,输出机器学习算法模型的测试正确率。在一个具体的实施例中,对抗神经网络模型的测试正确率为73.17%。
[0110]
本发明实施例中,根据对抗神经网络模型的测试正确率为73.17%和对抗神经网络模型的测试正确率为80.05%,可以看出使用对抗神经网络模型生成训练样本,不仅可以增加训练样本的数量,还可以提高正确率。
[0111]
本发明实施例提供的训练样本的生成方法的技术方案中,获取噪声数据;通过指定训练模型的生成网络,根据噪声数据,生成训练样本,可以增加训练样本的数量且保证多个训练样本在多个标签之间均匀分布,从而提高训练模型的正确率。
[0112]
图3为本发明实施例提供的一种训练样本的生成装置的结构示意图,该装置用于执行上述训练样本的生成方法,如图3所示,该装置包括:第一获取单元11和第一生成单元12。
[0113]
第一获取单元11用于获取噪声数据;
[0114]
第一生成单元12用于通过指定训练模型的生成网络,根据噪声数据,生成训练样本。
[0115]
本发明实施例中,该装置还包括:第二获取单元13和第二生成单元14。
[0116]
第二获取单元13用于获取实际样本。
[0117]
第二生成单元14用于通过指定训练模型的判别网络,根据实际样本和训练样本,生成样本判别结果和样本标签。
[0118]
本发明实施例中,第一生成单元12具体用于将噪声数据输入全连接层,生成第一张量数据;将第一张量数据输入张量恢复层进行张量恢复,得到恢复数据;将恢复数据输入反卷积层,生成训练样本。
[0119]
本发明实施例中,第一生成单元12具体还用于将噪声数据输入第一全连接层,生成第一加权特征;根据激活函数,对第一加权特征进行计算,生成第一非线性数据;将第一非线性数据输入第二全连接层,生成第二加权特征;根据激活函数,对第二加权特征进行计算,生成第一张量数据。
[0120]
本发明实施例中,第二生成单元14具体用于根据训练样本和实际样本,生成非线性卷积函数;将非线性卷积数据输入第三全连接层,生成第三加权特征;根据激活函数,对第三加权特征进行计算,生成样本判别结果和第二非线性数据;将第二非线性数据输入第四全连接层,生成第四加权特征;根据激活函数,对第四加权特征进行计算,生成样本标签。
[0121]
本发明实施例中,第二生成单元14具体还用于通过样本转换层,将训练样本和实际样本转换为第二张量数据;将第二张量数据输入卷积层,生成卷积数据;根据激活函数,对卷积数据进行计算,生成非线性卷积数据。
[0122]
本发明实施例中,该装置还包括:第三获取单元15和测试单元16。
[0123]
第三获取单元15用于获取测试样本。
[0124]
测试单元16用于根据测试样本对指定训练模型进行测试,生成测试正确率。
[0125]
本发明实施例的方案中,获取噪声数据;通过指定训练模型的生成网络,根据噪声数据,生成训练样本,可以增加训练样本的数量且保证多个训练样本在多个标签之间均匀分布,从而提高训练模型的正确率。
[0126]
本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述训练样本的生成方法的实施例的各步骤,具体描述可参见上述训练样本的生成方法的实施例。
[0127]
本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述训练样本的生成方法的实施例的各步骤,具体描述可参见上述训练样本的生成方法的实施例。
[0128]
图4为本发明实施例提供的一种计算机设备的示意图。如图4所示,该实施例的计算机设备30包括:处理器31、存储器32以及存储在存储32中并可在处理器31上运行的计算机程序33,该计算机程序33被处理器31执行时实现实施例中的应用于训练样本的生成方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器31执行时实现实施例中应用于训练样本的生成装置中各模型/单元的功能,为避免重复,此处不一一赘述。
[0129]
计算机设备30包括,但不仅限于,处理器31、存储器32。本领域技术人员可以理解,图4仅仅是计算机设备30的示例,并不构成对计算机设备30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
[0130]
所称处理器31可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0131]
存储器32可以是计算机设备30的内部存储单元,例如计算机设备30的硬盘或内存。存储器32也可以是计算机设备30的外部存储设备,例如计算机设备30上配备的插接式硬盘,智能存储(smart media,sm)卡,安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器32还可以既包括计算机设备30的内部存储单元也包括外部存储设备。存储器32用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器32还可以用于暂时地存储已经输出或者将要输出的数据。
[0132]
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接
耦合或通信连接,可以是电性,机械或其它的形式。
[0133]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0134]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0135]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1