具有生成对抗网络架构的异常检测装置和异常检测方法与流程

文档序号:30093299发布日期:2022-05-18 09:54阅读:113来源:国知局
具有生成对抗网络架构的异常检测装置和异常检测方法与流程

1.本公开涉及一种具有生成对抗网络架构为基础的异常检测装置和异常检测方法。


背景技术:

2.在产业应用人工智能进行瑕疵检测的导入初期,可能会遇到瑕疵与正常影像数量极不平均,甚至仅有正常样本,瑕疵样本的数量不足。一般而言,瑕疵形式多变不固定,要穷举所有瑕疵样本进行训练变得困难,因此,难以使用监督式学习方式建立准确率高的瑕疵检测模型。
3.因此,如何由正常样本影像,无需瑕疵样本影像的情况下,也能建立瑕疵检测模型,为本领域可改进的方向之一。


技术实现要素:

4.为了达到上述的目的,本公开一方面提供了一种具有生成对抗网络架构的异常检测装置,其利用一组多个正常信号所构成的单类别训练数据,进行异常检测模型训练。其包括:一编码器,用以将其输入的信号编码为向量输出;一生成器,连接至上述编码器,其用以将其输入的向量生成一与上述正常信号相同维度的重建信号;一判别器,连接至上述生成器,其用以判断其输入的信号为真实或虚假而输出一判别值;以及一随机向量产生器,用以产生多个随机隐向量。其中,上述异常检测模型训练包括一第一训练阶段和一第二训练阶段,依序将上述随机隐向量输入至上述生成器生成与上述正常信号相同维度的多个合成信号,上述合成信号依序输入至上述判别器,产生对应的多个判别值,并且上述判别值小于一既定临界值时,将对应的上述合成信号选择为训练用合成异常信号,其中利用上述正常信号作为无异常信号。
5.为了达到上述的目的,本公开另一方面提供了一种异常检测方法,其适用于一包含处理器和内存的系统,上述内存包含可以执行于上述处理器的多个指令,并且使得上述处理器组态为一可以实现异常检测方法的生成对抗网络,其上述生成对抗网络的训练方法包括下列步骤:提供一组多个正常信号所构成的单类别训练数据;在第一训练阶段中,固定上述生成对抗网络中的编码器和生成器的内部参数后,进行其中判别器的训练,并且依序将上述单类别训练数据的上述正常信号输入至上述编码器,产生对应的多个第一隐向量,再将对应的上述第一隐向量输入至上述生成器,用以产生对应的多个第一重建信号;在第一训练阶段中,依序将对应的上述第一重建信号输入至上述判别器,以其对应的判别值越小为目标,对于上述判别器内部参数进行调整,并且依序将上述单类别训练数据的上述正常信号输入至上述判别器,以其对应的判别值越大为目标,对于上述判别器内部参数进行调整;以及产生多个随机隐向量输入至上述生成器生成与上述正常信号相同维度的多个合成信号,上述合成信号依序输入至上述判别器,产生对应的多个判别值,并且上述判别值小于一既定临界值时,将对应的上述合成信号选择为训练用合成异常信号。
6.在本公开中,上述既定临界值通过使上述训练用合成异常信号不同于上述正常信
号的方式设定。上述正常信号可以是自动光学检测系统中利用光学仪器所取得的待测物的表面状态影像。
附图说明
7.图1示出了本公开实施例中用以实现异常检测方法的生成对抗网络的方块图;
8.图2示出了本公开实施例中用以实现异常检测方法的生成对抗网络的训练流程图;以及
9.图3示出了用以实现本公开实施例的异常检测装置和异常检测方法的计算机系统方块图。
10.附图标记说明
11.100:生成对抗网络;
12.10:编码器;
13.20:生成器;
14.30:判别器;
15.40:随机向量产生器;
16.50:训练逻辑;
17.s100,s200,s300,s400,s500,s600,s700:步骤;
18.130:系统;
19.310:处理单元;
20.320:显示单元;
21.330:输入设备;
22.340:储存装置;
23.350:内存;
24.360:通信接口。
具体实施方式
25.以下说明为完成本公开的较佳实现方式,其目的在于描述本公开的基本精神,但并不用以限定本公开。实际的发明内容必须参考本公开权利要求书保护的范围。
26.必须了解的是,本说明书中使用的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、组件以及/或部件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、部件,或以上的任意组合。
27.本公开中使用如“第一”、“第二”、“第三”等词用来修饰本公开中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
28.图1示出了本公开实施例中用以实现异常检测方法的生成对抗网络100的方块图。如图1所示,本实施例的生成对抗网络100中包括一编码器10、一生成器20、一判别器30、一随机向量产生器40及一训练逻辑50。生成对抗网络100可以利用例如笔记本电脑、平板、手机或其他具有运算能力的电子装置加以实现。以一般计算机系统为例进行说明。一般计算机系统至少包含一处理器及一内存,其中内存可以用来储存多个指令所构成的程序代码,
其中程序代码可以加载至处理器中加以执行,用以实现生成对抗网络100中的编码器10、生成器20、判别器30、随机向量产生器40和训练逻辑50。其中,内存可由只读存储器、闪存、软盘、硬盘、光盘、随身碟、磁带或可由网络存取的数据库或本领域技术人员知晓的具有相同功能的储存媒体加以实现。
29.在实施例中,编码器10、生成器20、判别器30、随机向量产生器40及训练逻辑50也可以各自或分别由体积电路加以实现,例如微控制器(micro controller)、微处理器(microprocessor)、数字信号处理器(digital signal processor,dsp)、现场可程序化逻辑门阵列(field programmable gate array,fpga)、特殊应用集成电路(application specific integrated circuit,asic)或一逻辑电路。在一实施例中,编码器10、生成器20、判别器30、随机向量产生器40及训练逻辑50也可以各自以软件或硬件加以实现。
30.在实施例中,作为单类别训练数据的正常信号x={x1,x2,...,xn},其中n为一正整数,表示作为训练用的正常信号的样本数。本实施例的正常信号x可以是二维影像、音频、三维影像或其他可被编码的数据。以二维影像为例,正常信号x可以是布料纹理表面的影像数据、或者是一面板表面的影像数据、或者是自动光学检测系统中利用光学仪器所取得的待测物的表面状态影像。其中二维影像的正常信号x为了处理方便,可以统一调校为具有相同维度的影像数据,例如32*32像素大小的二维影像。
31.在实施例中,编码器10、生成器20和判别器30可利用类神经网络模型加以实现,类神经网络模型例如是卷积神经网络(convolutional neural network,cnn)、循环神经网络(recurrent neural network,rnn)或其他类神经网络模型等。
32.在实施例中,编码器(encoder)10用来将输入的信号编码成对应的隐向量(latent vector),为方便表示,以符号e代表编码器10的类神经网络内部参数,以函数e()表示编码器的输出。
33.在实施例中,生成器(generator)20用以将输入的隐向量生成为对应的重建信号,为方便表示,以符号g代表生成器20的类神经网络内部参数,以函数g()表示生成器的输出。在实施例中,生成器20所产生的重建信号会与正常信号具有相同维度。
34.在实施例中,判别器(discriminator)30用以将输入的信号(例如正常信号x、重建信号或由后述随机隐向量所生成的合成信号)经过计算后得出一介于0到1的间的实数值(判别值)。其中此判别值越大(接近1)代表其判断输入的信号为真实信号的可能性越高,判别值越小(接近0)代表其判断输入的信号判别为虚假信号的可能性越高。为方便表示,以符号d代表判别器30的类神经网络内部参数,以函数d()表示判别器的输出。在一般生成对抗网络中,生成器20和判别器30之间为对抗关系,也即训练的目的使得判别器30对于真实信号和虚假信号可以分别输出接近1和接近0的判别值,而同时生成器20的输出在判别器30的判断下则会接近真实信号。
35.在实施例中,随机向量产生器40通过随机随机数生成对应的多个随机隐向量z。这些随机隐向量z在本实施例中则是用来产生不同于正常信号x的异常信号。处理上是依序将随机隐向量z输入至生成器20生成与正常信号x相同维度的多个合成信号g(z),再将合成信号g(z)依序输入至判别器30,产生对应的多个判别值d(g(z)),并且当判别值d(g(z))小于一既定临界值th时,将对应的合成信号选择为训练用合成异常信号。也即利用判别器30来评估对应的合成信号g(z)是否为正常类别信号,再回推随机隐向量z是否属于e(x)分布的
可能性,目标是选择出不在e(x)分布的z,此即为本实施例中的排他性(exclusive)观念。基于此,虽然原始训练数据中为单类别训练数据(仅含正常信号),但是可以利用正常信号x作为无异常信号,并且利用训练用合成异常信号g(z)作为异常信号,进行异常检测模型训练。
36.如图1所示,训练逻辑50可以根据正常信号x、编码器10、生成器20和判别器30的输出,依据既定训练条件进行编码器10、生成器20、判别器30内部参数e、g、d的调校。当训练逻辑50判断满足一训练收敛条件时,则输出此时的编码器10、生成器20、判别器30内部参数e、g、d。其中训练逻辑50则如图2所示,以下配合附图详细说明。在一实施例中,收敛条件可以事先定义,例如为执行循环100次。
37.图2示出了本公开实施例中用以实现异常检测方法的生成对抗网络100的训练流程图。
38.如图2所示,在步骤s100中,为生成对抗网络100的初始状态。单类别训练数据的正常信号x={x1,x2,

,xn},例如可以是n个正常的待测物表面影像数据,影像数据维度为32*32个像素。此时,编码器10内部参数设为e,生成器20内部参数设为g,判别器30内部参数设为d。提供既定临界值th采用使训练用合成异常信号g(z)不同于上述正常信号x的方式设定,其介于0与1之间。例如可以设为0.5或0.7等。
39.在步骤s200中,进行第一训练阶段,固定编码器10的内部参数e和生成器20的内部参数g,对于判别器30的内部参数d进行调校。调校方式是根据训练条件(1)和(2):
40.max d(x)
ꢀꢀꢀ
(1)
41.min d(g(e(x)))
ꢀꢀꢀ
(2)
42.根据训练条件(1),依序将单类别训练数据的正常信号x输入至判别器30,并且以其对应的判别值d(x)越大为目标;另一方面,根据训练条件(2),依序将单类别训练数据的正常信号x输入至编码器10,产生对应的多个第一隐向量e(x),再将对应的第一隐向量e(x)输入至生成器20,用来产生对应的多个第一重建信号g(e(x)),再将第一重建信号g(e(x))输入至判别器30,以其对应的判别值d(g(e(x)))越小为目标。根据训练条件(1)和(2),则可以对于判别器30的内部参数d进行调校,更新为内部参数d’。
43.在步骤s300中,利用随机向量产生器40产生多个随机隐向量z,其中d’(g(z))<th,如前所述,以此产生训练用合成异常信号g(z)。在本实施例的实施上,训练用合成异常信号g(z)的数量可以小于n(即正常信号样本数)。
44.在步骤s400中,进行第二训练阶段,固定判别器30的内部参数d’,对于编码器10的内部参数e和生成器20的内部参数g进行调校。调校方式是根据训练条件(3)~(7):
45.max d’(g(e(x)))
ꢀꢀꢀ
(3)
46.min d’(g(z))
ꢀꢀꢀ
(4)
47.min//x-g(e(x))//
ꢀꢀꢀ
(5)
48.min//e(x)-e(g(e(x)))//
ꢀꢀꢀ
(6)
49.max//g(z)-g(e(g(z)))//
ꢀꢀꢀ
(7)
50.根据训练条件(3),第一重建信号g(e(x))输入至判别器30,调校内部参数e和内部参数g的方式,使得其对应的判别值d’(g(e(x)))越大为目标。如前所述,其与训练条件(2)为对抗关系。如前所述,训练用合成异常信号g(z)作为不同于正常信号x的异常信号,因此根据训练条件(4),训练用合成异常信号g(z)输入至判别器30,并且调校内部参数e和内部
参数g的方式,以其对应的判别值d’(g(z))越小为目标。
51.另外,根据训练条件(5)、(6)、(7),则是分别以第一误差值越小、第二误差值越小、第三误差值越大为目标,调校内部参数e和内部参数g。其中第一误差值计算上述正常信号x与上述第一重建信号g(e(x))之间的距离值;第二误差值计算第一隐向量e(x)与第二隐向量e(g(e(x)))之间的距离值;第三误差值计算训练用合成异常信号g(z)与第二重建信号g(e(g(z)))之间的距离值。必须说明的是,上述训练目标为最大化(max)或最小化(min)为相对的概念,在实际操作时可以依据实施上的一致性,加入负号或数学运算以便调整实际操作方式,并不违背本公开实施例的精神。
52.必须特别说明的是,根据训练条件(7),本实施例中,训练用合成异常信号g(z)(代表非正常信号)以及其经过编码器10和生成器20所产生的第二重建信号g(e(g(z)))之间的重建误差最大化,以此达到本实施例中排他性生成对抗网络(exclusive generative adversarial network)架构的特性。在完成第二训练阶段后,则将编码器10的内部参数e和生成器20的内部参数g,更新为e’和g’。
53.在步骤s500中,则判断是否满足训练收敛条件。例如可以预先设定训练执行循环为100次。
54.在步骤s600中,当尚未满足训练收敛条件时,经由步骤s600回到步骤s100。在步骤s600中,将编码器10、生成器20和判别器30的目前内部参数e’、g’、d’设定为编码器10、生成器20和判别器30的内部参数e、g、d。
55.在步骤s700中,当满足训练收敛条件时,则可以取得此时的编码器10、生成器20和判别器30的内部参数e、g、d。借此,即可以取得本实施例的排他性生成对抗网络,用以实现异常检测装置和异常检测方法。
56.图3示出了用以实现本发明实施例的异常检测装置和异常检测方法的计算机系统130的方块图。此计算机系统130架构可实施于桌面计算机、笔记本电脑或其他具备运算能力的电子装置。处理单元310可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单处理器、具平行处理能力的多处理器、图形处理器或其他具运算能力的处理器),并且在执行程序代码或软件时,提供前述的异常检测功能。此系统架构另包含内存350用以储存执行过程中需要的数据,例如,变量、数据表等,以及储存装置340,用以储存各式各样的电子档案,例如,网页、文件、音频文件、视讯文件等。此系统架构另包含通信接口360,处理单元310可以此跟其他电子装置进行沟通。通信接口360可以是局域网络通信模块或无线局域网络通信模块。输入设备330可包含键盘、鼠标、触控面板等。用户可按压键盘上的硬键来输入字符,通过操作鼠标来控制鼠标,或者是在触控面板制造手势来控制执行中的应用程序。手势可包含单击、双击、单指拖曳、多指拖曳等,但不限定于此。显示单元320可包含显示面板(例如,薄膜液晶显示面板、有机发光二极管面板或其他具显示能力的面板),用以显示输入的字符、数字、符号、拖曳鼠目标移动轨迹、绘制的图案或应用程序所提供的画面,提供给使用者观看。
57.以下以一实际例说明本公开实施例的内容。下述表一为未采用本实施例的排他性生成对抗网络的布料纹理异常检测情形(分成自动预测与人工标注的情形),表二为采用采用本实施例的排他性生成对抗网络的布料纹理异常检测情形(分成自动预测与人工标注的情形),两者为对照组,假设实验所采用的训练正常影像(真实数据x)为1000张布料影像,而
测试正常影像有9730张,测试异常影像有3336张。
58.表一
[0059][0060][0061]
表二
[0062][0063]
其中,以表一为例,召回率(recall)是将自动预测异常正确的张数(3336)除以人工标注异常的总张数(3336)而得。精确率是将自动预测异常正确的张数(3336)除以自动预测异常的总张数(4123)而得。
[0064]
在一实施例中,伪阴率fnr(false negative rate,fnr)是将自动预测异常错误的张数(0)除以人工标注异常的总张数(3336)而得,也即1-召回率。真阴率tnr(true negative rate,tnr)是将自动预测正常正确的张数(8943)除以人工标注正常的总张数(9730)而得。
[0065]
在一实施例中,总正确率是将自动预测正确的总张数(3336+8943)除以总测试影像数(13066)而得。总错误率为1-总正确率。
[0066]
表二的计算方式与表一相同,故此处不赘述。由表一及表二可看出当召回率(recall)为100%的相同情况下,未采用本实施例的排他性生成对抗网络的精确率为80.91%,采用本实施例的排他性生成对抗网络的精确率为86.88%,因此采用本实施例的排他性生成对抗网络提升了在判断数据正常或异常时的精准度。
[0067]
在一些领域中,例如半导体领域的相关产品取像做异常检测时,由于半导体领域的良率较高,因此要找到正常的产品取像作为训练数据较容易,但不容易找到异常的产品取像作为训练数据。本公开实施例提出的异常检测装置及异常检测方法,可通过随机随机数生成的随机隐向量经生成器生成与正常信号相同维度的合成信号。这些合成信号依序输入至上述判别器,产生对应的多个判别值,当判别值小于一既定临界值时,将对应的合成信号选择为训练用合成异常信号。利用正常信号作为无异常信号,并且利用训练用合成异常信号作为异常信号,则可进行异常检测模型训练。换言之,本公开实施例提出的异常检测装置及异常检测方法,可以收集正常真实数据以训练模型,也可以生成异常数据以训练模型,
达到产生用以训练数据处理装置的异常的训练数据的目的,以此建立更能精准判断输入数据为正常或异常数据的异常检测模型。
[0068]
本公开的一实施例提供了一种具有生成对抗网络架构的异常检测装置,其利用一组多个正常信号所构成的单类别训练数据,进行异常检测模型训练。其包括:一编码器,用以将其输入的信号编码为向量输出;一生成器,连接至上述编码器,其用以将其输入的向量生成一与上述正常信号相同维度的重建信号;一判别器,连接至上述生成器,其用以判断其输入的信号为真实或虚假而输出一判别值;以及一随机向量产生器,用以产生多个随机隐向量。其中,上述异常检测模型训练包括一第一训练阶段和一第二训练阶段,依序将上述随机隐向量输入至上述生成器生成与上述正常信号相同维度的多个合成信号,上述合成信号依序输入至上述判别器,产生对应的多个判别值,并且上述判别值小于一既定临界值时,将对应的上述合成信号选择为训练用合成异常信号。
[0069]
根据本公开的一实施例,编码器、生成器、判别器,分别由类神经网络所构成。根据本公开的一实施例,判别值越大代表其输入信号判别为真实,越小代表其输入信号判别为虚假。根据本公开的一实施例,异常检测模型训练利用训练用合成异常信号作为异常信号,并且利用正常信号作为无异常信号,以进行异常检测模型训练。根据本公开的一实施例,在第一训练阶段中,将编码器和生成器的内部参数固定后,进行判别器的训练,并且依序将单类别训练数据的正常信号输入至编码器,产生对应的多个第一隐向量,再将对应的第一隐向量输入至生成器,用以产生对应的多个第一重建信号。根据本公开的一实施例,在第一训练阶段中,依序将对应的第一重建信号输入至判别器,以其对应的判别值越小为目标,对于判别器内部参数进行调整,并且依序将单类别训练数据的正常信号输入至判别器,以其对应的判别值越大为目标,对于判别器内部参数进行调整。
[0070]
根据本公开的一实施例,在第二训练阶段中,将判别器的内部参数固定后,进行编码器和生成器的训练,并且依序将第一重建信号输入至编码器,产生多个第二隐向量,再将训练用合成异常信号输入至编码器,产生多个第三隐向量,再将第三隐向量输入至上述生成器,产生多个第二重建信号。根据本公开的一实施例,依序计算正常信号与第一重建信号之间的第一误差值,以及计算第一隐向量与第二隐向量间的第二误差值,以及计算训练用合成异常信号与第二重建信号之间的第三误差值。根据本公开的一实施例,在第二训练阶段中,依序将对应的第一重建信号输入至判别器,以其对应的判别值越大为目标进行编码器和生成器内部的参数调整,并且依序将训练用合成异常信号输入至判别器,以其对应的判别值越小为目标进行编码器和生成器内部的参数调整,并且以第一误差值和第二误差值越小为目标进行编码器和生成器内部的参数调整,并且以第三误差值越大为目标进行编码器和生成器内部的参数调整。
[0071]
根据本公开的一实施例,正常信号可以是一布料纹理表面的影像数据、或者是一面板表面的影像数据、或者是自动光学检测系统中利用光学仪器所取得的待测物的表面状态影像。
[0072]
本公开的一实施例提供了一种异常检测方法,其适用于一包含处理器和内存的系统,上述内存包含可以执行于上述处理器的多个指令,并且使得上述处理器组态为一可以实现异常检测方法的生成对抗网络,其上述生成对抗网络的训练方法包括下列步骤:提供一组多个正常信号所构成的单类别训练数据;在第一训练阶段中,固定上述生成对抗网络
中的编码器和生成器的内部参数后,进行上述生成对抗网络中的判别器的训练,并且依序将上述单类别训练数据的上述正常信号输入至上述编码器,产生对应的多个第一隐向量,再将对应的上述第一隐向量输入至上述生成器,用以产生对应的多个第一重建信号;在上述第一训练阶段中,依序将对应的上述第一重建信号输入至上述判别器,以其对应的判别值越小为目标,对于上述判别器内部参数进行调整,并且依序将上述单类别训练数据的上述正常信号输入至上述判别器,以其对应的判别值越大为目标,对于上述判别器内部参数进行调整;以及产生多个随机隐向量输入至上述生成器生成与上述正常信号相同维度的多个合成信号,上述合成信号依序输入至上述判别器,产生对应的多个判别值,并且上述判别值小于一既定临界值时,将对应的上述合成信号选择为训练用合成异常信号。
[0073]
根据本公开的一实施例,异常检测方法还包括于第二训练阶段中,固定判别器的内部参数后,进行编码器和生成器的训练,并且依序将第一重建信号输入至编码器,产生多个第二隐向量,再将训练用合成异常信号输入至编码器,产生多个第三隐向量,再将第三隐向量输入至生成器,产生多个第二重建信号,其中,依序计算正常信号与第一重建信号间的第一误差值,以及计算第一隐向量与第二隐向量间的第二误差值,以及计算训练用合成异常信号与第二重建信号间的第三误差值。
[0074]
根据本公开的一实施例,异常检测方法还包括在第二训练阶段中,依序将对应的第一重建信号输入至判别器,以其对应的判别值越大为目标进行编码器和生成器内部的参数调整,并且依序将训练用合成异常信号输入至判别器,以其对应的判别值越小为目标进行编码器和生成器内部的参数调整,并且以第一误差值和第二误差值越小为目标进行编码器和生成器内部的参数调整,并且以第三误差值越大为目标进行编码器和生成器内部的参数调整。
[0075]
根据本公开的一实施例,异常检测方法还包括当未满足既定训练收敛条件时,以编码器、生成器和判别器的目前内部参数,跳回至第一训练阶段;以及当满足既定训练收敛条件时,以编码器、生成器和判别器的目前内部参数设定生成对抗网络。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1