通过修改训练数据控制机器学习模型预测结果的方法及其系统、电子装置与流程

文档序号:22615171发布日期:2020-10-23 19:14阅读:206来源:国知局
通过修改训练数据控制机器学习模型预测结果的方法及其系统、电子装置与流程

【技术领域】

本发明涉及人工智能领域,其特别涉及一种通过修改训练数据控制机器学习模型预测结果的方法及其系统、电子装置。



背景技术:

随着机器学习在多领域的广泛应用,机器学习算法和系统的安全性问题越来越受到关注。许多机构都以深度神经网络模型为基础来搭建人工智能系统或人工智能服务。机器学习模型,尤其是深度学习模型是由数据驱动的。一个机构所拥有的数据类型直接决定了所能训练的模型的功能;数据的质量与数量直接影响了模型的效果。因此高质量数据具有极高的价值,而对于训练数据的保护与防盗也成为了一项重要的任务。

因此,如何对数据进行保护,防止训练数据被随意盗用或篡改,是目前亟待解决的问题。



技术实现要素:

为解决现有训练数据保护与防盗存在的技术问题,本发明提供一种通过修改训练数据控制机器学习模型预测结果的方法及其系统、电子装置。

本发明为解决上述技术问题,提供如下的技术方案:一种通过修改训练数据控制机器学习模型预测结果的方法,其包括以下步骤:步骤s1,提供一机器学习模型及初始训练数据集,获得相匹配的噪声发生器;步骤s2,基于噪声发生器与初始训练数据集获得包含预设噪声的训练数据,以形成修改后的训练数据集;及步骤s3,利用修改后的训练数据集训练另一机器学习模型,以控制该机器学习模型对输入的未包含预设噪声的测试数据,输出不同预测结果。

优选地,在上述步骤s3中,具体包括以下步骤:步骤p1,利用包含预设噪声的训练数据集训练机器学习模型,以获得新机器学习模型;及步骤p2,将未包含预设噪声的测试数据输入所述新机器学习模型,输出错误预测结果;在所述步骤p1中,所述训练数据集中包含预设噪声的训练数据的占比表示为p,在所述步骤p2中输出错误预测结果的成功率表示为q,其中,所述成功率q与所述占比p成正比。

优选地,在上述步骤s1中,获得所述噪声发生器的过程具体包括:在机器学习模型训练过程中,基于最小化损失函数l[f(x+g(x),y)],对其中f使用梯度下降法使损失下降,对其中g使用梯度上升法使损失上升,在最小化损失函数l收敛后,获得机器学习模型对应的噪声发生器g。

优选地,所述获得机器学习模型对应的噪声发生器g具体包括以下步骤:在使用sgd(stochasticgradientdescent)方法的最小化损失函数l的每次迭代过程中,先固定g的参数ξ,并用梯度下降法更新f的参数θ,并记录第i次迭代时用的数据(xi,yi),及f的参数θi;用记录的f的参数θ更新过程用以更新g的参数ξ,并将上述过程重复t次。

优选地,用下列公式更新f的参数θ:

用下列公式更新g的参数ξ:

其中,表示为第i次迭代对应的修改后的训练数据集;xi表示为第i次迭代对应的训练数据;gξ(xi)表示为第i次迭代对应的噪声发生器g的参数固定为ξ时的训练数据;θi+1表示为第i+1次迭代对应的机器学习模型f的更新参数;θi表示为第i次迭代对应的f的参数;αf表示为机器学习模型f的学习率;表示为第i次迭代机器学习模型对应的损失;θ′表示为更新后机器学习模型f的参数;αg表示为噪声发生器g的学习率;l[fθ′(x),y]表示为更新后机器学习模型对应的损失;yi表示为对应训练数据xi的输出结果。

优选地,获得机器学习模型对应的噪声发生器g具体包括以下步骤:在使用sgd方法最小化损失函数l的每次迭代过程中,固定f的参数θ,并用梯度上升法更新g′的参数ξ′;固定g的参数ξ,并用梯度下降法更新f的参数θ;在达到最大迭代数后,将g′的参数拷贝到g,并重复上述过程t次,直至最小化损失函数l收敛。

优选地,用以下公式更新g′的参数ξ′:

用以下公式更新f的参数θ

其中,表示为第i次迭代对应的修改后的训练数据集;xi表示为第i次迭代对应的训练数据;gξ(xi)表示为第i次迭代对应的噪声发生器g的参数固定为ξ时的训练数据;θi+1表示为第i+1次迭代对应的机器学习模型f的更新参数;θi表示为第i次迭代对应的f的参数;表示为第i次迭代对应的损失;g′ξ′(xi)表示为第i次迭代对应的噪声发生器g副本的参数为ξ′时的噪声数据;ξ′表示为更新后的噪声发生器g′的参数;αf表示为机器学习模型f的学习率;l[fθ′(x),y]表示为更新后机器学习模型对应的损失;fθ′(x)表示为机器学习模型对应的输出结果;θ′表示为更新后机器学习模型f的参数;αg表示为噪声发生器g的学习率。

本发明为解决上述技术问题,提供又一技术方案如下:一种通过修改训练数据控制机器学习模型预测结果的系统,其包括噪声发生模块,被配置为用于提供一机器学习模型及初始训练数据集,获得相匹配的噪声发生器;训练数据修正模块,被配置为用于基于噪声发生器与初始训练数据集获得包含预设噪声的训练数据,以形成修改后的训练数据集;及预测结果模块,其被配置用于利用修改后的训练数据集训练另一机器学习模型,以控制该机器学习模型对输入的未包含预设噪声的测试数据,输出不同预测结果。

优选地,所述预测结果模块进一步包括:新模型训练单元,被配置为利用包含预设噪声的训练数据集训练机器学习模型,以获得新机器学习模型;及预测结果输出单元,被配置为将未包含预设噪声的测试数据输入所述新机器学习模型,输出错误预测结果;在所述新模型训练单元中,所述训练数据集中包含预设噪声的训练数据的占比表示为p,在所述预测结果输出单元中输出错误预测结果的成功率表示为q,其中,所述成功率q与所述占比p成正比。

本发明为解决上述技术问题,提供又一技术方案如下:一种电子装置,其包括存储单元和处理单元,所述存储单元用于存储计算机程序,所述处理单元用于通过所述存储单元存储的计算机程序执行如上所述通过修改训练数据控制机器学习模型预测结果的方法。

与现有技术相比,所提供的通过修改训练数据控制机器学习模型预测结果的方法及其系统、电子装置,具有如下的有益效果:

本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法及其系统,其中,通过提供机器学习模型,训练获得与之相匹配的噪声发生器;进一步提供初始训练数据集,结合噪声发生器获得包含预设噪声的训练数据,以形成修改后的训练数据集。通过上述的训练数据处理,可在训练数据中加入特定的、小幅度的预设噪声,从而可使其与初始训练数据集中的数据看起来仍然一致,但是基于包含有预设噪声的训练数据训练得到的模型将会在正常的测试数据上做出错误的预测。因此,可防止数据接受方直接用公开的训练数据来训练机器学习模型,从而可有效地对训练数据进行保护及防盗。

在本发明中,对于所述包含预设噪声的训练数据与初始训练数据差异不大,但是基于包含预设噪声的训练数据再进行训练获得的模型将会产生预设错误预测,基于输出的预测结果,即可获知对应的数据是否为盗用的训练数据。针对需要公开的内部训练数据,可以预先采用本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法对训练数据集中的数据进行处理后,再公开,从而避免具有高价值、高质量的训练数据被数据接受方直接盗用。

本发明中,进一步提供在机器学习模型训练过程中,基于最小化损失函数l[f(x+g(x),y)],对其中f使用梯度下降法使损失下降,对其中g使用梯度上升法使损失上升,在最小化损失函数l收敛后,从而获得机器学习模型对应的噪声发生器g。基于上述的方式相比于现有直接在训练数据中随意混入标识数据相比,由于所加入的预设噪声是由与机器学习模型及初始训练数据集对应噪声发生器所生成,因此,本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法及其系统可有效减少加入的预设噪声对初始训练数据的影响,从而可避免修改后的训练数据出现过大差异而影响正常训练数据的审阅。因此,本发明所提供的针对通过修改训练数据控制机器学习模型预测结果的方法,可便于训练数据的公开保护。

为了解决在训练过程中直接对f与g交替使用梯度下降法与梯度上升法会使得训练过程难以收敛的问题,本发明提供了两种噪声发生器g的训练方式:伪更新法与副本法,具体的利用伪更新法与副本法训练获得对应的噪声发生器g可使机器学习模型训练的过程中最小化损失函数l的收敛更为稳定,还可有效减少运算量,从而可减少内存的使用。在本发明中,还对其利用的具体公式做了限定,基于相关公式的限定,可进一步提高所述通过修改训练数据控制机器学习模型预测结果的方法的效率及对多种训练数据类型的适用性。

本发明还提供一种电子装置,其包括存储单元和处理单元,所述存储单元用于存储计算机程序,所述处理单元用于通过所述存储单元存储的计算机程序执行所述通过修改训练数据控制机器学习模型预测结果的方法中的步骤。因此,所述电子装置也具有与上述通过修改训练数据控制机器学习模型预测结果的方法相同的有益效果,在此不再赘述。

【附图说明】

图1是本发明第一实施例所提供的通过修改训练数据控制机器学习模型预测结果的方法的步骤流程示意图。

图2是二分类模型中分类图像数据集的示意图。

图3是多分类的mnist图像数据集的示意图。

图4是图1中所示步骤s1中训练获得噪声发生器的两种方式的示意图。

图5a是图4中所示利用伪更新法获得噪声发生器的具体流程步骤示意图。

图5b是图4中所示利用副本法获得噪声发生器的具体流程步骤示意图。

图6是图1中所示步骤s2之后的相关步骤的流程示意图。

图7a是本发明的第二实施例提供一通过修改训练数据控制机器学习模型预测结果的系统的模块示意图。

图7b是图7a中所示预测结果模块的具体模块示意图。

图8是本发明的第三实施例提供电子装置的模块示意图。

附图标注说明:

20,通过修改训练数据控制机器学习模型预测结果的系统;21,噪声发生模块;22,训练数据修正模块;23,预测结果模块。

30,电子装置;31,存储单元;32,处理单元;33,输入部分;34,输出部分;35,通信部分。

【具体实施方式】

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,本发明的第一实施例提供一种通过修改训练数据控制机器学习模型预测结果的方法s10,其主要包括如下的步骤:

步骤s1,提供一机器学习模型及初始训练数据集,获得相匹配的噪声发生器;

步骤s2,基于噪声发生器与初始训练数据集获得包含预设噪声的训练数据,以形成修改后的训练数据集;及

步骤s3,利用修改后的训练数据集训练另一机器学习模型,以控制该机器学习模型对输入的未包含预设噪声的测试数据,输出不同预测结果。

其中,所述预设噪声是指基于所述噪声发生器对应获得与区别于初始训练数据的新的训练数据。所述预设噪声可与所述初始训练数据为同一数据类型或者不同的数据类型。

对于深度学习模型开发机构需要公开训练数据,以供同行审阅或者科研探索时,可基于上述步骤s1-步骤s2对将要公开的训练数据集进行训练数据修改处理,从而可避免数据接受方直接利用公开的训练数据来训练机器学习模型。

以下我们以深度神经网络为例做进一步的说明,需要说明的是本发明的作用并不仅限于深度神经网络,如可以基于其他任何可微分的机器学习模型,例如可为卷积神经网络模型、svm(supportvectormachines)、前馈神经网络(feedforwardneuralnetwork)、逻辑回归(logisticregression)等。

在本实施例中,如图2及图3中所示,提供具有二分类网络图像集合及一具有多分类的mnist(modifiednationalinstituteofstandardsandtechnology)数据集;具体地,二分类问题(例如可为夜莺v.s.水母的分类)中可包括由2600张用于训练且尺寸为224×224×3的彩色图片,以及100张用于测试的彩色图片组成。而mnist数据集中则由60,000张用于训练的尺寸为28×28的灰度图片以及10,000张测试的图片组成。

在具体训练噪声发生器g过程中,分类模型fθ首先利用包括分别两个卷积层的卷积网络对mnist数据集进行训练。而对于二分类网络图像集合,则对应将分类模型fθ设置为卷积神经网络(convolutionalneuralnetwork,cnn)进行训练。可见,对于不同的分类模型fθ,噪声发生器g由编码器-解码器组成,而对应的编码器/解码器可具有不同类型的卷积层。例如,在一些具体的实施例中,对应的噪声发生器g的学习率αg可根据实际的需求被设置为10-4或者其他的数值。

可见,在本发明中,所述噪声发生器g与机器学习模型、训练数据集关联度极大。

结合图1及图2,在此以上述二分类为例进一步地说明,提供一初始训练数据集,假设输入数据为x,输出数据的真实分类标签为y。随后训练获得一个噪声发生器g用于产生噪声数据,并将产生的噪声数据加入初始训练数据集中,以形成修改后的训练数据集,也即,结合噪声发生器g获得包含预设噪声的训练数据具体为:将x替换为x+g(x),即可完成训练数据的修改过程。

在本发明另外的一些实施例中,结合噪声发生器g获得包含预设噪声的训练数据还可为:将x替换为x×g(x)或x-g(x),只要是满足x与g(x)之间具有特定的函数关系均可被认为是基于噪声发生器g获得包含预设噪声的训练数据。在本发明中,获得所述噪声发生器g的过程包括如下步骤:

在机器学习模型训练过程中,基于最小化损失函数l[f(x+g(x),y)],交替地对其中f使用梯度下降法使损失下降,对其中g使用梯度上升法使损失上升,在最小化损失函数l收敛后,获得机器学习模型对应的噪声发生器g。

需要说明的是,在噪声发生器g训练好后,产生的噪声数据并不局限于上述步骤s1中所提供的机器学习模型中,所述噪声数据还可以影响不同种类的机器学习模型,也即,所述噪音发生器g可适用于不同种类的机器学习模型中。

具体地,在本发明中可将利用训练数据修改处理过的数据进行机器学习模型训练的过程看作是最小化损失函数l[f(x+g(x),y)]的收敛过程。

在训练过程中直接对f与g交替使用梯度下降法与梯度上升法会使得训练过程难以收敛,因此为了能够稳定的使机器学习模型训练的过程中最小化损失函数l收敛,同时能够减少内存的使用,如图4中所示,本发明的具体实施过程中提出了两种噪声发生器g的训练方式:伪更新法与副本法,具体如下:

伪更新法:是指在使用sgd(stochasticgradientdescent)方法的最小化损失函数l的每次迭代过程中,先固定g的参数ξ,并用梯度下降法更新f的参数θ,并记录第i次迭代时用的数据(xi,yi),及f的参数θi;接下来,用记录的f的参数θ更新过程用以更新g的参数ξ,并将上述过程重复t次。需要说明的是,所述sgd方法可替换为基于sgd的变形方法。

副本法:是指为g设置了一个副本g′。具体地,在使用sgd方法最小化损失函数l的每次迭代过程中,固定f的参数θ,并用梯度上升法更新g′的参数;固定g的参数ξ,并用梯度下降法更新f的参数θ。在达到最大迭代数后,将g′的参数拷贝到g,并重复上述过程t次。

其中,i可表示为0、1、2……n、n+1,其中,n表示为正整数。

在本发明中,利用不同的方法获得的噪声发生器g,并利用该噪声发生器g生成噪声数据会有不同。

采用本发明所提供的伪更新法和副本法,可提高训练获得噪声发生器g过程的鲁棒性(robustness)。

具体地,如图5a中所示,所述噪声发生器g的伪更新法训练过程具体如下:

步骤s100a,起始;

步骤s101a,在用sgd方法训练模型训练过程中,设训练的最大迭代次数为maxiter,机器学习模型f的学习率为αf,噪声发生器g的学习率为αg;

步骤s102a,随机初始化g的参数ξ;

步骤s103a,设置训练次数:t=0;

步骤s104a,随机初始化f的参数为θ0,初始化一个空列表l。其中,空列表l用于记录f的训练过程(xi,yi),θi;

步骤s105a,设置当前迭代次数:i=0;

步骤s106a,向列表l中添加与当前迭代次数对应的(xi,yi)及参数θi;

步骤s107a,利用预设公式一更新f参数θi;

步骤s108a,判断当前迭代次数i是否大于等于最大迭代次数maxiter;若是,则进入步骤s109a,若否,则进行迭代并返回步骤s105a;

步骤s109a,设置当前迭代次数:i=0;

步骤s110a,利用预设公式二更新g的参数ξ;

步骤s111a,判断当前迭代次数i是否大于等于最大迭代次数maxiter;若是,则进入步骤s112a,若否,则进行迭代并返回步骤s109a;

步骤s112a,判断训练次数是否大于预设重复训练次数t;若是,则进入步骤s113a;若否,则更新训练次数并返回步骤s104a;及

步骤s113a,得到所需噪声发生器g。

步骤s114a,结束。

需要说明的是,在一些特殊的实施例中,所述步骤s107a与所述步骤s110a中,有关利用预设公式一和预设公式二分别更新f参数θi及更新g的参数ξ的步骤的先后顺序可置换。

在本发明一些具体的实施例中,上述的步骤s100a-步骤s114a可具体说明如下,首先固定g的参数ξ对f进行训练,在每次迭代过程中(假设当前为第i次),在训练集中随机采样一个批量的数据(xi,yi),向列表l中添加当前批量的数据(xi,yi)及f当前的参数θi,上述步骤s107a中所述预设公式一可具体表示为如下公式(1)和公式(2):

其中,在上述公式(1)-公式(2)中,表示为第i次迭代对应的修改后的训练数据集;xi表示为第i次迭代对应的训练数据;gξ(xi)表示为第i次迭代对应的噪声发生器g的参数固定为ξ时的训练数据;θi+1表示为第i+1次迭代对应的机器学习模型f的更新参数;θi表示为第i次迭代对应的f的参数;αf表示为机器学习模型f的学习率;表示为第i次迭代对应的损失;yi表示为对应训练数据xi的输出结果。

在完成对f的训练后,利用记录的训练过程,对g的参数进行更新,在每次迭代过程中,从上述公式(2)的l中取出f训练过程中第i次迭代时的训练数据,即可表示为(xi,yi),θi=l[i],再进行步骤s110a中的预设公式二更新g的参数ξ。

具体地,在上述步骤s110a中所提及的预设公式二可具体表示为如下公式(3)和公式(4):

有关上述公式(3)-公式(4)中相应的符号的含义与上述公式(1)-公式(2)中相同,其中,l[fθ′(x),y]表示为更新后机器学习模型对应的损失;θ′表示为更新后机器学习模型f的参数;αg表示为噪声发生器g的学习率。

在本发明一些具体的实施例中,如图5b中所示,所述噪声发生器g副本法训练过程具体如下:

步骤s100b,起始;

步骤s101b,在用sgd方法训练模型训练过程中,设训练的最大迭代次数为maxiter,机器学习模型f的学习率为αf,噪声发生器g的学习率为αg,以及预设重复训练次数t;

步骤s102b,随机初始化g的参数ξ,拷贝得到g的副本g′;

步骤s103b,设置训练次数:t=0;

步骤s104b,随机初始化f的参数为θ0;

步骤s105b,设置当前迭代次数:i=0;

步骤s106b,利用预设公式三更新g′参数ξ′;

步骤s107b,利用预设公式四更新f参数θi;

步骤s108b,判断当前迭代次数i是否大于等于最大迭代次数maxiter;若是,则进入步骤s109b,若否,则进行迭代并返回步骤s105b;

步骤s109b,将副本g′拷贝回g;

步骤s110b,判断训练次数是否大于预设重复训练次数t;若是,则进入步骤s111b;若否,则更新训练次数并返回步骤s104b;及

步骤s111b,输出所述噪声发生器g;

步骤s112b,结束。

上述的步骤s100b-步骤s112b在用sgd方法训练模型训练过程中,设训练的最大迭代次数为maxiter,机器学习模型f的学习率为αf,噪声发生器g的学习率为αg,模型训练过程将进行t次。

在上述步骤s101b中,随机初始化噪声发生器g的参数ξ,并通过拷贝得到g的副本g′。然后进行下述训练过程t次。

每次训练过程开始时,随机初始化f的参数为θ0。在每次迭代过程中(假设当前为第i次),在训练集中随机采样一个批量的数据(xi,yi),并固定对应迭代次数i的f参数θi。

在上述步骤s106b中利用预设公式三更新g′参数ξ′,具体预设公式三包括:

在上述公式(5)及公式(6)中,符号所对应的含义与上述公式(1)-公式(4)中一致。具体地:表示为第i次迭代对应的损失,其中,g′ξ′(xi)表示为第i次迭代对应的噪声发生器g副本的参数为ξ′时的噪声数据;ξ′表示为更新后的噪声发生器g′的参数;l[fθ′(x),y]表示更新后机器学习模型对应的损失,其中,fθ′(x)表示为机器学习模型对应的输出结果。

在固定g的参数ξ之后,上述步骤s107b中利用预设公式四更新f参数θi,具体预设公式四包括:

其中,在上述公式(7)及公式(8)中,符号所对应的含义与上述公式(1)-公式(6)中一致。

具体地,该噪声发生器g可用于产生噪声数据并加入至初始训练数据集中,以使得由修改过的数据训练得到的模型在面对正常测试数据时出现预设错误预测。

请结合图1及图6,在本发明一些具体的实施例中,在上述步骤s3中,具体包括如下步骤:

步骤p1,利用包含预设噪声的训练数据集训练机器学习模型,以获得新机器学习模型;及

步骤p2,将未包含预设噪声的测试数据输入所述新机器学习模型,输出错误预测结果。

其中,在上述步骤p1中,所述利用包含预设噪声的训练数据集可通过如上述步骤s1及步骤s2中所述的方案而训练获得的。

具体地,在所述新模型训练单元中,所述训练数据集中包含预设噪声的训练数据的占比表示为p,在所述预测结果输出单元中输出错误预测结果的成功率表示为q,其中,所述成功率q与所述占比p成正比。

也即,上述成功率q可表示为在步骤p2中输入未包含预设噪声的测试数据后,输出错误预测结果的成功率。其与在训练机器学习模型的过程中,所使用的训练数据中所包含的噪声数据的占比相关。例如,所使用的训练数据中,包含噪声数据的占比越大,则训练获得的机器学习模型在输入未包含预设噪声的测试数据后,输出错误预设结果的成功率也越大。

有关所述通过修改训练数据控制机器学习模型预测结果的方法的相关限定与上述第一实施例中的相同,在此不再赘述。

具体地,在所述训练数据集的验证方法中,用经过所述通过修改训练数据控制机器学习模型预测结果的方法进行修改的训练数据中,会包含有预设噪声,利用修改后的训练数据训练出的机器学习模型,将会在正常测试数据集上产生大量错误。其中,正常测试数据,即为未包含预设噪声的测试数据。

需要特别说明的是,在上述步骤p2中,所述预设错误结果可理解为经过上述步骤s1-步骤s2进行修改后的训练数据。需要说明的是,在对不同的机器学习模型进行训练后,均会输出可预估的错误结果。

具体地,以二分类模型为例,结合上述所列举的具体例子:

针对使用未包含预设噪声的测试数据进行测试,获得的机器学习模型在面对正常测试数据时出现正确预测,如对于“夜莺”的图像数据,则对应输出“夜莺”的分类结果;

反之,针对使用包含预设噪声的训练数据集进行训练后,获得的机器学习模型在面对正常测试数据时则出现错误预测,如对于“夜莺”的图像数据,则输出“水母”的分类结果。

需要说明的是,上述的例子仅为示例,在实际应用中,针对使用包含预设噪声的训练数据集进行训练后,获得的机器学习模型,其输出的预设错误结果还可为第三分类结果或者其他任意的可便于相关人员辨识的标识结果。上述的示例,仅作为本发明说明,而不作为本发明的限定。

在本实施例中所提供的所述训练数据集的验证方法可广泛应用于各种用于训练深度学习模型的训练数据集中,且可适用于各种类型的训练数据集,如可应用于图像训练数据集、文字训练数据集、语音训练数据集或其他训练数据集中。

在本实施例中,开发机构在公开供内部使用的训练数据集之前,可先基于上述步骤s1-步骤s2获得的包含预设噪声的训练数据集。而由于采用上述通过修改训练数据控制机器学习模型预测结果的方法所获得的包含预设噪声的训练数据集中,其预设噪声是由于机器训练模型、初始训练数据对应的噪声发生器生成的,在训练数据集中加入特定的、小幅度的噪声数据,使其与原数据看起来仍然一致,但训练得到的模型会在正常的测试数据上做出预设错误预测,并输出对应预设错误结果。

其中,基于上述步骤s2获得的包含噪声数据的训练数据与原始数据做比较,可预先设定任意阈值,例如可对进行处理后的数据与原始数据做差,并在任意测度上获得其差值(如欧式距离),当差值小于预先设定的阈值,则认为处理后的训练数据与初始训练数据为基本一致。

在此,以上述夜莺v.s.水母二分类模型为例做说明,比较处理后的训练图像数据与初始训练图像数据,比较训练图像数据中每一个像素点之间的差异值,并获得训练图像数据的总差异值,当总差异值小于预设阈值时,则认为处理后的训练图像数据与初始训练图像数据基本一致。

可见,在本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法中,加入的预设噪声,即不会影响本领域技术人员对训练数据的审阅,又可以防止其他数据接受者直接利用公开的训练数据来训练机器学习模型,从而可以对训练数据进行保护并可有效防止被盗用。

请参阅图7a,本发明的第二实施例提供一通过修改训练数据控制机器学习模型预测结果的系统20,其包括如下的内容:

噪声发生模块21,被配置用于提供一机器学习模型,训练获得与之相匹配的噪声发生器;及

训练数据修正模块22,被配置用于提供初始训练数据集,结合噪声发生器获得包含预设噪声的训练数据,以形成修改后的训练数据集。

在本发明另外的一些实施例中,所述通过修改训练数据控制机器学习模型预测结果的系统20还包括:

预测结果模块23,其被配置用于利用包含预设噪声的训练数据集训练机器学习模型,以获得新机器学习模型;将未包含预设噪声的测试数据测试所述新机器学习模型,输出对应预设错误结果。

具体地,有关噪声发生模块21中所提供的噪声发生器的相关内容与上述第一实施例中所提及的噪声发生器g的具体生成方式、对应所利用的公式、具体处理步骤及有益效果均相同,在此不再赘述。

如图7b中所示,所述预测结果模块23进一步包括:

新模型训练单元231,被配置为利用包含预设噪声的训练数据集训练机器学习模型,以获得新机器学习模型;及

预测结果输出单元232,被配置为将未包含预设噪声的测试数据输入所述新机器学习模型,输出错误预测结果。

在本实施例中,所述通过修改训练数据控制机器学习模型预测结果的系统20具有与上述第一实施例中所提供的通过修改训练数据控制机器学习模型预测结果的方法相同的限定内容及有益效果,在此不再赘述。

请参阅图8,本发明的第三实施例提供一电子装置30,所述电子装置30包括存储单元31和处理单元32,所述存储单元31用于存储计算机程序,所述处理单元32用于通过所述存储单元31存储的计算机程序执行上述通过修改训练数据控制机器学习模型预测结果的方法的相关步骤。

在本发明一些具体的实施例中,所述电子装置30可以是硬件,也可以是软件。当电子装置为硬件时,可以是具有显示屏并且支持视频播放的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当电子装置为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块,在此不做具体限定。

所述存储单元31包括只读存储器(rom)、随机访问存储器(ram)及硬盘等的存储部分等,所述处理单元32可以根据存储在所述只读存储器(rom)中的程序或者加载到随机访问存储器(ram)中的程序而执行各种适当的动作和处理。在随机访问存储器(ram)中,还存储有所述电子装置30操作所需的各种程序和数据。

如图8中所示,所述电子装置30还可包括键盘、鼠标等的输入部分33;所述电子装置30还可进一步包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分34;以及所述电子装置30可进一步包括诸如lan卡、调制解调器等的网络接口卡的通信部分35。所述通信部分35经由诸如因特网的网络执行通信处理。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明所公开的实施例可包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分35从网络上被下载和安装。

在该计算机程序被所述处理单元32执行时,执行本申请的所述通过修改训练数据控制机器学习模型预测结果的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

在本申请中,计算机可读存储介质还可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可采用一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言--诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

在本发明的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,在此基于涉及的功能而确定。需要特别注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本发明的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:提供一通过修改训练数据控制机器学习模型预测结果的系统提供一机器学习模型,训练获得与之相匹配的噪声发生器;训练数据修正模块,被配置用于提供初始训练数据集,结合噪声发生器获得包含预设噪声的训练数据,以形成修改后的训练数据集;及预测结果模块,其被配置用于利用包含预设噪声的训练数据集训练机器学习模型,以获得新机器学习模型;将未包含预设噪声的测试数据训练所述新机器学习模型,输出对应预设错误结果。

作为另一方面,本发明的第四实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置可提供一机器学习模型,训练获得与之相匹配的噪声发生器;提供初始训练数据集,结合噪声发生器获得包含预设噪声的训练数据,以形成修改后的训练数据集;利用包含预设噪声的训练数据集训练机器学习模型,以获得新机器学习模型;将未包含预设噪声的测试数据训练所述新机器学习模型,输出对应预设错误结果。

与现有技术相比,本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法及其系统、电子装置,具有如下的有益效果:

本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法及其系统,其中,通过提供机器学习模型,训练获得与之相匹配的噪声发生器;进一步提供初始训练数据集,结合噪声发生器获得包含预设噪声的训练数据,以形成修改后的训练数据集。通过上述的训练数据处理,可在训练数据中加入特定的、小幅度的噪声,从而可使其与初始训练数据集中的数据看起来仍然一致,但是基于包含有预设噪声的训练数据训练得到的模型将会在正常的测试数据上做出错误的预测。因此,可防止数据接受方直接用公开的训练数据来训练机器学习模型,从而可有效地对训练数据进行保护及防盗。

在本发明中,对于所述包含预设噪声的训练数据与初始训练数据差异不大,但是基于包含预设噪声的训练数据再进行训练获得的模型将会产生预设错误预测,基于输出的预测结果,即可获知对应的数据是否为盗用的训练数据。从而可帮助需要公开内部训练数据的机构,可以预先采用本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法对训练数据进行处理后,再公开,从而避免具有高价值、高质量的训练数据被直接盗用。

本发明中,进一步提供在机器学习模型训练过程中,基于最小化损失函数l[f(x+g(x),y)],对其中f使用梯度下降法使损失下降,对其中g使用梯度上升法使损失上升,在最小化损失函数l收敛后,从而获得机器学习模型对应的噪声发生器g。基于上述的方式相比于现有直接在训练数据中随意混入标识数据相比,由于所加入的预设噪声是由与机器学习模型及初始训练数据对应噪声发生器所生成,因此,本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法及其系统可有效减少加入的噪声对初始训练数据的影响,从而可避免修改后的训练数据出现错误或者影响正常训练数据的审阅。因此,具有更优的准确定和针对性,可便于训练数据的公开保护。

为了解决在训练过程中直接对f与g交替使用梯度下降法与梯度上升法会使得训练过程难以收敛的问题,本发明还提供了两种噪声发生器g的训练方式:伪更新法与副本法,具体的利用伪更新法与副本法训练获得对应的噪声发生器g可使机器学习模型训练的过程中损失函数l的收敛更为稳定,还可有效减少运算量,从而可减少内存的使用。在本发明中,还具体对其利用的具体公式做了限定,基于相关公式的限定,可进一步提高所述通过修改训练数据控制机器学习模型预测结果的方法的效率及对多种训练数据类型的适用性。

在本发明所提供的通过修改训练数据控制机器学习模型预测结果的方法及其系统中,可通过调整用于训练新机器学习模型的训练数据中包含噪音数据的相关占比,从而提高所述输出预设结果的成功率。

本发明还提供一种电子装置,其包括存储单元和处理单元,所述存储单元用于存储计算机程序,所述处理单元用于通过所述存储单元存储的计算机程序执行通过修改训练数据控制机器学习模型预测结果的方法中的步骤。因此,所述电子装置也具有与上述通过修改训练数据控制机器学习模型预测结果的方法相同的有益效果,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。

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