一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

评价方法、评价程序以及信息处理装置与流程

2022-07-13 20:23:45 来源:中国专利 TAG:
1.本发明涉及评价方法、评价程序以及信息处理装置。
背景技术
::2.计算机系统中有基于收集到的信息来进行机器学习的机器学习系统。机器学习系统通过机器学习,来生成例如用于分析信息的训练完毕模型。而且,机器学习系统能够使用所生成的训练完毕模型来提供信息分析等服务。3.此外,存在有恶意的第三方对机器学习系统发起攻击的情况。对机器学习的攻击之一有被称为中毒(poisoning)的攻击。中毒是通过使与通常不同的数据(污染数据)混入到训练数据,故意地改变训练完毕模型的攻击。4.作为对抗中毒攻击的技术,例如,提出了在通过有监督的机器学习进行申请文件的审查、核定的处理中,能够高精度地检测恶意创建的伪合格的数据的信息识别方法。在该信息识别方法中,响应于使用包含时刻的学习数据和包含时刻的测试数据计算出的统计的数据的值超过规定的阈值,警报由非法的数据进行攻击的可能性。该方法只能适用于学习数据包含时刻的情况,通用性较低。5.作为能够应对不包含时刻的数据的中毒攻击的技术,也提出了在明确知道正常的数据的情况下,使用正常的数据的分布来检测污染数据的方法。在该方法中,例如,在以规定指标下的数据的分布中,将距离正常的数据的中心点一定距离以上的数据检测为污染数据。6.专利文献1:国际公开第2013/014987号7.非专利文献1:jacobsteinhardt,pangweiw.koh,percys.liang,"certifieddefensesfordatapoisoningattacks",advancesinneuralinformationprocessingsystems30(nips2017),2017年12月8.但是,在使用正常的数据的分布来检测污染数据的技术中,不能适用于正常的数据未知的情况,如果作为正常的数据处理的数据中混入了污染数据,则不能正确地检测污染数据。并且,在该技术中,难以检测分布在接近正常的数据的范围内的污染数据。像这样,以往存在难以检测污染数据的情况,污染数据的检测精度不充分。即,即使在训练数据内混入了以攻击机器学习为目的的污染数据,也很难检测该污染数据,且很难适当地判断训练数据是否对机器学习具有攻击性。技术实现要素:9.在一个侧面,本发明的目的在于能够适当地评价训练数据对机器学习的攻击性。10.在一个方案中,提供一种由计算机执行以下的处理的评价方法。11.计算机基于包含机器学习用的输入数据和标签的组的多个训练数据的集合,来生成多个包含一个以上的训练数据的部分集合。接下来,计算机对每个部分集合,进行使用部分集合所包含的训练数据的机器学习,来生成用于根据输入数据推断标签的训练完毕模型。而且,计算机对每个部分集合,基于使用部分集合所包含的训练数据生成的训练完毕模型的推断精度,来进行与部分集合所包含的训练数据对机器学习的攻击性相关的评价。12.根据一个方式,能够适当地评价训练数据对机器学习的攻击性。附图说明13.通过与表示作为本发明的例子优选的实施方式的附图相关的以下的说明,本发明的上述目的、其他目的、特征以及优点变得清楚。14.图1是表示第一实施方式的评价方法的一个例子的图。15.图2是表示包含机器学习系统的计算机系统的一个例子的图。16.图3是表示机器学习系统的硬件的一个例子的图。17.图4是示意性地表示机器学习的图。18.图5是对中毒的攻击进行说明的图。19.图6是表示在机器学习系统中用于污染数据的检测的功能的框图。20.图7是表示储存于存储部的数据的一个例子的图。21.图8是表示污染数据检测处理的一个例子的图。22.图9是表示精度的评价处理的一个例子的图。23.图10是表示污染数据检测处理的步骤的一个例子的流程图。24.图11是表示污染数据候补列表的一个例子的图。25.图12是表示使用聚类的训练数据集的分割例的图。26.图13是表示分割后的每个部分数据集的训练完毕模型的生成例的图。27.图14是表示第三实施方式中的污染数据检测处理的步骤的一个例子的流程图。28.图15是表示利用聚类的训练数据集分割处理的步骤的一个例子的流程图。29.图16是表示污染候补点的第一添加例的图。30.图17是表示污染候补点的第二添加例的图。31.图18是表示第四实施方式中的污染数据检测处理的步骤的一个例子的流程图。32.图19是表示第五实施方式中的污染数据检测处理的步骤的一个例子的流程图。具体实施方式33.以下,参照附图对本实施方式进行说明。此外,各实施方式能够在不矛盾的范围内组合多个实施方式并实施。34.〔第一实施方式〕35.首先,对第一实施方式进行说明。第一实施方式是对根据用于机器学习的训练数据的集合生成的每个部分集合,评价该部分集合所包含的训练数据对机器学习的攻击性的评价方法。如果能够对每个部分集合适当地评价攻击性,则能够提高为了中毒攻击等对机器学习的攻击而生成的训练数据(污染数据)的检测精度。36.图1是表示第一实施方式的评价方法的一个例子的图。在图1中,示出使用信息处理装置10来实施评价训练数据对机器学习的攻击性的评价方法的情况的例子。信息处理装置10例如能够通过执行描述有规定的处理步骤的评价程序,来实施评价方法。37.信息处理装置10具有存储部11和处理部12。存储部11例如是信息处理装置10所具有的存储器或者存储装置。处理部12例如是信息处理装置10所具有的处理器或者运算电路。38.存储部11存储用于机器学习的多个训练数据1a、1b、…。训练数据1a、1b、…分别包含机器学习用的输入数据和标签的组。标签是表示对输入数据进行分类的情况下的正确答案的信息(正确答案数据)。例如,在输入数据是电子邮件,通过机器学习来推断是否是垃圾邮件的情况下,将输入数据是否是垃圾邮件示于标签。39.处理部12从储存于存储部11的训练数据1a、1b、…中检测出具有对机器学习的攻击性的可能性较高的训练数据。例如,处理部12检测为了中毒攻击而生成的训练数据。具体而言,处理部12进行以下的处理。40.处理部12基于训练数据1a、1b、…的集合1,来生成多个包含一个以上的训练数据的部分集合3a、3b。接下来,处理部12对每个部分集合3a、3b,通过进行使用部分集合3a、3b所包含的训练数据的机器学习,来生成用于根据输入数据推断标签的训练完毕模型4a、4b。然后,处理部12对每个部分集合3a、3b,基于使用部分集合3a、3b所包含的训练数据生成的训练完毕模型4a、4b的推断精度,来进行与部分集合3a、3b所包含的训练数据对机器学习的攻击性相关的评价。例如,基于部分集合3a、3b生成的多个训练完毕模型4a、4b的推断精度越低,处理部12将部分集合3a、3b所包含的训练数据对机器学习的攻击性评价为越高。41.例如,当在训练数据1a、1b、…内混入有污染数据2的情况下,在所生成的部分集合3a、3b中的一方包含污染数据2。使用包含污染数据2的部分集合3a的训练数据生成的训练完毕模型4a的标签的推断精度低于使用不包含污染数据2的部分集合3b的训练数据生成的训练完毕模型4b的标签的推断精度。这是因为污染数据2是以训练完毕模型的精度劣化为目的而创建的。42.处理部12基于训练完毕模型4a、4b的精度比较结果,与用于生成训练完毕模型4b的训练数据相比,将用于生成训练完毕模型4a的训练数据,评价为对机器学习的攻击性较高。由此,能够正确地推断在部分集合3a内混入有污染数据2。即,能够适当地评价训练数据对机器学习的攻击性。43.此外,当在部分集合3a内还包含有大量的训练数据的情况下,很难从那些训练数据中确定出污染数据2。在该情况下,处理部12例如基于从评价所示的攻击性较高的一方起规定量的部分集合3a所包含的训练数据的集合,反复进行部分集合3a、3b的生成、训练完毕模型4a、4b的生成、评价。通过反复执行这一系列的处理,包含污染数据的部分集合的训练数据数也减少。若包含污染数据的部分集合的训练数据数为规定量以下,则处理部12结束一系列的处理的反复。而且,处理部12例如输出在最后的评价中攻击性最高的部分集合所包含的训练数据的列表,作为污染数据候补。44.由于通过反复处理来筛选污染数据候补,所以手动确认污染数据候补的内容,确认污染数据2变得容易。另外,若污染数据候补的数量较少,则处理部12也能够将该训练数据从存储部11中删除,防止将污染数据2用于机器学习。45.另外,处理部12在生成部分集合3a、3b时,也能够利用基于训练数据1a、1b、…间的相似性将训练数据分类到多个集群中的任意一个的聚类来生成部分集合。例如处理部12对训练数据1a、1b、…进行聚类,并对于被分类到从所属的训练数据数较少的一方起规定量的集群中的每个集群的训练数据,将所属的集群相同的训练数据彼此包含于共用的部分集合。46.由此,当在训练数据1a、1b、…内混入有多个污染数据2的情况下,能够将多个污染数据2包含于相同的部分集合。即,在多数情况下多个污染数据2具有共用的特征,在聚类时被分类到相同的集群。另外,攻击者为了使机器学习系统的管理者不会注意到正在进行攻击,认为混入到训练数据1a、1b、…的污染数据2的量为不过多的量。因此,包含污染数据2的集群与其他集群相比,所属的训练数据的数量变少。即,通过对于被分类到从所属的训练数据数较少的一方起规定量的集群中的每个集群的训练数据,将所属的集群相同的训练数据彼此包含于共用的部分集合,将多个污染数据2包含于共用的部分集合。47.通过将多个污染数据2包含于共用的部分集合,来将多个污染数据2被分散到多个部分集合3a、3b,从而防止部分集合3a、3b间的精度之差消失。即,基于包含多个污染数据2的部分集合生成的训练完毕模型的标签推断的精度降低,处理部12能够正确地判定在该部分集合内包含污染数据2。48.并且,处理部12也可以反复进行部分集合3a、3b的生成、训练完毕模型4a、4b的生成、训练完毕模型4a、4b的评价。在该情况下,处理部12每当进行评价,就对从评价所示的攻击性较高的一方起规定量的部分集合(例如,攻击性最高的部分集合3a)所包含的训练数据添加污染候补点。而且,处理部12输出从污染候补点较高的一方起规定量的训练数据。49.通过像这样对被评价为攻击性较高的部分集合所包含的训练数据添加污染候补点,例如即使在存在多个污染数据2,且这些污染数据2分散于多个部分集合3a、3b的情况下,也能够检测污染数据2。即,通过反复部分集合3a、3b的生成、训练、评价以及对被评价为攻击性较高的部分集合内的训练数据的污染候补点的添加,污染数据2的污染候补点增大。其结果是,处理部12能够将从污染候补点较高的一方起规定量的训练数据检测为污染数据2。50.〔第二实施方式〕51.接下来,对第二实施方式进行说明。第二实施方式是从训练数据集中检测具有包含用于中毒攻击的污染数据的可能性的一个以上的训练数据,并通知给管理者的机器学习系统。52.图2是表示包含机器学习系统的计算机系统的一个例子的图。机器学习系统100例如经由网络20与多个利用者终端31、32、…连接。机器学习系统100例如使用训练完毕的模型对从利用者终端31、32、…发送出的查询进行解析,并将解析结果发送至利用者终端31、32、…。利用者终端31、32、…是接受使用了通过机器学习生成的模型的服务的提供的用户所使用的计算机。53.图3是表示机器学习系统的硬件的一个例子的图。机器学习系统100通过处理器101控制装置整体。在处理器101,经由总线109连接有存储器102和多个外围设备。处理器101也可以是多处理器。处理器101例如是cpu(centralprocessingunit:中央处理器)、或mpu(microprocessingunit:微处理器)、或dsp(digitalsignalprocessor:数字信号处理器)。也可以通过asic(applicationspecificintegratedcircuit:专用集成电路)、pld(programmablelogicdevice:可编程逻辑器件)等电子电路来实现通过处理器101执行程序来实现的功能的至少一部分。54.存储器102被用作机器学习系统100的主存储装置。在存储器102中,临时存储使处理器101执行的os(operatingsystem:操作系统)的程序、应用程序的至少一部分。另外,在存储器102中,储存用于处理器101的处理的各种数据。作为存储器102,例如使用ram(randomaccessmemory:随机存取存储器)等易失性的半导体存储装置。55.作为连接于总线109的外围设备,具有存储装置103、图形处理装置104、输入接口105、光学驱动器装置106、设备连接接口107以及网络接口108。56.存储装置103对内置的记录介质以电或磁的方式进行数据的写入以及读出。存储装置103被用作计算机的辅助存储装置。在存储装置103,储存os的程序、应用程序以及各种数据。此外,作为存储装置103,例如能够使用hdd(harddiskdrive:硬盘驱动器)、ssd(solidstatedrive:固态驱动器)。57.在图形处理装置104连接有监视器21。图形处理装置104根据来自处理器101的命令,使图像显示于监视器21的画面。作为监视器21,具有使用了有机el(electroluminescence:电致发光)的显示装置、液晶显示装置等。58.在输入接口105连接有键盘22和鼠标23。输入接口105将从键盘22、鼠标23发送出的信号发送至处理器101。此外,鼠标23是定点设备的一个例子,也能够使用其他定点设备。作为其他定点设备,具有触摸面板、平板电脑、触摸板、跟踪球等。59.光学驱动器装置106利用激光等,进行记录于光盘24的数据的读取。光盘24是记录有数据的便携式的记录介质,能够通过光的反射来进行读取。光盘24具有dvd(digitalversatiledisc:数字多功能光盘)、dvd-ram、cd-rom(compactdiscreadonlymemory:光盘只读存储器)、cd-r(recordable:可记录)/rw(rewritable:可重写)等。60.设备连接接口107是用于将外围设备连接于机器学习系统100的通信接口。例如,在设备连接接口107,能够连接存储器装置25、存储器读写器26。存储器装置25是搭载有与设备连接接口107的通信功能的记录介质。存储器读写器26是进行向存储卡27的数据的写入、或者从存储卡27的数据的读出的装置。存储卡27是卡型的记录介质。61.网络接口108连接于网络20。网络接口108经由网络20,与其他计算机或者通信设备之间进行数据的收发。62.机器学习系统100能够通过如以上那样的硬件,来实现第二实施方式的处理功能。此外,第一实施方式所示的装置也能够通过与图3所示的机器学习系统100同样的硬件来实现。63.机器学习系统100例如通过执行记录于计算机可读取的记录介质的程序,来实现第二实施方式的处理功能。描述有使机器学习系统100执行的处理内容的程序能够记录于各种记录介质。例如,能够将使机器学习系统100执行的程序储存于存储装置103。处理器101将存储装置103内的程序的至少一部分加载到存储器102,并执行程序。另外,也能够将使机器学习系统100执行的程序记录于光盘24、存储器装置25、存储卡27等便携式记录介质。被储存于便携式记录介质的程序例如能够通过来自处理器101的控制,在被安装于存储装置103后执行。另外,处理器101也能够从便携式记录介质直接读出程序并执行。64.针对这样的机器学习系统100的攻击利用机器学习的特性来进行。以下,参照图4,对机器学习进行说明。65.图4是示意性地表示机器学习的图。如图4所示,将在机器学习系统100中进行的机器学习分为训练阶段40和推理阶段50。机器学习系统100在训练阶段40,通过将训练数据集42应用于空模型41,来进行针对空模型41的训练。空模型41也可以是如转移学习那样,全部或者部分地反映在某个训练数据中训练的参数的模型。66.在训练数据集42中,例如包含由输入数据42a和表示正确答案的输出数据(监督数据)的标签42b的组构成的多个数据。输入数据42a和标签42b均以数值串来表现。例如,在使用图像的机器学习的情况下,作为输入数据42a,使用表示该图像的特征的数值串。67.机器学习系统100将训练数据集42内的输入数据42a应用于空模型41来进行解析,得到输出数据。机器学习系统100对输出数据和标签42b进行比较,若不一致,则修正空模型41。所谓的空模型41的修正是例如将用于使用了空模型41的解析的参数(如果是神经网络,则是向单元的输入数据的权重参数以及偏差)修正为输出数据接近正确答案。68.机器学习系统100通过使用大量的训练数据集42来进行训练,能够生成对于多个输入数据42a得到与标签42b相同的输出数据的训练完毕模型43。训练完毕模型43例如用空模型41和通过训练设定了适当的值的模型的参数44来表示。69.像这样生成的训练完毕模型能够看作是“y=f(x)”的形式的函数(x、y分别是带有向量或者张量等构造的数值数据)。即,机器学习中的训练是根据大量的x和y的组来决定与其匹配的函数f的作业。70.机器学习系统100在生成训练完毕模型43后,使用该训练完毕模型43来实施推理阶段50。例如,机器学习系统100接受查询51的输入,并使用训练完毕模型43,得到与查询51相应的输出数据52。例如,在查询51是邮件的文章时,机器学习系统100将该邮件是否是垃圾的推断结果作为输出数据输出。另外,在输入数据为图像时,机器学习系统100例如输出该图像中拍摄到的动物的种类作为输出数据输出。71.针对机器学习系统100的攻击的训练阶段或者推理阶段为攻击对象。对于中毒而言,训练阶段为攻击对象。72.图5是对中毒的攻击进行说明的图。例如,机器学习系统100在训练阶段40,使用训练数据集42,生成通过决定边界45将数据分类到3个组的训练完毕模型43。攻击者60使用利用者终端31,并使用为了中毒而操作的训练数据集61,使机器学习系统100实施训练。在为了中毒而操作的训练数据集61中,包含在正确的训练完毕模型43中,未正确地推断的污染数据62。污染数据62对输入数据设定错误的标签。机器学习系统100根据污染数据62来变更决定边界45。73.变更后的决定边界45a为了适应污染数据62,而进行向错误的方向的变更。其结果是,若在推理阶段50使用受到中毒的攻击后的训练完毕模型43a,则输出错误的输出数据。74.攻击者60通过对机器学习系统100进行中毒的攻击,能够使推理中的推断精度劣化。例如,在机器学习系统100使用训练完毕模型43a,进行被输入到服务器的文件的过滤的情况下,由于推断精度劣化,存在不过滤病毒等具有危险性的文件的输入而允许的可能性。75.例如,假定机器学习系统100生成用于进行是否是垃圾邮件的分类的训练完毕模型的情况。在该情况下,在训练数据中,包含邮件和标签。邮件是在公司内的电子邮件所包含的文本数据以及附件。标签是监督数据,用二值表示邮件是否是垃圾。例如,在邮件是非垃圾的情况下,标签的值为“0”,在邮件是垃圾的情况下,标签的值为“1”。76.此外,在对邮件进行标记时,通过规则库、或人工、或其他机器学习的结果来推断是否是垃圾。例如,机器学习系统100通过规则库的过滤,来推断有无邮件是垃圾的可能性。机器学习系统100将具有是垃圾的可能性的邮件显示于监视器,催促管理者推断是否是垃圾。管理者确认所显示的邮件的内容,并判断该邮件是否是垃圾,并将判断结果输入至机器学习系统100。机器学习系统100将输入的标签赋予给推断对象的邮件,并将标签和邮件的组作为训练数据。77.作为针对这样的训练数据的中毒攻击,例如考虑在一般的邮件数据中加入特定的术语等的中毒。被进行了该中毒的污染数据只要该特定的术语不给进行标记的人带来不协调感,就进行通常的标记(赋予非垃圾的标签“0”)。另一方面,在机器学习系统100中,在推断阶段,在推理时,存在对包含混入到垃圾邮件的特定的术语的邮件进行错误的推理的担忧。78.因此,机器学习系统100将训练数据集分割成多个部分数据集,并对每个部分数据集进行机器学习的模型的训练。此外,部分数据集是第一实施方式所示的部分集合3a、3b的一个例子。而且,机器学习系统100对每个部分数据集的训练完毕模型的推理的精度进行比较,并推断为在生成了精度较差的训练完毕模型的部分数据集中包含有污染数据。像这样,通过考虑污染数据对训练完毕模型的精度的影响,来进行污染数据的检测,能够检测影响训练精度的污染数据。79.图6是表示在机器学习系统中用于污染数据的检测的功能的框图。机器学习系统100具有训练数据获取部110、存储部120、分割部130、训练部140、评价部150以及筛选部160。80.训练数据获取部110获取训练数据。例如,在训练用于推断邮件是否是垃圾的模型的情况下,训练数据获取部110从邮件服务器获取电子邮件。而且,训练数据获取部110受理表示获取到的电子邮件是否是垃圾的标签的值的输入。例如,若机器学习系统100的管理者输入标签的值,则训练数据获取部110将电子邮件与标签的组储存至存储部120。81.存储部120存储训练数据集121和评价数据集122。训练数据包含向模型输入的输入数据和表示输出结果的正确答案值的标签。评价数据集122是用于训练完毕模型的评价的评价数据的集合。评价数据包含向模型输入的输入数据和表示输出结果的正确答案值的标签。作为存储部120,例如使用存储器102或者存储装置103的存储区域的一部分。82.分割部130将训练数据集121分割成多个部分数据集。分割部130决定各部分数据集所包含的训练数据,例如以使得训练数据集121所包含的训练数据的标签的值的比率与分割后的各部分数据集所包含的训练数据的标签的值的比率成为相同程度。83.训练部140对通过分割生成的每个部分数据集,进行使用了该部分数据集所包含的训练数据的机器学习。由此,生成每个部分数据集的训练完毕模型。84.评价部150使用评价数据集122来评价对每个部分数据集生成的训练完毕模型的每一个的标签推断的精度。例如,评价部150计算使用训练完毕模型将评价数据集122所包含的评价数据的输入数据输入到训练完毕模型而得到的输出数据与该评价数据的标签一致的比例。越是输出数据与标签一致的比例高的训练完毕模型,评价部150将标签推断的精度评价为越高。此外,评价部150也可以使用通过分割生成的部分数据集,作为评价数据集122。85.筛选部160基于评价结果,来确定包含污染数据的可能性较高的训练数据的评价数据集,并显示该评价数据集所包含的训练数据的列表。例如,筛选部160将用于评价结果最低的训练完毕模型的生成的评价数据集确定为包含污染数据的可能性较高的训练数据的集合。86.此外,连接图6所示的各要素间的线表示通信路径的一部分,也可以设定图示的通信路径以外的通信路径。另外,图6所示的各要素的功能例如能够通过使计算机执行与该要素对应的程序模块来实现。87.接下来,对储存于存储部120的训练数据集121和评价数据集122进行详细说明。88.图7是表示储存于存储部的数据的一个例子的图。训练数据集121中包含有每个训练数据的记录。各训练数据具有用于识别训练数据的数据编号、输入数据以及标签。输入数据是成为机器学习中的标签的推断对象的数据。例如,在进行用于从电子邮件中检测垃圾的机器学习的情况下,电子邮件中描述的内容为输入数据。标签是有关输入数据的监督数据(正确答案数据)。例如,在进行用于从电子邮件中检测垃圾的机器学习的情况下,将表示对应的电子邮件是否是垃圾的值设定为标签。89.在评价数据集122中,包含有每个评价数据的记录。各评价数据与训练数据同样地具有用于识别评价数据的数据编号、输入数据以及标签。90.若在图7所示的训练数据集121所包含的训练数据中混合有污染数据,则很难进行正确的机器学习。因此,机器学习系统100从训练数据集121所包含的训练数据中进行污染数据的检测处理。91.图8是表示污染数据检测处理的一个例子的图。在图8中,用圆圈示出训练数据集121所包含的多个训练数据121a、121b、…。在多个训练数据121a、121b、…中,包含有由攻击者60生成的污染数据121x。92.机器学习系统100将训练数据集121分割成包含一个以上的训练数据的部分数据集71~73。污染数据121x包含于任意一个评价数据集。在图8的例子中,部分数据集71中包含有污染数据121x。93.机器学习系统100对部分数据集71~73中的每个部分数据集,使用该集合所包含的训练数据进行空模型41的训练(机器学习的训练阶段)。由此,对部分数据集71~73中的每个部分数据集生成训练完毕模型43a、43b、43c。94.机器学习系统100使用评价数据集122来评价由所生成的训练完毕模型43a、43b、43c进行的标签推断的精度。95.图9是表示精度的评价处理的一个例子的图。机器学习系统100例如使用训练完毕模型43a来进行评价数据集122的输入数据的标签的推理。输出推理的结果作为输出数据53。机器学习系统100对评价数据集122内的每个评价数据,比较该评价数据中作为监督数据包含的标签的值和输出数据的值,判定是否一致。机器学习系统100例如将评价数据的标签的一致率作为训练完毕模型43a的精度的评价结果。一致率是作为监督数据的标签与用输出数据表示的标签一致的评价数据的数除以评价数据集122内的评价数据数所得的值。在该情况下,一致率越高,表示训练完毕模型43a的精度越好。96.训练完毕模型43a的精度越好,能够将用于该训练完毕模型43a的生成的部分数据集71的攻击性评价为越低。换言之,训练完毕模型43a的精度越差,用于该训练完毕模型43a的生成的部分数据集71的攻击性越高。攻击性高意味着包含污染数据121x的可能性高。97.机器学习系统100对于其他训练完毕模型43b、43c也同样地实施使用评价数据集122的评价。以下,返回到图8的说明。98.训练数据集121所包含的污染数据121x使所生成的训练完毕模型的精度劣化。于是,通过使用包含污染数据121x的部分数据集71的训练得到的训练完毕模型43a的标签推断精度比其他训练完毕模型43b、43c差。即,训练完毕模型43a的精度的评价结果降低。99.机器学习系统100获取用于精度的评价结果最低的训练完毕模型43a的训练的部分数据集71,并将训练数据集121置换为部分数据集71,进行分割、训练、精度评价。机器学习系统100以后同样地反复进行针对用于生成精度的评价最低的训练完毕模型的集合的分割、训练、精度评价。100.当在精度评价后满足规定的结束条件时,机器学习系统100判定为在用于生成在该精度评价中评价最低的训练完毕模型的集合所包含的训练数据中包含污染数据。例如,在用于生成精度的评价最低的训练完毕模型的集合所包含的训练数据的数量为规定量以下的情况下,机器学习系统100判定为满足结束条件。另外,也可以在分割、训练、精度评价的反复次数达到规定次数的情况下,机器学习系统100判定为满足了结束条件。101.此外,即使评价数据集122包含污染数据,只要污染数据是少量的,就能够使用评价数据集122进行适当的评价。即,即使评价数据集122中包含有少量的污染数据,该污染数据的影响也相等地作用于多个训练完毕模型43a、43b、43c中的每个训练完毕模型。因此,即使在评价数据集122中包含少量的污染数据,通过在多个训练完毕模型43a、43b、43c间相对地比较评价结果,也能够正确地确定精度最差的训练完毕模型。因此,可以不用准备完全未被污染的正常的数据作为评价数据集122。102.接下来,对污染数据检测处理的步骤进行详细说明。103.图10是表示污染数据检测处理的步骤的一个例子的流程图。以下,按照步骤编号对图10所示的处理进行说明。104.[步骤s101]分割部130从存储部120获取训练数据集121和评价数据集122。然后,分割部130将获取到的训练数据集121内的训练数据设定为作为训练对象的数据集(训练数据集xt)。另外,分割部130将获取到的评价数据集122设定为用于训练完毕模型的评价的数据集(评价数据集xv)。另外,分割部130将预先指定的值设定为表示污染数据检测处理的结束条件的数据数的阈值t。[0105][步骤s102]分割部130将训练数据集xt分割成多个部分数据集,生成部分数据集x1、…、xn。例如,假设分割部130被赋予训练数据集xt=[(x1,y1),(x2,y2),…,(xm,ym)](m为1以上的整数)。在这里,xi、yi(i=1,…,m)分别是输入数据和标签。在该情况下,分割部130将训练数据集xt例如像xt=x1∪x2∪x3那样分割为多个部分数据集。在通过分割而生成的部分数据集的数量是预先规定的情况下,分割部130将训练数据中的每个数据随机地分配到多个部分数据集中的任意一个部分数据集。通过分割而得到的部分数据集分别成为独立的训练数据集xi(i=1、…、n)(n为1以上的整数)。[0106]此外,分割部130使训练数据集xt所包含的训练数据分别包含于至少一个部分数据集。此外,各训练数据也可以包含于多个部分数据集。[0107][步骤s103]训练部140通过每个训练数据集xi(i=1、…、n)进行机器学习,生成n个训练完毕模型mi。[0108][步骤s104]评价部150使用评价数据集xv,对每个训练完毕模型mi的精度进行评价。[0109][步骤s105]筛选部160求出用于精度最差的训练完毕模型mj(j为1以上且n以下的整数)的训练的训练数据集xj所包含的训练数据数n(n为1以上的整数)。[0110][步骤s106]筛选部160判断训练数据数n是否为阈值t以下。若训练数据数n为阈值t以下,则筛选部160使处理进入到步骤s108。另外,若训练数据数n超过阈值t,则筛选部160使处理进入到步骤s107。[0111][步骤s107]筛选部160将训练数据集xj重新设定为作为训练对象的训练数据集xt。而且,筛选部160使处理进入到步骤s102。以后,通过分割部130、训练部140、评价部150以及筛选部160,使用更新后的训练数据集xt反复步骤s102~s106的处理。[0112][步骤s108]筛选部160将训练数据集xj作为包含污染数据的可能性较高的训练数据的集合输出。例如筛选部160将训练数据集xj所包含的训练数据的列表作为污染数据候补列表显示于监视器21。[0113]这样,能够准确地检测污染数据的可能性较高的训练数据。例如,即使在正常的训练数据的附近存在污染数据的情况下,该污染数据也会对训练完毕模型产生负面影响。此外,所谓的正常的训练数据的附近的污染数据是与正常的训练数据的相似度较高的污染数据。若训练数据的输入数据是电子邮件,则例如存在故意地插入有不会被普通人识别为污染数据的特定的语句的电子邮件作为污染数据混入到训练数据集的情况。该污染数据除了包含特定的语句以外,与不是垃圾的正常的电子邮件没有区别,标签也被设定为表示非垃圾的值“0”。[0114]使用这样的污染数据训练后的训练完毕模型因具有被故意地插入的特定的语句,精度比使用正常的训练数据训练后的训练完毕模型差。即,若利用使用污染数据训练后的训练完毕模型,来进行具有特定的语句的电子邮件是否是垃圾的推理,则即使该电子邮件是垃圾,推断为不是垃圾的概率变高。其结果是,该训练完毕模型的推断精度变得比其他训练完毕模型低。因此,机器学习系统100能够判断为用于精度较差的训练完毕模型的训练的训练数据集中包含污染数据的可能性较高。而且,通过机器学习系统100反复筛选包含污染数据的训练数据集,即使是正常的训练数据附近的污染数据,也能够检测该污染数据。[0115]若包含污染数据的可能性较高的训练数据的筛选完成,则筛选部160将污染数据候补列表显示于监视器21。机器学习系统100的管理者基于该污染数据候补列表,来进行例如污染数据的调查或者从训练数据集121的污染数据的去除。[0116]图11是表示污染数据候补列表的一个例子的图。在污染数据候补列表77中,显示由筛选部160筛选后的训练数据集所包含的训练数据的列表。机器学习系统100的管理者参照污染数据候补列表77,确定用于中毒的攻击的训练数据(污染数据)。例如,管理者详细地确认污染数据候补列表77所包含的训练数据的内容,并根据有无不自然的信息等来确定污染数据。管理者例如将确定出的污染数据从存储部120中删除。另外,管理者也能够将污染数据候补列表77所包含的所有训练数据视为污染数据的可能性较高,并从存储部120中删除。通过将能够确认是污染数据的训练数据、或者污染数据的可能性较高的训练数据从存储部120中删除,能够使用存储部120内的训练数据集121,来生成高精度的训练完毕模型。[0117]这样,能够容易地检测污染数据。即,机器学习系统100通过考虑污染数据对训练完毕模型带来的影响来检测污染数据,也能够检测在以往的中毒检测中难以检测的污染数据。[0118]〔第三实施方式〕[0119]接下来,对第三实施方式进行说明。第三实施方式在将训练数据集121分割为多个部分数据集时利用聚类技术的点与第二实施方式不同。以下,对第三实施方式中的与第二实施方式的不同点进行说明。[0120]在第二实施方式中,分割部130随机地决定包含训练数据的部分数据集。在有一个污染数据的情况下,若随机地进行训练数据的向部分数据集的分配,则生成包含污染数据的一个部分数据集和不包含污染数据的其他部分数据集。其结果是,在使用各部分数据集的训练数据生成的每个部分数据集的训练完毕模型之间,基于有无污染数据,产生推断精度的优劣。其结果是,能够确定包含污染数据的部分数据集。[0121]针对于此,当在训练数据集内混入有多个污染数据的情况下,若将训练数据随机地分配到多个部分数据集中的任意一个部分数据集,则污染数据被均衡地分配给多个部分数据集中的每个部分数据集。若各部分数据集包含相同程度的数量的污染数据,则在使用各部分数据集的训练数据生成的每个部分数据集的训练完毕模型之间,不会产生推断精度的优劣。在该情况下,若将具有包含污染数据的可能性的部分数据集决定为任意一个部分数据集,则无法检测除此以外的部分数据集中包含的污染数据。[0122]因此,在第三实施方式中,机器学习系统100进行训练数据集所包含的训练数据的聚类,将相似的训练数据集中到一个集群。通过聚类,将污染数据集中到与不是污染数据的数据不同的集群。机器学习系统100通过将包含污染数据的集群内的训练数据包含于相同的部分数据集,能够将污染数据的大部分集中到一个部分数据集内。[0123]图12是表示使用了聚类的训练数据集的分割例的图。在图12中,按标签的值区分表示训练数据集80所包含的多个训练数据81a、81b、…。用白圆表示标签为“0”的训练数据,用黑圆表示标签为“1”的训练数据。在多个训练数据81a、81b、…中混入有污染数据82、83。[0124]机器学习系统100通过聚类将这样的训练数据集80内的训练数据分类到多个集群84a~84e。在该情况下,污染数据82、83被分类到相同的集群84a。之后,机器学习系统100将多个集群84a~84e中的每个集群的训练数据分配到多个部分数据集84、85中的任意一个。[0125]例如,机器学习系统100将属于多个集群84a~84e中的训练数据数最少的集群的训练数据分配到相同的部分数据集。在图12的例子中,集群84a、84b、84c的训练数据数均为两个,训练数据数最少。因此,机器学习系统100将集群84a内的训练数据分配到相同的部分数据集84。同样地,机器学习系统100将集群84b内的训练数据分配到相同的部分数据集84,并将集群84c内的训练数据分配到相同的部分数据集85。[0126]之后,机器学习系统100将剩余的集群84d、84e内的训练数据分配到部分数据集84、85中的任意一个。此时,机器学习系统100分配集群84d、84e内的训练数据,以使得原来的训练数据集80中的训练数据的标签的比率与在分割后生成的部分数据集中的训练数据的标签的比率成为相同程度。[0127]在图12的例子中,在训练数据集80中,标签“0”的训练数据为12个,标签“1”的训练数据为10个。于是,训练数据集80中的标签“0”的训练数据与标签“1”的训练数据之比为6比5。因此,机器学习系统100在部分数据集84、85中的每个部分数据集中,将集群84d、84e内的训练数据分配到部分数据集84、85,使得标签“0”的训练数据与标签“1”的训练数据之比为6比5。[0128]这样,能够将训练数据集80分割成多个部分数据集84、85。通过使用聚类分割,训练数据中的污染数据82、83被汇总到一个部分数据集84。在通过分割处理生成部分数据集84、85后,机器学习系统100与第二实施方式同样地、为每个部分数据集84、85生成训练完毕模型,并评价精度。[0129]图13是表示分割后的每个部分数据集的训练完毕模型的生成例的图。机器学习系统100基于部分数据集84所包含的训练数据来进行模型的训练,生成训练完毕模型43d。同样地,机器学习系统100基于部分数据集85所包含的训练数据来进行模型的训练,生成训练完毕模型43e。而且,机器学习系统100评价训练完毕模型43d、43e中的每个训练完毕模型的精度。[0130]由于污染数据82、83仅包含于部分数据集84,所以使用部分数据集84内的训练数据生成的训练完毕模型43d的推断精度比使用部分数据集85内的训练数据生成的训练完毕模型43e差。即,能够正确地判断为在部分数据集84内包含有污染数据82、83。[0131]因此,机器学习系统100将部分数据集84所包含的训练数据作为新的训练数据集,反复进行使用了聚类的训练数据集的分割处理等处理。其结果是,即使在存在多个污染数据82、83的情况下,也能够输出包含那些污染数据82、83的部分数据集,作为污染数据候补列表。[0132]另外,通过在分割后也保持训练数据的标签的出现比率,能够正确地进行使用了分割后的部分数据集84、85的训练。并且,若在分割后的部分数据集84、85彼此中标签的出现比率相同,则能够防止在因标签的出现比率的差异而生成的训练完毕模型的精度出现差异。即,若标签的出现比率的差异给训练完毕模型的精度带来影响,则存在不包含污染数据的部分数据集与包含污染数据的部分数据集相比,所生成的训练完毕模型的精度降低的担忧。因此,机器学习系统100通过在分割后的部分数据集84、85彼此中使标签的出现比率相同,防止标签的出现比率的差异给训练完毕模型的精度带来影响。[0133]图14是表示第三实施方式中的污染数据检测处理的步骤的一个例子的流程图。此外,图14所示的步骤s201、s203~s208的处理与图10所示的第二实施方式中的步骤s101、s103~s108的处理相同。因此,与第二实施方式不同的处理仅为以下的步骤s202的处理。[0134][步骤s202]分割部130进行利用了聚类的训练数据集分割处理。[0135]图15是表示利用了聚类的训练数据集分割处理的步骤的一个例子的流程图。以下,按照步骤编号对图15所示的处理进行说明。[0136][步骤s211]分割部130对训练数据集xt进行无监督型或半监督型的聚类,生成包含含有训练数据集xt的训练数据的多个集群。此外,作为聚类的算法,分割部130例如能够使用k平均法(k-means)、kd树(k-dtree)等。这些聚类算法预先决定集群数,在聚类到决定出的数量的集群时有用。在使生成的集群数不定的情况下,分割部130例如能够使用x-means或者dbscan作为聚类算法。[0137]另外,在数据的维度较大的情况下,分割部130也能够在进行维度减少(或特征量提取)后进行聚类。作为这样的算法,具有pca(主成分分析)、使用自动编码器(autoencoder)的潜在变量提取、lda(latentdirichletallocation:隐含狄利克雷分布)等。的训练数据的分配目的地,使得在分割目的地的部分数据集中标签的比率也为1:1。例如,分割部130将集群c3如以下那样分割成集群c31和集群c32。[0153]c31={(xi,yi)}(i=31、…、265)[0154]c32=c3-c31={(xi,yi)}(i=266、…、500)[0155]集群c31和c32的训练数据数均为“235”。另外,分割部130将集群c5如以下那样分割成集群c51和c52。[0156]c51={(xi,yi)}(i=511、…、745)[0157]c52=c5-c51={(xi,yi)}(i=746、…、1000)[0158]集群c51的训练数据数为“235”,集群c52的训练数据数为“255”。而且,分割部130生成如以下那样的部分数据集x1、x2。[0159]x1=c1∪c4∪c31∪c51[0160]x2=c2∪c32∪c52[0161]部分数据集x1的标签“0”的训练数据数为“245”(c1∪c31),标签“1”的训练数据数为“245”(c4∪c51)。因此,部分数据集x1中的标签的比率为1:1。同样地,部分数据集x2中的标签的比率也为1:1。[0162]像这样,在第三实施方式中,通过聚类,能够将多个污染数据集中到相同的集群。而且,通过将包含污染数据的集群内的训练数据分配到相同的部分数据集,可将多个污染数据集中到一个部分数据集。其结果是,防止将多个污染数据均衡地分散到多个部分数据集,即使在存在多个污染数据的情况下也能够检测这些污染数据。[0163]〔第四实施方式〕[0164]接下来,对第四实施方式进行说明。在第四实施方式中,机器学习系统100以不同的分割模式反复分割训练数据集。而且,机器学习系统100每次进行分割,都进行基于机器学习的训练完毕模型的生成和精度的评价,并对用于精度较差的训练完毕模型的生成的训练数据加上污染候补点。由于使用污染数据生成的训练完毕模型的精度较差,所以若反复进行分割、训练完毕模型的生成、评价、污染候补点的相加,则污染数据的污染候补点大于其他数据的污染候补点。因此,机器学习系统100输出污染候补点较高的训练数据作为污染数据候补。[0165]图16是表示污染候补点的第一添加例的图。在图16的例子中,对训练数据集121内的训练数据121a、121b、…,从左向右依次赋予升序的数据编号。机器学习系统100将训练数据集121分割成多个部分数据集71~73,生成每个部分数据集的训练完毕模型43a、43b、43c。而且,机器学习系统100评价训练完毕模型43a、43b、43c中的每个训练完毕模型的精度。[0166]在图16的例子中,部分数据集71中包含有污染数据121x,使用了部分数据集71的训练完毕模型43a的精度低于其他训练完毕模型43b、43c的精度。因此,机器学习系统100对部分数据集71所包含的训练数据中的每个训练数据,各添加一个污染候补点。[0167]例如,机器学习系统100具有污染候补点管理表91。污染候补点管理表91是用于管理每个训练数据的污染候补点的数据表。在污染候补点管理表91中,与训练数据的数据编号建立对应关系地、设定有该训练数据的污染候补点。[0168]在图16的例子中,在部分数据集71中,包含有数据编号“1”~“8”的训练数据。因此,机器学习系统100对污染候补点管理表91中的数据编号“1”~“8”中的每个数据编号,各添加“1”点污染候补点。[0169]图17是表示污染候补点的第二添加例的图。机器学习系统100以与图16不同的分割模式将训练数据集121分割成多个部分数据集74~76,并生成每个部分数据集的训练完毕模型43f、43g、43h。而且,机器学习系统100评价训练完毕模型43f、43g、43h中的每个训练完毕模型的精度。[0170]在图17的例子中,部分数据集74包含有污染数据121x,使用了部分数据集74的训练完毕模型43f的精度比其他训练完毕模型43g、43h的精度低。因此,机器学习系统100对部分数据集74所包含的每个训练数据,各加上一个污染候补点。即,机器学习系统100对与污染候补点管理表91中的部分数据集74所包含的训练数据的数据编号对应的污染候补点各添加一点。[0171]通过反复这样的处理,污染数据121x(数据编号“4”)的污染候补点高于其他训练数据的污染候补点。机器学习系统100在反复规定次数污染候补点的加法时,输出从污染候补点较大的一方规定量的训练数据,作为污染数据候补。[0172]图18是表示第四实施方式中的污染数据检测处理的步骤的一个例子的流程图。以下,按照步骤编号对图18所示的处理进行说明。[0173][步骤s301]分割部130从存储部120获取训练数据集121和评价数据集122。然后,分割部130将获取到的训练数据集121内的训练数据设定为作为训练对象的数据集(训练数据集xt)。另外,分割部130将获取到的评价数据集122设定为用于训练完毕模型的评价的数据集(评价数据集xv)。另外,分割部130将预先指定的值设定为反复次数i(i为1以上的整数)。[0174][步骤s302]分割部130将表示是第几次的反复处理的变量p设定为1(p=1)。[0175][步骤s303]分割部130将训练数据集xt分割成多个部分数据集,生成部分数据集x1、…、xn。此时,分割部130进行每次分割都生成不同的部分数据集的分割处理。例如,分割部130随机地决定成为多个训练数据中的每个训练数据的分配目的地的部分数据集。[0176][步骤s304]训练部140通过每个训练数据集xi(i=1、…、n)进行机器学习,生成n个训练完毕模型mi。[0177][步骤s305]评价部150使用评价数据集xv来评价各个训练完毕模型mi的精度。[0178][步骤s306]筛选部160对用于精度最差的训练完毕模型mj(j为1以上且n以下的整数)的训练的训练数据集xj所包含的训练数据,各添加一个污染候补点。[0179][步骤s307]筛选部160判断变量p的值是否达到反复次数i(p=i?)。若未达到反复次数i,则筛选部160使处理进入到步骤s308。另外,在达到反复次数i的情况下,筛选部160使处理进入到步骤s309。[0180][步骤s308]筛选部160对变量p加1成为(p=p 1),并使处理进入到步骤s303。[0181][步骤s309]筛选部160输出从污染候补点较高的一方起规定量的训练数据的数据编号。[0182]像这样,在第四实施方式中,由于基于训练候补点来检测污染数据候补,所以即使在混入了多个污染数据的情况下,也能够检测这些污染数据。另外,在最初的训练数据集的分割中,即使在多个污染数据被分散到不同的部分数据集的情况下,也能够检测各污染数据,检测精度提高。[0183]以下,对第四实施方式的污染数据的检测例进行说明。[0184]假定在生成用于识别手写的“0”和“1”的训练完毕模型的机器学习中,检测混入到训练数据集的污染数据的情况。在该情况下,作为正常的训练数据,合计准备了约2000个通过手写写有“0”或者“1”的图像数据。另外,准备了100个污染数据。在该情况下,污染数据为整体的约5%。分割部130将训练数据集的分割随机地分割为两个。训练部140生成基于逻辑回归的2值分类模型作为训练完毕模型。处理的反复次数i为“100”。[0185]当机器学习系统100在以上的条件下执行图18所示的处理顺序,并提取污染候补点较高的100个训练数据作为污染数据时,被推断为污染数据的上位100个训练数据中包含有27个污染数据。即,能够以27%的检测精度检测混入率5%的污染数据。[0186]〔第五实施方式〕[0187]接下来,对第五实施方式进行说明。第五实施方式是组合了第三实施方式和第四实施方式的方式。[0188]图19是表示第五实施方式中的污染数据检测处理的步骤的一个例子的流程图。图19所示的处理中的步骤s401、s402、s404~s409的处理分别与图18所示的第四实施方式的步骤s301、s302、s304~s309的处理相同。另外,步骤s403的处理与图14所示的第三实施方式的步骤s202的处理相同。[0189]此外,在第五实施方式中,分割部130采用为每个聚类生成不同的集群的聚类算法。例如,分割部130每当进行聚类,就变更在聚类中使用的参数。例如,分割部130在进行特征量提取后进行基于特征量的相似度的聚类。此时,分割部130每次进行聚类就变更要提取的特征量。由此,即使对相同的训练数据集反复进行利用了聚类的分割,在每次分割处理中,也生成不同的部分数据集。[0190]像这样通过组合利用聚类的训练数据集的分割处理和通过向训练数据添加污染候补点进行的污染数据的提取,污染数据的提取精度提高。[0191]例如,若如第三实施方式那样仅是利用聚类的训练数据集的分割处理,则在混入了多种污染数据的情况下,存在污染数据被分散到多个集群,且污染数据分散到不同的部分数据集的担忧。于是,可能无法检测一部分污染数据。与此相对,在第五实施方式中,机器学习系统100反复进行利用了聚类的分割处理,每次都对用于精度较低的训练完毕模型的生成的训练数据添加污染候补点。由此,即使混入聚类时属于不同的集群的多种污染数据,这些污染数据的污染候补点也比其他训练数据高。其结果是,能够防止污染数据的漏检。[0192]而且,由于通过聚类将污染数据集中到一个部分数据集,所以在进行精度评价时,根据包含污染数据的部分数据集生成的训练完毕模型与除此以外的训练完毕模型的精度之差显著。其结果是,能够准确地判断包含污染数据的部分数据集。[0193]〔其他实施方式〕[0194]在第二实施方式~第五实施方式中,机器学习系统100将训练数据集121和评价数据集122分开,但例如也能够将训练数据集121的至少一部分作为评价数据集122来使用。[0195]上述仅示出本发明的原理。并且,对本领域技术人员来说能够进行多种变形、变更,本发明并不限定于上述示出并说明的准确的结构以及应用例,对应的所有的变形例以及等同物被视为由所附的权利要求及其等同物限定的本发明的范围。[0196]附图标记说明[0197]1…集合;1a、1b…训练数据;2…污染数据;3a、3b…部分集合;4a、4b…训练完毕模型;10…信息处理装置;11…存储部;12…处理部。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献