训练装置、训练方法和计算机可读记录介质与流程

文档序号:21789134发布日期:2020-08-07 20:40阅读:80来源:国知局
训练装置、训练方法和计算机可读记录介质与流程

本文中讨论的实施方式涉及训练装置、训练方法和训练程序。



背景技术:

近年来,在医学图像分析等领域中,使用图像数据来检测诸如病变的异常。特别地,在医学等领域,通常难以获得异常状态的图像数据以用于训练数据,因此,需要使用仅正常状态的图像数据进行机器训练,并且还需要提高检测速度以处理大量精确且大规模的数据。

在如上所述的情况下,已知用于估计正常数据的分布并且将偏离分布的数据检测为异常数据的生成式对抗网络(gan),作为使用机器训练的异常检测方法。图15是用于说明gan的图。如图15所示,gan是包括生成器和鉴别器并且用于无监督训练的训练模型,其中用于训练生成器的网络和用于训练鉴别器的网络被同时训练。

在gan中,生成器被训练以从输入数据(例如噪声)生成与真数据相似的假数据,鉴别器被训练以鉴别由生成器生成的数据是真数据还是假数据。使用以下方法作为使用gan的异常检测:确定经过训练的生成器是否具有生成给定样本的能力并且如果经过训练的生成器不具有该能力则将生成的数据认为是异常数据的方法,以及将由经过训练的鉴别器确定为假数据的数据认为是异常数据的方法。

非专利文献1:schlegl、thomas等,“unsupervisedanomalydetectionwithgenerativeadversarialnetworkstoguidemarkerdiscovery(利用生成式对抗网络进行无监督异常检测以引导标记发现)”,医学影像信息处理国际会议,springer,cham,2017年。

非专利文献2:m.sabokrou等,“adversariallylearnedone-classclassifierfornoveltydetection(用于新颖性检测的对抗学习的一类分类器)”,计算机视觉与模式识别ieee会议纪要,2018年。

因此,本发明的实施方式的一个方面的目的是提供能够防止鉴别器检测异常的能力降低的训练装置、训练方法和训练程序。



技术实现要素:

根据实施方式的方面,训练装置包括:生成器,其被配置成生成多条图像数据;鉴别器,其被配置成鉴别由生成器生成的图像数据是真还是假;以及训练单元,其被配置成训练生成器和鉴别器,其中,训练单元被配置成:训练生成器使得生成器在生成多条数据使鉴别器的鉴别误差最大化时相对于所述多条图像数据以固定比率生成用于降低鉴别误差的至少一条指定图像数据;以及基于所述多条图像数据和至少一条指定图像数据来训练鉴别器以使鉴别误差最小化。

附图说明

图1是用于说明根据第一实施方式的异常检测装置的图;

图2是用于说明训练之前的步骤的图;

图3是用于说明训练开始之后的步骤的图;

图4是用于说明训练期间的步骤的图;

图5a是用于说明训练结束之后的鉴别器以及一般技术的问题的图;

图5b是用于说明训练结束之后的鉴别器以及一般技术的问题的图;

图6是示出根据第一实施方式的异常检测装置的功能配置的功能框图;

图7是用于说明根据第一实施方式的训练处理的图;

图8是用于说明检测结果的示例的图;

图9是示出根据第一实施方式的训练处理的流的流程图;

图10是示出根据第一实施方式的检测处理的流的流程图;

图11是用于说明根据第二实施方式的训练处理的图;

图12是示出根据第二实施方式的训练处理的流的流程图;

图13是用于说明根据第三实施方式的训练处理的图;

图14是用于说明硬件配置示例的图;以及

图15是用于说明gan的图。

具体实施方式

然而,在如上所述的技术中,在一些情况下,鉴别器检测异常的能力会降低。具体地,当使用鉴别器时,鉴别器的特性依赖于由生成器在训练结束时错误地生成的除正常数据之外的数据,这使得检测的遗漏会增加。例如,预期鉴别器具有鉴别正常数据与来自生成器的输出之间的差异的能力;然而,鉴别器不能够训练来自生成器的输出中不包括并且正常数据中不包括的数据,因此不可能预期特定输出。同时,使用生成器的方法需要高检测成本,并且因此不适用于需要高速性能的异常检测。

将参照附图说明本发明的优选实施方式。本发明不受以下实施方式的限制。另外,只要不产生矛盾,就可以适当组合实施方式。

[a]第一实施方式

对异常检测装置10的描述

图1是用于说明根据第一实施方式的异常检测装置10的图。如图1所示,异常检测装置10是训练装置的示例,训练装置在训练阶段通过gan训练生成器和鉴别器,并且在预测阶段通过使用经过训练的鉴别器关于预测目标图像数据执行异常检测。

同时,在使用一般gan的训练中,在一些情况下,鉴别器检测异常的能力会降低。下面将参照图2至图5b描述一般gan的问题。在图2至图5b中,关于使用一般gan的训练,示出了训练开始之前、训练期间和训练结束之后的步骤。图2是用于说明训练之前的步骤的图。图3是用于说明训练开始之后的步骤的图。图4是用于说明训练期间的步骤的图。图5a和图5b是用于说明训练结束之后的鉴别器以及一般技术的问题的图。

如图2所示,在训练之前,生成器生成与正常数据的分布不同的分布的数据,并且鉴别器训练正常数据的分布与由生成器生成的数据的分布之间的差异。换言之,鉴别器清楚地区分和鉴别正常数据的分布与由生成器生成的数据的分布。

随后,如图3所示,在训练开始时,对生成器的训练开始进行,使得要被鉴别器鉴别为正常的数据增加,并且要被鉴别为异常的数据减少。换言之,生成器被训练以生成可能被鉴别器错误地鉴别的数据,并且因此被训练以使得由生成器生成的数据的分布包括可以被鉴别器确定为正常的范围。相比之下,当随着训练开始而改变由生成器生成的数据的分布时,指示数据被鉴别为正常的鉴别结果的概率被改变;因此,鉴别器训练正常数据的分布与由生成器生成的数据的分布之间的差异。

随后,如图4所示,当训练从如图3所示的时间点进行时,执行训练以使得由生成器生成的数据的分布包括图3中可以被鉴别器鉴别为正常的范围。换言之,更新由生成器生成的数据的分布,以使其很大程度上被包括在可以被鉴别器鉴别为正常的范围内。相比之下,鉴别器被训练以鉴别由更新的生成器生成的数据的分布与正常数据的分布。

当训练进一步进行时,如图5a所示,在图4所示的状态下,生成器被训练以模拟可以被鉴别器鉴别为正常的范围内的数据,从而使鉴别器出错,使得由生成器生成的数据的分布被更新以包括图4中可以被鉴别器鉴别的范围。当训练完成时,经过训练的鉴别器被训练以鉴别由生成器生成的数据与正常数据(真数据)。

然而,在一般gan中,鉴别器的特性依赖于由生成器在训练结束时错误地生成的除正常数据之外的数据,这使得检测的遗漏会增加。具体地,如图5b所示,可以准确地检测关于在可以由经过训练的鉴别器确定为异常的范围内存在的异常数据的异常,但是不可能检测在该范围之外存在的异常数据。换言之,在一般gan中,在一些情况下,可能难以将鉴别器训练到与预期检测到的异常数据的范围相同的程度。

该问题的原因之一在于,在基于一般gan的训练方法中,进行训练以使得生成器生成仅可以预期作为正常数据的数据,并且因此,难以维持由生成器生成的数据的分布与正常数据的分布不匹配的状态。换言之,生成器尝试生成仅要由鉴别器确定为正常数据的数据。

为了解决该问题,异常检测装置10针对由生成器输出的每条图像数据确定使鉴别误差最大化还是最小化。然后,异常检测装置10针对每条生成的图像数据、根据指示最大化和最小化的所确定的训练指标中的一个训练指标来训练鉴别器,并且根据训练指标中的另一个训练指标来训练生成器。

换言之,通过使用能够穷举地生成预期在正常数据周围存在的异常数据的生成器,可以检测可能在一般技术中遗漏的异常数据。具体地,生成器被控制以使得在生成要由鉴别器确定为正常数据的数据时以恒定比率发生损失,使得如图5b所示由生成器生成的数据的分布包括预期检测到的异常数据的范围。以该方式,通过扩展鉴别器的训练范围,可以防止鉴别器检测异常的能力降低。

功能配置

图6是示出根据第一实施方式的异常检测装置10的功能配置的功能框图。如图6所示,异常检测装置10包括通信单元11、存储单元12和控制单元20。

通信单元11是控制与其他装置的通信的处理单元,并且是例如通信接口等。例如,通信单元11从管理员终端接收开始各种处理的指令、正常数据、预测目标数据等,并且将训练结果、预测结果等发送给管理员终端。

存储单元12是其中存储有各种类型的数据以及要由控制单元20执行的程序的存储装置的一个示例,并且存储单元12是例如存储器、硬盘等。存储单元12中存储有正常数据数据库(db)13、源信息db14、训练结果db15等。

正常数据db13是用于存储通过在正常状态下捕获内部器官等的图像而获得的图像数据的数据库。例如,正常数据db13中存储有通过gan训练鉴别器时使用的正常数据。

源信息db14是用于存储用作由生成器执行的数据生成的源的信息的数据库。例如,源信息db14中存储有称为种子的信息,例如随机数、随机噪声或潜变量。

训练结果db15是用于存储生成器和鉴别器的训练结果的数据库。例如,训练结果db15中存储有通过其可以生成每个完成训练的经过训练的生成器和经过训练的鉴别器的各种参数,作为使用gan的生成器和鉴别器的训练结果以及鉴别器的再训练结果。

控制单元20是控制整个异常检测装置10的处理单元,并且是例如处理器等。控制单元20包括训练处理单元30和检测单元40,训练具有高鉴别准确度的鉴别器,并且关于输入的预测目标图像数据执行异常检测。

训练处理单元30是包括生成器训练单元31和鉴别器训练单元32的处理单元,并且使用gan来训练生成器和鉴别器。例如,训练处理单元30确定是执行用于使鉴别器的鉴别误差最大化的训练还是执行用于使鉴别误差最小化的训练。然后,当执行使得鉴别器使鉴别误差最大化的训练时,训练处理单元30训练生成器以使鉴别误差最小化,而当执行使得鉴别器使鉴别误差最小化的训练时,训练处理单元30训练生成器以使鉴别误差最大化。

生成器训练单元31是训练gan的生成器的处理单元。具体地,生成器训练单元31基于一般gan训练生成器,并且同时训练生成器以使得当生成器生成要由鉴别器确定为正常数据的数据时在生成器中以恒定比率发生损失。

例如,生成器训练单元31使生成器通过使用在源信息db14中存储的种子来生成图像数据。然后,生成器训练单元31向鉴别器输入生成的图像数据(在下文中,可以被称为生成的数据),并且获取鉴别器的鉴别结果。然后,生成器训练单元31通过使用鉴别结果来训练生成器,使得生成的数据可以被鉴别器鉴别为正常数据。

这里,生成器训练单元31以恒定比率(例如,每预定次数一次)生成要被鉴别器鉴别为异常的数据,并且训练生成器。例如,通常,当鉴别器将生成的数据鉴别为异常时,生成器在接收到奖励时执行训练,并且生成器以恒定比率生成可以被鉴别器准确地鉴别为异常的数据,并且当生成的数据被鉴别器准确地确定为异常时,生成器在接收到奖励时执行训练。换言之,生成器训练单元31以恒定比率使生成器生成如图5b所示的预期检测到的异常数据,并且训练鉴别器和生成器。

更具体地,生成器生成使鉴别器混淆的数据,同时防止鉴别器将数据检测为异常,并且执行训练。同时,生成器以恒定比率生成不会使鉴别器混淆的数据,同时允许鉴别器将数据检测为异常,并且执行训练,使得鉴别器可以将异常数据准确地鉴别为异常。作为训练方法,可以应用执行训练同时以恒定比率反转生成器的损失函数等的方法。

鉴别器训练单元32是训练gan的鉴别器的处理单元。具体地,类似于一般gan,鉴别器训练单元32训练生成器,使得鉴别器能够区分正常数据db13中存储的正常数据与由生成器生成的所生成的数据。换言之,鉴别器被训练以使鉴别误差最小化。

例如,鉴别器训练单元32从生成器获取生成的数据,将生成的数据输入到鉴别器,并且获取鉴别器的输出结果。然后,鉴别器训练单元32训练鉴别器,使得关于指示输出结果中包括的正常数据的正常概率以及指示生成的数据的异常概率,异常概率增加并且正常概率降低。

换言之,鉴别器训练单元32使鉴别器训练由生成器生成的所生成的数据的分布与正常数据的分布之间的差异。如果训练完成,则鉴别器训练单元32将关于经过训练的鉴别器的信息存储在训练结果db15中。

以下将详细描述训练处理。图7是用于说明根据第一实施方式的训练处理的图。通常,生成器使用种子来生成数据,将生成的数据输入到鉴别器,并且基于鉴别器的鉴别结果被训练以欺骗鉴别器,使得生成的数据被鉴别器鉴别为正常数据。

在第一实施方式中,如图7所示,生成器将生成的数据划分为数据1和数据2,并且以恒定比率将每条数据输入到鉴别器。鉴别器被训练以将正常数据鉴别为正常数据,并且将生成的数据(数据1和数据2)鉴别为异常数据。此外,生成器被训练以使得鉴别器将数据1鉴别为正常并且将数据2鉴别为异常。

检测单元40是从输入的图像数据检测异常的处理单元。例如,如果训练处理单元30完成训练,则检测单元40从训练结果db15读取与经过训练的鉴别器有关的参数等,并且构造鉴别器。然后,在接收到预测目标图像数据时,检测单元40将图像数据输入到构造的鉴别器并且获得输出结果。

这里,关于指示输出结果中包括的正常数据的正常概率以及指示生成的数据的异常概率,如果正常概率较高,则检测单元40将输入的图像数据鉴别为正常图像数据,而如果异常概率较高,则检测单元40将输入的图像数据鉴别为异常图像数据。然后,检测单元40将鉴别结果发送到管理员终端,在诸如显示器的显示单元上显示鉴别结果,或者在存储单元12中存储鉴别结果。

图8是用于说明检测结果的示例的图。如图8所示,检测单元40首先将作为预测目标的输入图像划分为小区域,其后将图像数据输入到经过训练的鉴别器,并且获取鉴别结果。然后,检测单元40能够向用户提供由鉴别器确定为异常的区域。

训练处理的流

图9是示出根据第一实施方式的训练处理的流的流程图。如图9所示,如果发出了关于训练处理的指令,则训练处理单元30使生成器和鉴别器初始化(s101)。

如果预定定时尚未到来(s102:否),则训练处理单元30使生成器生成数据(生成的数据),将生成的数据输入到鉴别器(s103),并且训练鉴别器,使得鉴别器能够鉴别正常数据与生成的数据(s104)。此外,训练处理单元30训练生成器,使得鉴别器可以将生成的数据鉴别为正常数据(s105)。

其后,如果训练继续(s106:否),则训练处理单元30重复从s102开始的处理。相比之下,如果训练完成(s106:是),则训练处理单元30存储鉴别器(s107)。

相比之下,在s102处,如果确定预定定时已经到来(s102:是),则训练处理单元30使生成器生成数据(生成的数据)并且将生成的数据划分为数据1和数据2(s108)。

随后,训练处理单元30将数据1和数据2输入到鉴别器,并且训练鉴别器,使得鉴别器能够鉴别正常数据与生成的数据(数据1和数据2)(s109)。然后,训练处理单元30训练生成器,使得鉴别器将数据1鉴别为正常数据,并且鉴别器将数据2鉴别为异常数据(s110)。其后,训练处理单元30执行s106和s107处的处理。

检测处理的流

图10是示出根据第一实施方式的检测处理的流的流程图。如图10所示,如果发出了关于检测处理的指令,则检测单元40读取存储的鉴别器(s201)。随后,检测单元40将目标数据输入到鉴别器并且确定(鉴别)目标数据是否异常(s202)。

如果检测单元40确定目标数据正常(s203:是),则检测单元40终止处理。如果检测单元40未确定目标数据正常(s203:否),则检测单元40将目标数据输出为异常数据(s204)。

效果

如上所述,异常检测装置10注重以下事实:例如,期望在医疗过程中检测到的异常数据未出现在极大地偏离正常数据的分布的位置上,并且除了基于一般gan的生成器的正常训练以外,以恒定比率并入训练,以使得鉴别器能够逆向地通过正常训练来准确地鉴别异常。例如,鉴别器的损失随着训练的进行而增加,并且其后跟随生成器的训练,使得损失减少。相比之下,通过以恒定比率产生生成器的损失,由生成器生成的数据的分布偏离正常数据的分布。换言之,生成器能够以恒定比率生成接近正常数据的分布的异常数据,使得可以扩展鉴别器的训练范围。因此,可以防止鉴别器检测异常的能力降低。

[b]第二实施方式

在第一实施方式中,已经描述了其中生成器通过划分生成的数据来生成数据1和数据2的示例,但是生成产生生成器的损失的数据的方法不限于该示例。例如,通过根据用作生成器进行的数据生成的源的种子的值来改变损失的发生率,可以控制生成的异常数据的范围。例如,当使用从0到1的随机数作为种子时,使用从0.2到0.8的数字生成数据1,并且使用其余数字生成数据2。

图11是用于说明根据第二实施方式的训练处理的图。如图11所示,训练处理单元30设置源信息db14中存储的种子之中的、用于生成正常数据的种子1的范围,以及用于生成异常数据的种子2的范围。种子2的范围被设置在种子1的附近。此外,种子的空间可以是一维、二维或三维。

训练处理单元30基于一般gan执行训练,并且训练处理单元30以恒定比率使用种子1生成数据1,使用种子2生成数据2,并且将数据1和数据2中的每一个发送给鉴别器。其后,执行与第一实施方式相同的训练。

图12是示出根据第二实施方式的训练处理的流的流程图。基于一般gan的训练处理的流与图9中从s101至s107的处理的流相同,并且因此将省去其详细说明。以下将仅描述与第一实施方式不同的处理的流。具体地,在第二实施方式中,将描述与图9中的s101、s102(是)、s108至s110、s106和s107处的处理的流对应的处理。

如图12所示,如果发出了关于训练处理的指令,则训练处理单元30使生成器和鉴别器初始化(s301)。然后,训练处理单元30从源信息db14中存储的特定区域采样种子1,并且从种子1生成数据1(s302)。此外,训练处理单元30从源信息db14中存储的多条信息之中与种子1的区域不同的区域采样种子2,并且从种子2生成数据2(s303)。

随后,训练处理单元30将数据1和数据2输入到鉴别器,并且训练鉴别器,使得鉴别器能够鉴别正常数据与生成的数据(数据1和数据2)(s304)。然后,训练处理单元30训练生成器,使得鉴别器将数据1鉴别为正常数据,并且鉴别器将数据2鉴别为异常数据(s305)。

其后,如果训练继续(s306:否),则训练处理单元30重复从s302开始的处理。相比之下,如果训练完成(s306:是),则训练处理单元30存储鉴别器(s307)。

如上所述,通过预先设置用于生成用于训练以使得鉴别器如正常方式那样被混淆的数据1的源,以及用于生成用于训练以使得鉴别器不被混淆的数据2的源,训练处理单元30能够提高数据2的准确度。例如,可以预测异常数据不存在于极大地偏离正常数据的分布的位置,而是存在于正常数据的附近。此外,可以预期从相邻种子生成相同种子的数据。

因此,通过从存在于正常数据的种子的附近并且预期与异常数据对应的种子生成异常数据,可以通过使用期望最终检测到的异常数据来训练鉴别器。因此,通过将存在于与用于欺骗鉴别器的数据1对应的种子1的附近并且未被包括在种子1中的种子2的范围设置在种子1的范围的附近并且使生成器使用种子2生成数据2,训练处理单元30能够提高鉴别器的准确度。特别地,可以使用一般gan所使用的种子的分布的外围作为新种子,并且增加上述新种子的百分比;因此,该技术在正常数据的变化数小时特别有效。

[c]第三实施方式

在第二实施方式中,已经描述了其中将随机数等用作种子的示例,但是实施方式不限于该示例。例如,可以将用于训练的正常数据用作第二实施方式中使用的种子。这在正常数据和异常数据的变化数大时特别有效。

图13是用于说明根据第三实施方式的训练处理的图。如图13所示,训练处理单元30在源信息db14中将预先存储在正常数据db13中的每条正常数据存储为种子1。然后,训练处理单元30将源信息db14中存储的种子1中的每个附近的范围设置为种子2中的每一个。换言之,训练处理单元30设置要用于生成使鉴别器混淆的正常数据的种子1以及要用于生成不使鉴别器混淆的异常数据的种子2。

然后,训练处理单元30基于一般gan执行训练,并且以恒定比率使用种子1生成数据1,使用种子2生成数据2,并且将数据1和数据2中的每个输入到鉴别器。其后,执行与第一实施方式的训练相同的训练。

利用该配置,训练处理单元30能够准确地生成期望最终检测到的异常数据,其中预期异常数据存在于正常数据的附近;因此,可以通过使用异常数据来训练鉴别器,使得可以提高鉴别器的准确度。

[d]第四实施方式

尽管上面已经描述了本发明的实施方式,但是本发明可以以除了上述实施方式之外的各种形式来实施。

训练

例如,可以将终止训练处理的定时设置为任意时间点,例如,使用预定数目或更多条训练数据的训练完成的时间点,或鉴别器的损失减少到阈值以下的时间点。此外,除了应用于医学图像数据之外,技术还可以应用于确定是否发生了未经授权的入侵或引入了危险物质的各种领域。

恒定比率

例如,训练处理单元30能够任意改变恒定比率的设置,例如,每10次训练一次,或者如果预先设置训练次数为100则为训练次数的十分之一等。此外,训练处理单元30能够如上所述生成数据1和数据2,并且在鉴别器的损失增加并且其后减少的定时执行每次训练。

系统

除非另有说明,否则可以任意改变处理过程、控制过程、特定名称以及包括在上述文献和附图中示出的各种类型的数据和参数的信息。

此外,在附图中示出的装置的部件是功能概念,并且不一定必须在物理上如附图中示出那样地配置。换言之,装置的分布和集成的特定形式不限于附图中示出的那些。即,依赖于各种负载或使用条件,全部或部分装置可以在功能上或物理上分布或集成在任意单元中。例如,可以由不同装置来实现训练处理单元30和检测单元40。

此外,对于通过每个装置执行的每个处理功能,处理功能的全部或者任何部分可以通过cpu以及由cpu分析和执行的程序来实现,或者可以通过布线逻辑被实现为硬件。

硬件

图14是用于说明硬件配置示例的图。如图14所示,异常检测装置10包括通信装置10a、硬盘驱动器(hdd)10b、存储器10c和处理器10d。图14中示出的所有单元均经由总线等彼此连接。

通信装置10a是网络接口卡等,并且执行与其他服务器的通信。hdd10b中存储有用于操作如图6所示的功能的程序和db。

处理器10d从hdd10b等读取用于执行与图6中示出的处理单元中的每个的处理相同的处理的程序,并且将程序加载到存储器10c上,使得用于实现参照图6等描述的功能中的每个功能的处理被操作。换言之,处理实现与异常检测装置10中包括的所有处理单元的功能相同的功能。具体地,处理器10d从hdd10b等读取具有与训练处理单元30、检测单元40等的功能相同的功能的程序。然后,处理器10d执行用于实现与训练处理单元30、检测单元40等的处理相同的处理的处理。

以该方式,异常检测装置10通过读取并执行程序而用作执行异常检测方法的信息处理装置。此外,异常检测装置10能够使介质读取装置从记录介质读取上述程序并且执行所读取的程序,从而实现与上述实施方式的功能相同的功能。同时,在其他实施方式中描述的程序不必总是由异常检测装置10执行。例如,当不同计算机或不同服务器执行程序或者不同计算机和不同服务器以合作方式执行程序时,可以以相同方式应用本发明。

根据实施方式,可以防止鉴别器检测异常的能力降低。

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