WO2022055100A1 - 이상 탐지 방법 및 이를 위한 장치 - Google Patents
이상 탐지 방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- WO2022055100A1 WO2022055100A1 PCT/KR2021/008517 KR2021008517W WO2022055100A1 WO 2022055100 A1 WO2022055100 A1 WO 2022055100A1 KR 2021008517 W KR2021008517 W KR 2021008517W WO 2022055100 A1 WO2022055100 A1 WO 2022055100A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- anomaly detection
- model
- output
- autoencoder
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the technical idea of the present disclosure (disclosure) relates to an anomaly detection method and an apparatus thereof, and more particularly, to an autoencoder-based anomaly detection method and an apparatus thereof.
- Machine Learning is a field of AI that develops algorithms and technologies that allow computers to learn based on data. It shows excellent performance in prediction and anomaly detection.
- Anomaly detection refers to finding objects or data that show a pattern different from expected in data.
- Conventional machine learning-based anomaly detection models calculate the difference between actual data and predicted data, and when the difference is greater than a threshold, anomaly judge that there is
- An object of the anomaly detection method and apparatus for detecting anomaly is to provide an anomaly detection method and apparatus capable of increasing stability of anomaly detection by generating a robust learning model.
- an anomaly detection method includes: performing reconstruction learning on at least one data through an autoencoder including an encoder network and a decoder network; inputting first input data to the autoencoder to obtain first output data, wherein the first output data is a latent vector outputted through the encoder network and restored data outputted through the decoder network Included - ; inputting the first input data and the first output data as second input data of a preset anomaly detection learning model; calculating an anomaly score based on second output data output by the anomaly detection learning model; and determining whether the first input data is abnormal by thresholding the calculated abnormality score.
- reconstruction learning may be additionally performed on data to which noise is added through a noise mixer.
- any one of a learning model including a convolutional neural network (CNN) model, a Gaussian mixture model, a clustering model, and a generative adversarial neural network (GAN) model is detected as the anomaly It can be set as a learning model.
- CNN convolutional neural network
- GAN generative adversarial neural network
- an abnormality detection apparatus includes a memory for storing a program for abnormality detection; and by executing the program, restoration learning is performed on at least one data through an autoencoder including an encoder network and a decoder network, and inputting first input data into the autoencoder to obtain first output data, inputting the first input data and the first output data as second input data of a preset anomaly detection learning model, calculating an anomaly score based on second output data output by the anomaly detection learning model; a processor for controlling to determine whether the first input data is abnormal by thresholding the calculated anomaly score, wherein the first output data includes a latent vector output through the encoder network and the decoder network It may include the restored data output through the.
- the processor may control the autoencoder to additionally perform reconstruction learning on data to which noise is added through a noise mixer.
- the processor is configured to: according to a user input, any one of a learning model including a convolutional neural network (CNN) model, a Gaussian mixture model, a clustering model, and a generative adversarial neural network (GAN) model can be controlled to be set as the anomaly detection learning model.
- CNN convolutional neural network
- GAN generative adversarial neural network
- restoration restored to be as close to the original as possible including restoration data restored to remove defects from original data and defects Since restoration data that meets needs among data can be utilized, the possibility of using this anomaly detection method can be broadened.
- 1 is a diagram for explaining the concept and structure of an autoencoder.
- FIG. 2 is a flowchart illustrating an autoencoder-based anomaly detection method according to an embodiment according to the technical spirit of the present disclosure.
- FIG. 3 is a diagram schematically illustrating a structure of an autoencoder according to an embodiment according to the technical spirit of the present disclosure.
- FIG. 4 is a diagram comparing input and output images of an autoencoder according to an embodiment according to the technical idea of the present disclosure.
- FIG. 5 is a diagram illustrating the structure of an autoencoder-based anomaly detection learning model according to an embodiment according to the technical spirit of the present disclosure.
- 6A to 6C are diagrams for explaining a method of classifying a normal image and an abnormal image according to an autoencoder-based anomaly detection learning model according to an embodiment according to the technical spirit of the present disclosure.
- FIG. 7 is a block diagram schematically illustrating a configuration of an apparatus for detecting anomaly based on an autoencoder according to an embodiment according to the technical spirit of the present disclosure.
- a component when referred to as “connected” or “connected” with another component, the one component may be directly connected or directly connected to the other component, but in particular It should be understood that, unless there is a description to the contrary, it may be connected or connected through another element in the middle.
- ⁇ unit means a unit that processes at least one function or operation, which is a processor, a micro Processor (Micro Processor), Micro Controller (Micro Controller), CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerate Processor Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array) may be implemented as hardware or software, or a combination of hardware and software.
- a micro Processor Micro Processor
- Micro Controller Micro Controller
- CPU Central Processing Unit
- GPU Graphics Processing Unit
- APU Accelerate Processor Unit
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- each constituent unit in the present disclosure is merely a division for each main function that each constituent unit is responsible for. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function.
- each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to the main function it is responsible for. Of course, it can also be performed by being dedicated to it.
- 1 is a diagram for explaining the concept and structure of an autoencoder.
- a neural network may generally be composed of a set of interconnected computational units that may be referred to as nodes, and these nodes may be referred to as neurons.
- a neural network is generally configured to include a plurality of nodes. Nodes constituting the neural network may be interconnected by one or more links.
- Some of the nodes constituting the neural network may configure one layer based on distances from the initial input node. For example, a set of nodes having a distance of n from the initial input node may constitute n layers.
- the neural network described herein may include a deep neural network (DNN) including a plurality of hidden layers in addition to an input layer and an output layer.
- Deep neural networks may include convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders, generative adversarial networks (GANs), etc. can
- the autoencoder 100 may include one input layer 110 , an output layer 130 , and at least one hidden layer 120 .
- the number of nodes constituting the input layer 110 of the autoencoder 100 and the number of nodes constituting the output layer 130 of the autoencoder 100 may be the same.
- the autoencoder 100 may be a network function that can be used in an unsupervised learning model while meeting the definition of a neural network described above. That is, the autoencoder does not learn with input data and labels, but compresses and restores the characteristics of the data itself using only the input data.
- the neural network structure of the autoencoder 100 may be defined by the number of nodes, a connection relationship of links interconnecting the nodes, and a weight assigned to each link.
- the number of nodes constituting the hidden layer 120 may be less than the number of nodes constituting the input layer 110 or the output layer 130 .
- the set of the input layer 110 and the hidden layer 120 which are subsets of the layers constituting the autoencoder 100, may be defined as the encoder network 100A as one neural network.
- the set of the hidden layer 120 and the output layer 130 may be defined as the decoder network 100B as another neural network.
- the output layer of the encoder network 100A may be the input layer of the decoder network 100B.
- the autoencoder 100 outputs a result of compressing data input to the input layer 110 of the encoder network 100A through the hidden layer 120 as a latent vector, and re-decoder the output latent variable.
- a function of restoring through the output layer 130 through the hidden layer 120 of the network 100B may be performed.
- FIG. 2 is a flowchart illustrating an autoencoder-based anomaly detection method according to an embodiment according to the technical spirit of the present disclosure.
- An autoencoder-based anomaly detection method is performed on a personal computer, a work station, a server computer device, etc. with computing capability, or a separate device for the same can be performed in
- the autoencoder-based anomaly detection method according to an embodiment according to the technical spirit of the present disclosure may be performed by one or more computing devices.
- at least one or more steps of the anomaly detection method according to an embodiment of the present disclosure may be performed in a client device, and other steps may be performed in a server device.
- the client device and the server device may be connected to each other through a network to transmit/receive an operation result.
- the anomaly detection method according to an embodiment of the present disclosure may be performed by distributed computing technology.
- such an apparatus for detecting an abnormality may detect whether there is an abnormality in at least one data using a normal data set including normal data and reference data generated through the normal data.
- restoration learning is performed on at least one data through the autoencoder (S210).
- reconstruction learning may be additionally performed on data to which noise is added through a noise mixer.
- the autoencoder can be trained as a robust model, and overfitting can be prevented.
- the noise may include Gaussian noise, salt and pepper noise, and the like.
- the autoencoder is implemented as a denoising autoencoder
- noise can be added to the data and used as an input for the model.
- a dropout layer is added. can also be used
- the autoencoder may further include a fully connected layer at the rear end of the encoder network and the front end of the decoder network, respectively.
- a fully connected layer refers to a layer in which all neurons in one layer and all neurons in an adjacent layer are connected.
- the fully connected layer may be referred to as a dense layer.
- the encoder network and the decoder network may be configured to include only a convolutional layer.
- restoration learning is a process of extracting features for various input data
- the encoder network of the autoencoder must extract features by reducing the dimension of input data through a convolutional layer and a fully connected layer. That is, the autoencoder is to learn to extract significant features to the extent that it can be restored as closely as possible to the original data with only a small amount of low-dimensional information.
- the first output data may include a latent vector output through the encoder network and reconstructed data for input data output through the decoder network.
- the input data input to the autoencoder and the first output data may be input as input data of a preset anomaly detection learning model ( S230 ).
- the preset anomaly detection learning model is a general classification model such as a convolutional neural network (CNN), a probability distribution approximation model such as a Gaussian mixture model and a clustering model, and generation It can be implemented with any one of the adversarial adversarial neural network (GAN) models.
- CNN convolutional neural network
- GAN adversarial adversarial neural network
- the anomaly detection learning model may be set according to a selection command by a user input.
- the latent variable may include at least one of a latent variable generated from the encoder network and a latent variable generated through a fully connected layer at the rear end of the encoder network.
- an anomaly score may be calculated ( S240 ).
- the anomaly score may be scored based on the distribution of the latent variable, or may be scored based on the difference between the original data and the data reconstructed through the autoencoder.
- the user can find an optimal threshold for the threshold value for discriminating between normality and abnormality of input data through the calculated anomaly score and detect abnormal data based on this. For example, the average and standard deviation of restoration errors for normal data may be obtained, and a threshold may be set using the values.
- FIG. 3 is a diagram schematically illustrating a structure of an autoencoder according to an embodiment according to the technical spirit of the present disclosure.
- the autoencoder 300 includes an encoder network 320 and a decoder network 340 .
- the autoencoder 300 may input the training data 310 as an input variable to the encoder network 320 .
- the autoencoder 300 may further include a noise mixer 30 at the input end, and the learning data 310 to which noise is added by the noise mixer 30 may be input to the encoder network 320 .
- the latent variable 330 corresponding to the feature of the original data is extracted through the encoder network 320, and the latent variable 330 extracted by the encoder network 320 through the decoder network 340 based on the extracted latent variable 330 is extracted. Based on the variable 330, it is possible to learn to recover the original data.
- the latent variable 330 is a latent variable 330A generated by passing the value passing through the convolutional layer in the encoder network 320 through the fully connected layer 31 or does not pass through the fully connected layer 31 . It may be a latent variable 330B that has passed only the convolutional layer of the encoder network 320 without it.
- Such an autoencoder 300 may be learned through a large amount of images. At this time, data including large-scale images are reinforced and learned through ImageNet so that the autoencoder can extract various features.
- FIG. 4 is a diagram comparing input and output images of an autoencoder according to an embodiment according to the technical idea of the present disclosure.
- the autoencoder has the effect of compressing the input data because the number of nodes in the middle hidden layer is smaller than the number of nodes in the input layer. Accordingly, the autoencoder has a tendency to reconstruct the input image in the direction of removing noise included in the input image. Such a restored image is also referred to as a fake image.
- 4B illustrates a restored image output close to a normal image after being restored in a direction in which noises 41-1 to 41-4 included in the original image are removed.
- anomaly detection can be effectively performed using the restored image output close to the normal image through the autoencoder, the original image, and latent variables extracted from the original image. A specific method will be described with reference to FIG. 5 .
- FIG. 5 is a diagram illustrating the structure of an autoencoder-based anomaly detection learning model according to an embodiment according to the technical spirit of the present disclosure.
- the autoencoder 300 is connected to the subnet 400 , and the final anomaly score 50 may be output from the subnet 400 .
- the subnet 400 is a model for determining whether there is an abnormality according to noise of the original image, and may perform learning for image restoration and characteristic analysis.
- the subnet 400 may be implemented by selecting any one of a general classification model such as a convolutional neural network, a probability distribution approximation model such as a Gaussian mixture model and a clustering model, and a generative adversarial neural network model according to a user's desired purpose.
- a user who wants to focus on image restoration can choose a GAN model
- a user who wants to focus on image inspection can choose a classification model
- a user who wants to focus on image feature analysis can choose a probability distribution approximation model.
- a model according to the selection can be loaded and utilized.
- the shape of the inference result by the subnet may vary depending on the selected subnet.
- the subnet input image 310 and output image 350 input through the autoencoder 300, and the latent variable 330 generated from the autoencoder 300 are input together. can be accepted and judged.
- the latent variable 330 input to the subnet is the latent variable 330A and the fully connected layer 31 generated by passing the convolutional layer in the encoder network 320 through the fully connected layer 31 . ) and may include all latent variables 330B that have passed only the convolutional layer of the encoder network 320 without passing through.
- the user can acquire the restored image 350 in which the original image containing noise is converted to be close to the normal image from which the noise has been removed through the autoencoder 300 , and also to the original image through the subnet 400 . Since it is possible to obtain information that can confirm the restored performance as closely as possible, there is an advantage that it can be utilized at the same time.
- 6A to 6C are diagrams for explaining a method of classifying a normal image and an abnormal image according to an autoencoder-based anomaly detection learning model according to an embodiment according to the technical spirit of the present disclosure.
- Classification is a method of predicting the probability of belonging to each class with respect to a new entity using the learned model after learning a classifier from data labeled which class each entity belongs to.
- a classification-based anomaly detection technique goes through a similar process. When applying this technique, it is assumed that the classifier can be trained in a given feature space. According to the number of labels in the data, it can be divided into multi-class and one-class.
- a latent variable of a normal image and a latent variable of an abnormal image can be classified through a boundary surface 61 through a discrimination function.
- a clustering model that clusters data based on a distribution considers multiple categories to distinguish a sector of data that is not an outlier.
- 6B shows that latent variable data of normal images that are not labeled by the probability distribution approximation model are individually clustered (71, 72) based on similarity.
- Figure 6c also shows that the latent variable data of the normal image is clustered (81, 82) by the Gaussian mixture model.
- a Gaussian mixture model When a Gaussian mixture model is used, statistical inference about clusters may be possible by assuming multiple distributions, unlike a model that assumes one distribution.
- FIG. 7 is a block diagram schematically illustrating a configuration of an apparatus for detecting anomaly based on an autoencoder according to an embodiment according to the technical spirit of the present disclosure.
- the communication unit 710 may receive input data for determining whether there is an abnormality.
- the communication unit 710 may include a wired/wireless communication unit.
- the communication unit 710 is a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile communication network ( It may include one or more components that allow communication through a mobile radio communication network), a satellite communication network, and a combination thereof.
- the communication unit 710 includes a wireless communication unit
- the communication unit 710 wirelessly transmits and receives data or signals using cellular communication or a wireless LAN (eg, Wi-Fi).
- the communication unit may transmit/receive data (eg, input data for determining whether abnormality, etc.) or a signal with an external device or an external server under the control of the processor 810 .
- the input unit 720 may receive various user commands through external manipulation.
- the input unit 720 may include or connect one or more input devices.
- the input unit 720 may be connected to an interface for various inputs, such as a keypad and a mouse, to receive a user command.
- the input unit 720 may include an interface such as a Thunderbolt as well as a USB port.
- the input unit 720 may include or combine various input devices such as a touch screen and a button to receive an external user command.
- the memory 730 may store a program for the operation of the processor 740 and may temporarily or permanently store input/output data.
- the memory 730 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory, etc.), a RAM (RAM).
- SRAM, ROM, EEPROM, PROM, magnetic memory, a magnetic disk, and an optical disk may include at least one type of storage medium.
- the memory 730 may store various network functions and algorithms, and may store various data, programs (one or more instructions), applications, software, commands, codes, etc. for driving and controlling the device 700 . there is.
- the processor 740 may control the overall operation of the device 700 .
- the processor 740 may execute one or more programs stored in the memory 730 .
- the processor 740 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to the technical idea of the present disclosure are performed.
- the processor 740 may control to perform restoration learning on at least one data through an autoencoder in order to detect anomalies.
- the processor 740 may control the autoencoder to additionally perform reconstruction learning on data to which noise is added through a noise mixer.
- the processor 740 inputs the original data to the learned autoencoder, obtains the reconstructed data output therefrom, the latent variable generated through the encoder network, the original data input to the autoencoder, and the reconstructed data
- the processor 740 inputs the original data to the learned autoencoder, obtains the reconstructed data output therefrom, the latent variable generated through the encoder network, the original data input to the autoencoder, and the reconstructed data
- the processor 740 may calculate an anomaly score based on the output data output by the anomaly detection learning model, and may control the calculated anomaly score to threshold to determine whether the original data is abnormal. there is.
- the processor 740 selects, according to a user input, any one of a learning model including a convolutional neural network (CNN) model, a Gaussian mixture model, a clustering model, and a generative adversarial neural network (GAN) model. It can be controlled to set as an anomaly detection learning model.
- CNN convolutional neural network
- GAN generative adversarial neural network
- the restored data restored to be as close to the original as possible including the restored data and the defect restored so that the defect is removed from the original data the restored data that meets the needs is utilized. Therefore, the applicability of the present anomaly detection method may be broadened.
- the anomaly detection method may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium.
- the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- the program instructions recorded on the medium may be specially designed and configured for the present disclosure, or may be known and available to those skilled in the art of computer software.
- Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks.
- - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
- the anomaly detection method according to the disclosed embodiments may be provided as included in a computer program product.
- Computer program products may be traded between sellers and buyers as commodities.
- the computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored.
- computer program products may include products (eg, downloadable apps) in the form of S/W programs distributed electronically through manufacturers of electronic devices or electronic markets (eg, Google Play Store, App Store). there is.
- the S/W program may be stored in a storage medium or may be temporarily generated.
- the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a SW program.
- the computer program product in a system consisting of a server and a client device, may include a storage medium of the server or a storage medium of the client device.
- a third device eg, a smart phone
- the computer program product may include a storage medium of the third device.
- the computer program product may include the S/W program itself transmitted from the server to the client device or a third device, or transmitted from the third device to the client device.
- one of the server, the client device and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
- two or more of a server, a client device, and a third device may execute a computer program product to distribute the method according to the disclosed embodiments.
- a server eg, a cloud server or an artificial intelligence server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
본 개시는 이상 탐지 방법 및 이를 위한 장치에 관한 것으로, 본 개시의 일 실시예에 따른 이상 이상 탐지 방법은 인코더 네트워크 및 디코더 네트워크를 포함하는 오토인코더를 통해 적어도 하나의 데이터에 대한 복원 학습을 수행하는 단계; 제 1 입력 데이터를 상기 오토인코더에 입력하여 제 1 출력 데이터를 획득하는 단계 - 상기 제 1 출력 데이터는 상기 인코더 네트워크를 통해 출력되는 잠재 변수(latent vector) 및 상기 디코더 네트워크를 통해 출력되는 복원 데이터를 포함함 -; 상기 제 1 입력 데이터 및 상기 제 1 출력 데이터를 기 설정된 이상 탐지 학습 모델의 제 2 입력 데이터로 입력하는 단계; 상기 이상 탐지 학습 모델에 의하여 출력된 제 2 출력 데이터에 기초하여 이상 스코어(anomaly score)를 산출하는 단계; 및 상기 산출된 이상 스코어를 임계처리하여 상기 제 1 입력 데이터의 이상 여부를 판별하는 단계;를 포함할 수 있다.
Description
본 개시(disclosure)의 기술적 사상은 이상 탐지 방법 및 그 장치에 대한 것으로, 더욱 상세하게는 오토인코더 기반의 이상 탐지 방법 및 그 장치에 관한 것이다.
머신러닝(Machine Learning)은 AI의 한 분야로 데이터를 바탕으로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야이며, 이미지 처리, 영상 인식, 음성 인식, 인터넷 검색 등의 다양한 분야의 핵심 기술로 예측(prediction) 및 이상 탐지(anomaly detection)에 탁월한 성과를 나타낸다.
이상 탐지란 데이터에서 예상과는 다른 패턴을 보이는 개체 또는 데이터를 찾는 것을 말하는 것으로, 종래의 머신러닝 기반의 이상 탐지 모델은 실제 데이터와 예측 데이터의 차이를 계산하고, 차이가 임계값 이상인 경우 이상이 있는 것으로 판단한다.
종래 머신러닝에 기반한 이상 탐지 방법들이 개시되어 왔으나, 기존 지도학습 기반의 이상 탐지 모델의 경우 데이터 수집 시, 데이터에 일일이 레이블링 작업을 하기는 쉽지 않았다.
또한, 데이터의 양이 극히 적은 이상 데이터를 학습함에 있어서 소량의 이상 데이터만으로 분류 성능을 높이기 어려워 정상 데이터 및 이상 데이터를 구분할 만큼 훈련하기 어렵다는 문제가 있었다.
본 개시의 기술적 사상에 따른 이상 탐지 방법 및 이를 위한 장치가 이루고자 하는 기술적 과제는, 강건한 학습 모델을 생성하여 이상 탐지의 안정성을 높일 수 있는 이상 탐지 방법 및 장치를 제공하는 데에 있다.
본 개시의 기술적 사상에 따른 이상 탐지 방법 및 이를 위한 장치가 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 개시의 기술적 사상에 의한 일 양태에 따르면, 이상 탐지 방법은 인코더 네트워크 및 디코더 네트워크를 포함하는 오토인코더를 통해 적어도 하나의 데이터에 대한 복원 학습을 수행하는 단계; 제 1 입력 데이터를 상기 오토인코더에 입력하여 제 1 출력 데이터를 획득하는 단계 - 상기 제 1 출력 데이터는 상기 인코더 네트워크를 통해 출력되는 잠재 변수(latent vector) 및 상기 디코더 네트워크를 통해 출력되는 복원 데이터를 포함함 - ; 상기 제 1 입력 데이터 및 상기 제 1 출력 데이터를 기 설정된 이상 탐지 학습 모델의 제 2 입력 데이터로 입력하는 단계; 상기 이상 탐지 학습 모델에 의하여 출력된 제 2 출력 데이터에 기초하여 이상 스코어(anomaly score)를 산출하는 단계; 및 상기 산출된 이상 스코어를 임계처리하여 상기 제 1 입력 데이터의 이상 여부를 판별하는 단계;를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 복원 학습을 수행하는 단계는 노이즈 믹서를 통해 노이즈가 추가된 데이터에 대하여 추가적으로 복원 학습을 수행할 수 있다.
예시적인 실시예에 따르면, 사용자 입력에 따라, 콘볼루셔널 뉴럴 네트워크(CNN) 모델, 가우시안 혼합 모델, 크러스터링 모델 및 생성적 적대 신경망(GAN) 모델을 포함하는 학습 모델 중 어느 하나를 상기 이상 탐지 학습 모델로 설정할 수 있다.
본 개시의 기술적 사상에 의한 따른 양태에 따르면, 이상 탐지 장치는 이상 탐지를 위한 프로그램을 저장하는 메모리; 및 상기 프로그램을 실행함으로써, 인코더 네트워크 및 디코더 네트워크를 포함하는 오토인코더를 통해 적어도 하나의 데이터에 대해 복원 학습을 수행하고, 제 1 입력 데이터를 상기 오토인코더에 입력하여 제 1 출력 데이터를 획득하며, 상기 제 1 입력 데이터 및 상기 제 1 출력 데이터를 기 설정된 이상 탐지 학습 모델의 제 2 입력 데이터로 입력하고, 상기 이상 탐지 학습 모델에 의하여 출력된 제 2 출력 데이터에 기초하여 이상 스코어를 산출하며, 상기 산출된 이상 스코어를 임계처리하여 상기 제 1 입력 데이터의 이상 여부를 판별하도록 제어하는 프로세서;를 포함하고, 상기 제 1 출력 데이터는 상기 인코더 네트워크를 통해 출력되는 잠재 변수(latent vector) 및 상기 디코더 네트워크를 통해 출력되는 복원 데이터를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 프로세서는, 상기 오토인코더가 노이즈 믹서를 통해 노이즈가 추가된 데이터에 대하여 추가적으로 복원 학습을 수행하도록 제어할 수 있다.
예시적인 실시예에 따르면, 상기 프로세서는, 사용자 입력에 따라, 콘볼루셔널 뉴럴 네트워크(CNN) 모델, 가우시안 혼합 모델, 크러스터링 모델 및 생성적 적대 신경망(GAN) 모델을 포함하는 학습 모델 중 어느 하나를 상기 이상 탐지 학습 모델로 설정하도록 제어할 수 있다.
본 개시의 기술적 사상에 의한 실시예들에 따른 이상 탐지 방법 및 이를 위한 장치에 따르면, 복수의 레이어를 통해 잠재 변수를 추출함으로써, 보다 강건한 학습 모델을 생성하고 안정성을 높일 수 있게 된다.
또한, 본 개시의 기술적 사상에 의한 실시예들에 따른 이상 탐지 방법 및 이를 위한 장치에 따르면, 원본 데이터로부터 디펙트가 제거되도록 복원된 복원 데이터 및 디펙트를 포함하여 원본에 최대한 가깝도록 복원된 복원 데이터 중 니즈에 맞는 복원 데이터를 활용할 수 있으므로, 본 이상 탐지 방법의 활용 가능성이 넓어질 수 있다.
본 개시의 기술적 사상에 따른 이상 탐지 방법 및 이를 위한 장치가 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 오토인코더의 개념 및 구조를 설명하기 위한 도면이다.
도 2 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 방법을 설명하기 위한 흐름도이다.
도 3은 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더의 구조를 개략적으로 도시한 도면이다.
도 4는 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더의 입출력 이미지를 비교한 도면이다.
도 5는 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 학습 모델의 구조를 도시한 도면이다.
도 6a 내지 6c은 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 학습 모델에 따라 정상 이미지 및 이상 이미지를 구분하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지를 위한 장치의 구성을 간략히 도시한 블록도이다.
본 개시의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다. 그러나, 이는 본 개시의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 개시의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 개시의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 개시에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 개시에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 개시의 실시예들을 차례로 상세히 설명한다.
도 1은 오토인코더의 개념 및 구조를 설명하기 위한 도면이다.
뉴럴 네트워크(신경망)는 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있고, 이러한 노드들은 뉴런으로 지칭될 수 있다. 뉴럴 네트워크는 일반적으로 복수의 노드들을 포함하여 구성된다. 뉴럴 네트워크를 구성하는 노드들은 하나 이상의 링크에 의해 상호 연결될 수 있다.
뉴럴 네트워크를 구성하는 노드들 중 일부는 최초 입력 노드로부터의 거리들에 기초하여 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은 n 레이어를 구성할 수 있다.
본 명세서에서 설명하는 뉴럴 네트워크는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 딥 뉴럴 네트워크(Deep Neural Network, DNN)를 포함할 수 있다. 딥 뉴럴 네트워크는 컨볼루셔널 뉴럴 네트워크(Convolutional Neural Network, CNN), 리커런트 뉴럴 네트워크(Recurrent Neural Network, RNN), 오토인코더(autoencoder), 생성적 적대 신경망(Generative Adversarial Networks, GAN) 등을 포함할 수 있다.
도 1에 도시된 바와 같이 오토인코더(100)는 하나의 입력 레이어(110), 출력 레이어(130) 및 적어도 하나의 히든 레이어(120)를 포함하여 구성될 수 있다. 오토인코더(100)의 입력 레이어(110)를 구성하는 노드들의 개수 및 출력 레이어(130)를 구성하는 노드들의 개수는 동일할 수 있다. 오토인코더(100)는 전술한 뉴럴 네트워크의 정의에 부합하면서, 비지도학습(unsupervised learning) 모델에 사용가능한 네트워크 함수일 수 있다. 즉, 오토인코더는 입력 데이터와 레이블을 가지고 학습하는 것이 아니라 입력 데이터만을 이용하여 데이터 자체의 특징을 압축하고 다시 복원한다.
오토인코더(100)의 뉴럴 네트워크 구조는 노드들의 개수, 노드들을 상호 연결하는 링크들의 연결관계 및 각 링크들에 부여된 가중치로 정의될 수 있다.
또한, 오토인코더(100)는 히든 레이어(120)를 구성하는 노드들의 개수는 입력 레이어(110) 또는 출력 레이어(130)를 구성하는 노드들의 개수보다 적을 수 있다.
오토인코더(100)를 구성하는 레이어들의 부분집합인 입력 레이어(110) 및 히든 레이어(120)의 집합은 하나의 신경망 네트워크로서 인코더 네트워크(100A)로 정의될 수 있다. 또한, 히든 레이어(120) 및 출력 레이어(130)의 집합은 다른 하나의 신경망 네트워크로서 디코더 네트워크(100B)로 정의될 수 있다. 인코더 네트워크(100A)의 출력 레이어는 디코더 네트워크(100B)의 입력 레이어가 될 수 있다.
오토인코더(100)는 인코더 네트워크(100A)의 입력 레이어(110)에 입력되는 데이터를 히든 레이어(120)를 통해 압축한 결과를 잠재 변수(latent vector)로 출력하고, 출력된 잠재 변수를 다시 디코더 네트워크(100B)의 히든 레이어(120)를 거쳐 출력 레이어(130)를 통해 복원하는 기능을 수행할 수 있다.
도 2 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 방법을 설명하기 위한 흐름도이다.
본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 방법은 연산 능력을 구비한 개인용 컴퓨터(Personal Computer), 워크스테이션(work station), 서버용 컴퓨터 장치 등에서 수행되거나 이를 위한 별도의 장치에서 수행될 수 있다.
또한, 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 방법은 하나 이상의 연산 장치들에서 수행될 수도 있다. 예를 들어, 본 개시의 일 실시예에 따른 이상 탐지 방법 중 적어도 하나 이상의 단계들은 클라이언트 디바이스에서, 다른 단계들은 서버 디바이스에서 수행될 수 있다. 이러한 경우, 클라이언트 디바이스와 서버 디바이스는 네트워크로 연결되어 연산 결과를 송수신할 수 있다. 또는, 본 개시의 일 실시예에 따른 이상 탐지 방법은 분산 컴퓨팅 기술에 의해 수행될 수도 있다.
또한, 이와 같은 이상 탐지를 위한 장치는 정상적인 데이터와 정상적인 데이터를 통해 생성된 기준 데이터를 포함하는 정상 데이터 셋을 이용하여 적어도 하나의 데이터의 이상 여부를 탐지할 수 있다.
먼저, 오토인코더를 통해 적어도 하나의 데이터에 대한 복원 학습을 수행한다(S210). 이때, 노이즈 믹서(noise mixer)를 통해 노이즈가 추가된 데이터에 대하여 추가적으로 복원 학습을 수행할 수 있다. 이를 통해 오토인코더를 강건한 모델로 학습시킬 수 있으며, 과적합(overfitting)을 방지할 수 있는 효과가 있다.
여기서, 노이즈는 가우시안 노이즈(gaussian noise), 솔트 앤 페퍼 노이즈(salt and pepper noise)등을 포함할 수 있다.
또한, 오토인코더가 노이즈제거 오토인코더(denoising autoencoder)로 구현되어 이를 통해 데이터에 노이즈를 추가하여 모델의 입력으로 사용할 수도 있는데 일반적으로 가우시안 노이즈를 직접 추가하는 것 외에 드롭아웃(dropout) 레이어를 추가하여 사용할 수도 있다.
또한, 오토인코더는 인코더 네트워크의 후단 및 디코더 네트워크의 전단에 각각 풀리 커넥티드 레이어(fully connected layer)를 더 포함할 수 있다. 풀리 커넥티드 레이어는 하나의 레이어에 있는 모든 뉴런과 이웃한 레이어에 있는 모든 뉴런이 연결되는 레이어를 의미한다. 풀리 커넥티드 레이어는 덴스 레이어(dense layer)로 지칭될 수도 있다. 다만, 이는 예시적인 것으로서 이에 한정되는 것은 아니며, 실시예에 따라, 인코더 네트워크와 디코더 네트워크는 콘볼루션 레이어만을 포함하도록 구성될 수 있다.
여기서, 복원 학습은 다양한 입력 데이터에 대한 특징(feature)을 추출하는 과정으로 오토인코더의 인코더 네트워크는 콘볼루션 레이어 및 풀리 커넥티드 레이어 등을 통해 입력 데이터의 차원을 축소시켜 특징을 추출하여야 한다. 즉, 오토인코더가 저차원의 적은 정보량만으로도 원본 데이터와 최대한 가깝게 복원이 가능할 정도로 유의미한 특징을 추출하도록 학습하기 위한 것이다.
이후, 입력 데이터를 오토인코더에 입력하여 제 1 출력 데이터를 획득한다(S220). 여기서, 제 1 출력 데이터는 인코더 네트워크를 통해 출력되는 잠재 변수(latent vector) 및 디코더 네트워크를 통해 출력되는 입력 데이터에 대한 복원 데이터를 포함할 수 있다.
이후, 오토인코더에 입력된 입력 데이터 및 제 1 출력 데이터를 기 설정된 이상 탐지 학습 모델의 입력 데이터로 입력할 수 있다(S230).
여기서, 기 설정된 이상 탐지 학습 모델은 콘볼루셔널 뉴럴 네트워크(CNN)과 같은 일반적인 분류 모델(classification model), 가우시안 혼합 모델(Gaussian mixture model) 및 클러스터링 모델(clustering model)과 같은 확률 분포 근사 모델, 생성적 적대 신경망(GAN) 모델 중 어느 하나로 구현될 수 있다.
이때, 이상 탐지 학습 모델은 사용자 입력에 의한 선택 명령에 따라 설정될 수 있다.
한편, 잠재 변수는 인코더 네트워크로부터 생성된 잠재 변수 및 인코더 네트워크 후단의 풀리 커넥티드 레이어를 통과하여 생성된 잠재 변수 중 적어도 하나를 포함할 수 있다.
이후, 이상 탐지 학습 모델에 의하여 출력된 출력 데이터에 기초하여, 이상 스코어(anomaly score)를 산출할 수 있다(S240). 여기서, 이상 스코어는 잠재 변수의 분포에 기초하여 스코어링될 수 있으며, 오토인코더를 통해 복원된 데이터와 원본 데이터의 차이에 기초하여 스코어링될 수도 있다.
이후, 산출된 이상 스코어를 임계처리하여 오토인코더에 입력되었던 입력 데이터의 이상 여부를 판별할 수 있다(S250). 여기서, 산출된 이상 스코어를 통해 입력 데이터의 정상 및 이상을 구분하는 임계값은 사용자가 최적의 임계치(threshold)를 찾아 이를 기준으로 이상 데이터를 탐지할 수 있다. 예를 들어, 정상 데이터에 대한 복원 오차의 평균과 표준 편차를 구하고, 그 값을 이용하여 임계치를 설정할 수도 있다.
도 3은 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더의 구조를 개략적으로 도시한 도면이다.
설명의 편의를 위하여, 이하에서는 본 개시의 다양한 실시예 중 이미지를 입력데이터로 하여 복원을 학습하는 오토인코더의 실시예에 대하여 설명하도록 한다.
도 3을 참조하면, 오토인코더(300)는 인코더 네트워크(320) 및 디코더 네트워크(340)를 포함한다. 오토인코더(300)는 학습용 데이터(310)를 입력 변수로 하여 인코더 네트워크(320)에 입력할 수 있다.
이때, 오토인코더(300)는 입력단에 노이즈 믹서(30)를 더 포함할 수 있으며, 노이즈 믹서(30)에 의해 노이즈가 추가된 학습용 데이터(310)가 인코더 네트워크(320)에 입력될 수 있다.
인코더 네트워크(320)를 통해 원본 데이터의 특징에 대응하는 잠재 변수(330)를 추출하고, 추출된 잠재 변수(330)를 기준으로 디코더 네트워크(340)를 통해 인코더 네트워크(320)에 의해 추출된 잠재 변수(330)를 기준으로 원본 데이터를 복구되도록 학습시킬 수 있다.
또한, 도 3에 도시된 바와 같이 인코더 네트워크(320)의 후단 및 디코더 네트워크(340)의 전단에 각각 풀리 커넥티드 레이어(31, 32)를 더 포함할 수 있다. 이때, 잠재 변수(330)는 인코더 네트워크(320) 내의 콘볼루션 레이어를 통과한 값이 풀리 커넥티드 레이어(31)를 통과하여 생성되는 잠재 변수(330A)거나 풀리 커넥티드 레이어(31)를 통과하지 않고 인코더 네트워크(320)의 콘볼루션 레이어만을 통과한 잠재 변수(330B)일 수 있다.
이와 같은 오토인코더(300)는 대량의 이미지를 통해 학습될 수 있다. 이때, 오토인코더가 다양한 특징을 추출해낼 수 있도록 이미지넷(ImageNet) 등을 통해 대규모 이미지를 포함한 데이터를 보강하고 학습하도록 한다.
도 4는 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더의 입출력 이미지를 비교한 도면이다.
도 4의 (a)는 원본 이미지에 다수의 노이즈(41-1 ~ 41-4)가 포함되어 있는 것을 나타낸 것이다. 오토인코더는 일반적으로 중간의 히든 레이어의 노드 수가 입력 레이어의 노드 수보다 적으므로 입력되는 데이터를 압축하는 효과를 가지게 된다. 따라서, 오토인코더는 입력 이미지에 포함된 노이즈를 제거하는 방향으로 입력 이미지를 복원하는 경향을 가진다. 이와 같이 복원된 이미지를 페이크 이미지(fake image)라고 지칭하기도 한다.
도 4의 (b)는 원본 이미지에 포함된 노이즈(41-1 ~ 41-4)가 제거되는 방향으로 복원되어 정상 이미지에 가깝게 출력된 복원 이미지를 나타낸 것이다.
따라서, 오토인코더를 통해 정상 이미지에 가깝게 출력된 복원 이미지와 원본 이미지, 원본 이미지에서 추출된 잠재 변수를 이용하여 이상 탐지를 효과적으로 수행할 수 있게 된다. 구체적인 방법은 도 5와 관련하여 설명하도록 한다.
도 5는 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 학습 모델의 구조를 도시한 도면이다.
도 5에 도시된 실시예에서는 오토인코더를 이용한 이상 탐지 학습 모델을 제안한다.
도 5에 도시된 바와 같이, 오토인코더(300)는 서브넷(400)과 연결되어, 서브넷(400)으로부터 최종 이상 스코어(50)가 출력될 수 있다.
여기서, 서브넷(400)은 원본 이미지의 노이즈에 따른 이상 여부를 판별하기 위한 모델로서, 이미지의 복원 및 특성 분석에 대한 학습을 수행할 수 있다. 서브넷(400)은 사용자가 원하는 목적에 따라 콘볼루셔널 뉴럴 네트워크와 같은 일반적인 분류 모델, 가우시안 혼합 모델 및 클러스터링 모델과 같은 확률 분포 근사 모델, 생성적 적대 신경망 모델 중 어느 하나로 선택되어 구현될 수 있다.
예를 들어, 이미지 복원에 초점을 맞추고자 하는 사용자는 GAN 모델을, 이미지 검수에 초점을 맞추고자 하는 사용자는 분류 모델을, 이미지 특징 분석에 초점을 맞추고 싶은 사용자는 확률 분포 근사 모델을 선택할 수 있고, 선택에 따른 모델이 탑재되어 활용될 수 있다.
서브넷에 의한 추론 결과의 형태는 선택한 서브넷에 따라 달라질 수 있다.
한편, 입력 이미지가 이상이 있는지 여부는 서브넷이 오토인코더(300)를 통해 입력된 입력 이미지(310) 및 출력 이미지(350), 그리고 오토인코더(300)로부터 생성된 잠재 변수(330)를 함께 입력받아 판단할 수 있다.
이때, 서브넷에 입력되는 잠재 변수(330)는 인코더 네트워크(320) 내의 콘볼루션 레이어를 통과한 값이 풀리 커넥티드 레이어(31)를 통과하여 생성된 잠재 변수(330A) 및 풀리 커넥티드 레이어(31)를 통과하지 않고 인코더 네트워크(320)의 콘볼루션 레이어만을 통과한 잠재 변수(330B)를 모두 포함할 수 있다.
즉, 이와 같이 복수 개의 레이어를 통해 유의미한 잠재 변수를 멀티스케일로 최대한 많이 추출하고 이를 활용하게 되므로, 잠재 변수의 효용성이 매우 높아질 수 있다.
한편, 사용자는 오토인코더(300)를 통해, 노이즈가 포함된 원본 이미지가 노이즈가 제거된 정상 이미지에 가깝게 변환된 복원 이미지(350)를 획득할 수 있고, 또한 서브넷(400)을 통해 원본 이미지에 최대한 가깝게 복원되는 성능을 확인할 수 있는 정보를 얻을 수 있으므로 이를 동시에 활용할 수 있는 장점이 있다.
도 6a 내지 6c은 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지 학습 모델에 따라 정상 이미지 및 이상 이미지를 구분하는 방법을 설명하기 위한 도면이다.
분류(classification)는 각 개체에 어느 클래스에 속하는지에 대한 라벨이 붙어 있는 자료로 분류기를 학습한 뒤, 학습된 모형으로 새로운 개체에 대해 각 클래스에 속할 확률을 예측하는 방법이다. 분류 기반의 이상 탐지 기법도 이와 비슷한 과정을 거친다. 이 기법을 적용할 때는 분류기를 주어진 특성 공간(feature space)에서 학습시킬 수 있다고 가정한다. 데이터의 라벨 개수에 따라 다집단(multi-class)과 일집단(one-class)으로 나눌 수 있다.
전통적인 분류 모델(classification model)이 서브넷으로 활용되는 경우, 도 6a에 도시된 바와 같이, 판별함수를 통해 정상 이미지의 잠재 변수와 이상 이미지의 잠재 변수를 경계면(61)을 통해 분류할 수 있다.
그러나, 전통적인 분류 모델이 두 범주를 구분할 수 있는 경계면을 찾는 것이라고 하면, 분포 기반으로 데이터를 클러스터링하는 클러스터링(clustering) 모델은 다수 범주를 고려하여 이상치가 아닌 데이터들의 섹터(sector)를 구분짓는 것이라고 할 수 있다.
도 6b는 확률 분포 근사 모델에 의해 레이블화되지 않은 정상 이미지의 잠재 변수 데이터가 유사도를 기반으로 개별적으로 군집화(71, 72)된 것을 나타낸다.
도 6c 또한 가우시안 혼합 모델에 의하여 정상 이미지의 잠재 변수 데이터가 군집화(81, 82)된 것을 나타낸 것이다. 가우시안 혼합 모델을 사용하면 하나의 분포를 가정한 모델과 달리 여러 분포를 가정함으로써 클러스터에 대한 통계적 추론이 가능할 수 있다.
도 7은 본 개시의 기술적 사상에 의한 일 실시예에 따른 오토인코더 기반의 이상 탐지를 위한 장치의 구성을 간략히 도시한 블록도이다.
통신부(710)는 이상 여부를 판별하기 위한 입력 데이터를 수신할 수 있다. 통신부(710)는 유무선 통신부를 포함할 수 있다. 통신부(710)가 유선 통신부를 포함하는 경우, 통신부(710)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 또한, 통신부(710)가 무선 통신부를 포함하는 경우, 통신부(710)는 셀룰러 통신, 무선랜(예를 들어, 와이-파이(Wi-Fi)) 등을 이용하여 무선으로 데이터 또는 신호를 송수신할 수 있다. 일 실시예에서, 통신부는 프로세서(810)의 제어에 의해 외부 장치 또는 외부 서버와 데이터(예를 들어, 이상 여부 판별을 위한 입력 데이터 등) 또는 신호를 송수신할 수 있다.
입력부(720)는 외부의 조작을 통해 다양한 사용자 명령을 수신할 수 있다. 이를 위해, 입력부(720)는 하나 이상의 입력 장치를 포함하거나 연결할 수 있다. 예를 들어, 입력부(720)는 키패드, 마우스 등 다양한 입력을 위한 인터페이스와 연결되어 사용자 명령을 수신할 수 있다. 이를 위해, 입력부(720)는 USB 포트 뿐만 아니라 선더볼트 등의 인터페이스를 포함할 수도 있다. 또한, 입력부(720)는 터치스크린, 버튼 등의 다양한 입력 장치를 포함하거나 이들과 결합하여 외부의 사용자 명령을 수신할 수 있다.
메모리(730)는 프로세서(740)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수 있다. 메모리(730)는 플래시 메모리(flash memory) 타입, 하드디스크(hard disk) 타입, 멀티미디어 카드 마이크로(multimedia card micro) 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM), SRAM, 롬(ROM), EEPROM, PROM, 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
또한, 메모리(730)는 다양한 네트워크 함수 및 알고리즘을 저장할 수 있으며, 장치(700)를 구동하고 제어하기 위한 다양한 데이터, 프로그램(하나 이상이 인스트럭션들), 어플리케이션, 소프트웨어, 명령, 코드 등을 저장할 수 있다.
프로세서(740)는 장치(700)의 전반적인 동작을 제어할 수 있다. 프로세서(740)는 메모리(730)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다. 프로세서(740)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU) 또는 본 개시의 기술적 사상에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.
일 실시예에서, 프로세서(740)는 이상 탐지를 위하여, 오토인코더를 통해 적어도 하나의 데이터에 대하여 복원 학습을 수행하도록 제어할 수 있다.
일 실시예에서, 프로세서(740)는 오토인코더가 노이즈 믹서를 통해 노이즈가 추가된 데이터에 대하여 추가적으로 복원 학습을 수행하도록 제어할 수 있다.
일 실시예에서, 프로세서(740)는 원본 데이터를 학습된 오토인코더에 입력하여, 그로부터 출력된 복원 데이터를 획득하고, 인코더 네트워크를 통해 생성된 잠재 변수, 오토인코더에 입력된 원본 데이터 및 복원 데이터를 기 설정된 이상 탐지 학습 모델의 새로운 입력 데이터로 입력하여, 이상 탐지 학습 모델에 의하여 새로운 출력 데이터를 생성하도록 제어할 수 있다.
일 실시예에서, 프로세서(740)는 이상 탐지 학습 모델에 의하여 출력된 출력 데이터에 기초하여 이상 스코어를 산출할 수 있으며, 산출된 이상 스코어를 임계처리하여 원본 데이터의 이상 여부를 판별하도록 제어할 수 있다.
일 실시예에서, 프로세서(740)는 사용자 입력에 따라, 콘볼루셔널 뉴럴 네트워크(CNN) 모델, 가우시안 혼합 모델, 크러스터링 모델 및 생성적 적대 신경망(GAN) 모델을 포함하는 학습 모델 중 어느 하나를 이상 탐지 학습 모델로 설정하도록 제어할 수 있다.
이상과 같은 본 개시의 기술적 사상에 의한 다양한 실시예에 따르면, 복수의 레이어를 통해 잠재 변수를 추출함으로써, 강건한 학습 모델을 생성하고 안정성을 높일 수 있게 된다.
또한, 본 개시의 기술적 사상에 의한 다양한 실시예에 따르면, 원본 데이터로부터 디펙트가 제거되도록 복원된 복원 데이터 및 디펙트를 포함하여 원본에 최대한 가깝도록 복원된 복원 데이터 중 니즈에 맞는 복원 데이터를 활용할 수 있으므로, 본 이상 탐지 방법의 활용 가능성이 넓어질 수 있다.
일 실시예에 따른 이상 탐지 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 이상 탐지 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제 3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제 3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제 3 장치로 전송되거나, 제 3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제 3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제 3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속한다.
Claims (7)
- 이상 탐지(anomaly detection) 방법에 있어서,인코더 네트워크 및 디코더 네트워크를 포함하는 오토인코더를 통해 적어도 하나의 데이터에 대한 복원 학습을 수행하는 단계;제 1 입력 데이터를 상기 오토인코더에 입력하여 제 1 출력 데이터를 획득하는 단계 - 상기 제 1 출력 데이터는 상기 인코더 네트워크를 통해 출력되는 잠재 변수(latent vector) 및 상기 디코더 네트워크를 통해 출력되는 복원 데이터를 포함함 - ;상기 제 1 입력 데이터 및 상기 제 1 출력 데이터를 기 설정된 이상 탐지 학습 모델의 제 2 입력 데이터로 입력하는 단계;상기 이상 탐지 학습 모델에 의하여 출력된 제 2 출력 데이터에 기초하여 이상 스코어(anomaly score)를 산출하는 단계; 및상기 산출된 이상 스코어를 임계처리하여 상기 제 1 입력 데이터의 이상 여부를 판별하는 단계;를 포함하는, 이상 탐지 방법.
- 제 1 항에 있어서,상기 복원 학습을 수행하는 단계는,노이즈 믹서를 통해 노이즈가 추가된 데이터에 대하여 추가적으로 복원 학습을 수행하는, 이상 탐지 방법.
- 제 1 항에 있어서,사용자 입력에 따라, 콘볼루셔널 뉴럴 네트워크(CNN) 모델, 가우시안 혼합 모델, 크러스터링 모델 및 생성적 적대 신경망(GAN) 모델을 포함하는 학습 모델 중 어느 하나를 상기 이상 탐지 학습 모델로 설정하는 단계;를 더 포함하는 것을 특징으로 하는 탐지 방법.
- 이상 탐지 장치에 있어서,이상 탐지를 위한 프로그램을 저장하는 메모리; 및상기 프로그램을 실행함으로써, 인코더 네트워크 및 디코더 네트워크를 포함하는 오토인코더를 통해 적어도 하나의 데이터에 대해 복원 학습을 수행하고, 제 1 입력 데이터를 상기 오토인코더에 입력하여 제 1 출력 데이터를 획득하며, 상기 제 1 입력 데이터 및 상기 제 1 출력 데이터를 기 설정된 이상 탐지 학습 모델의 제 2 입력 데이터로 입력하고, 상기 이상 탐지 학습 모델에 의하여 출력된 제 2 출력 데이터에 기초하여 이상 스코어를 산출하며, 상기 산출된 이상 스코어를 임계처리하여 상기 제 1 입력 데이터의 이상 여부를 판별하도록 제어하는 프로세서;를 포함하고,상기 제 1 출력 데이터는 상기 인코더 네트워크를 통해 출력되는 잠재 변수(latent vector) 및 상기 디코더 네트워크를 통해 출력되는 복원 데이터를 포함하는, 장치.
- 제 4 항에 있어서,상기 프로세서는, 상기 오토인코더가 노이즈 믹서를 통해 노이즈가 추가된 데이터에 대하여 추가적으로 복원 학습을 수행하도록 제어하는, 장치.
- 제 4 항에 있어서,상기 프로세서는, 사용자 입력에 따라, 콘볼루셔널 뉴럴 네트워크(CNN) 모델, 가우시안 혼합 모델, 크러스터링 모델 및 생성적 적대 신경망(GAN) 모델을 포함하는 학습 모델 중 어느 하나를 상기 이상 탐지 학습 모델로 설정하도록 제어하는, 장치.
- 제 1 항 내지 제 3 항 중 어느 한 항의 방법을 실행하기 위하여 기록 매체에 저장된 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200116990A KR102271740B1 (ko) | 2020-09-11 | 2020-09-11 | 이상 탐지 방법 및 이를 위한 장치 |
KR10-2020-0116990 | 2020-09-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022055100A1 true WO2022055100A1 (ko) | 2022-03-17 |
Family
ID=76896772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/008517 WO2022055100A1 (ko) | 2020-09-11 | 2021-07-05 | 이상 탐지 방법 및 이를 위한 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102271740B1 (ko) |
WO (1) | WO2022055100A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102271740B1 (ko) * | 2020-09-11 | 2021-07-02 | 주식회사 뉴로클 | 이상 탐지 방법 및 이를 위한 장치 |
CN113256629B (zh) * | 2021-07-05 | 2022-06-24 | 之江实验室 | 一种图像标定错误检测方法及装置 |
KR102476300B1 (ko) | 2021-08-11 | 2022-12-13 | 기초과학연구원 | 기계 학습을 이용한 이상 탐지를 위한 장치 및 방법 |
WO2023090844A1 (ko) * | 2021-11-17 | 2023-05-25 | 다임리서치 주식회사 | 물류 로봇 이상 감지 방법, 장치 및 시스템 |
CN113821642B (zh) * | 2021-11-18 | 2022-03-01 | 杭州费尔斯通科技有限公司 | 一种基于gan聚类的文本清洗方法及系统 |
KR102595383B1 (ko) * | 2021-11-30 | 2023-10-27 | 인하대학교 산학협력단 | 시그니처 기반 이상 탐지 방법과 행위 기반 이상 탐지 방법을 조합한 하이브리드 이상 탐지 방법 |
KR102611403B1 (ko) * | 2022-02-21 | 2023-12-08 | 다겸 주식회사 | 수리 파트 결정 기능 및 수리 완성도 평가 기능을 포함하는 이상 탐지 장치 |
KR102490502B1 (ko) * | 2022-03-14 | 2023-01-19 | 프로메디우스 주식회사 | 비지도 학습 기반 의료 데이터 분석 장치 및 방법 |
KR102506988B1 (ko) * | 2022-09-30 | 2023-03-07 | (주)엘로이랩 | 이종 손실 함수를 이용하여 학습된 뉴럴 네트워크를 이용한 이상 검출 장치 |
WO2024106720A1 (ko) * | 2022-11-16 | 2024-05-23 | 다임리서치 주식회사 | 동작 이해 기반 물류 로봇 이상 감지 방법, 장치 및 시스템 |
KR102625543B1 (ko) | 2023-08-14 | 2024-01-16 | 주식회사 아이코어 | 인공지능 모델의 앙상블을 통해 객체의 결함을 식별하는전자 장치, 및 그 제어 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016085704A (ja) * | 2014-10-29 | 2016-05-19 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法、及びプログラム |
JP2018049355A (ja) * | 2016-09-20 | 2018-03-29 | 株式会社東芝 | 異常検知装置、学習装置、異常検知方法、学習方法、異常検知プログラム、および学習プログラム |
JP2018147172A (ja) * | 2017-03-03 | 2018-09-20 | 日本電信電話株式会社 | 異常検知装置、異常検知方法及びプログラム |
KR101988028B1 (ko) * | 2018-09-04 | 2019-06-11 | 넷마블 주식회사 | 서버 및 이의 동작 방법 |
KR102271740B1 (ko) * | 2020-09-11 | 2021-07-02 | 주식회사 뉴로클 | 이상 탐지 방법 및 이를 위한 장치 |
-
2020
- 2020-09-11 KR KR1020200116990A patent/KR102271740B1/ko active IP Right Grant
-
2021
- 2021-07-05 WO PCT/KR2021/008517 patent/WO2022055100A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016085704A (ja) * | 2014-10-29 | 2016-05-19 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法、及びプログラム |
JP2018049355A (ja) * | 2016-09-20 | 2018-03-29 | 株式会社東芝 | 異常検知装置、学習装置、異常検知方法、学習方法、異常検知プログラム、および学習プログラム |
JP2018147172A (ja) * | 2017-03-03 | 2018-09-20 | 日本電信電話株式会社 | 異常検知装置、異常検知方法及びプログラム |
KR101988028B1 (ko) * | 2018-09-04 | 2019-06-11 | 넷마블 주식회사 | 서버 및 이의 동작 방법 |
KR102271740B1 (ko) * | 2020-09-11 | 2021-07-02 | 주식회사 뉴로클 | 이상 탐지 방법 및 이를 위한 장치 |
Non-Patent Citations (1)
Title |
---|
OUYANG, XI ET AL.: "Pedestrian-Synthesis-GAN: Generating Pedestrian Data in Real Scene and Beyond", ARXIV:1804.02047V2, 14 April 2018 (2018-04-14), pages 1 - 22, XP055637970, Retrieved from the Internet <URL:https://arxiv.org/pdf/1804.02047.pdf> [retrieved on 20210917] * |
Also Published As
Publication number | Publication date |
---|---|
KR102271740B1 (ko) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022055100A1 (ko) | 이상 탐지 방법 및 이를 위한 장치 | |
CN108171209B (zh) | 一种基于卷积神经网络进行度量学习的人脸年龄估计方法 | |
KR101916347B1 (ko) | 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램 | |
WO2020005049A1 (ko) | 인공 신경망의 학습 방법 | |
WO2019027208A1 (ko) | 인공 신경망의 훈련 방법 | |
WO2022055099A1 (ko) | 이상 탐지 방법 및 이를 위한 장치 | |
US12073656B2 (en) | Activity detection device, activity detection system, and activity detection method | |
WO2021107422A1 (ko) | 에너지 사용량 데이터의 비지도 학습 기반 부하 모니터링 방법 | |
WO2019039757A1 (ko) | 훈련 데이터를 생성하는 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 | |
WO2022203127A1 (ko) | 객체 이상 탐지 및 상태 분류 모델의 지속적인 학습을 위한 방법 및 이를 위한 장치 | |
WO2022075678A2 (ko) | 의사 정상 데이터를 이용한 자가 감독 학습 기반의 차량 이상징후 탐지 장치 및 방법 | |
WO2020023518A1 (en) | A method of real time vehicle recognition with neuromorphic computing network for autonomous driving | |
Luo et al. | Automatic colour printing inspection by image processing | |
CN116451139B (zh) | 一种基于人工智能的直播数据快速分析方法 | |
WO2022002242A1 (zh) | 一种场景识别方法和系统、电子设备、介质 | |
WO2021075742A1 (ko) | 딥러닝 기반의 가치 평가 방법 및 그 장치 | |
Hacker et al. | Insufficiency-driven DNN error detection in the context of SOTIF on traffic sign recognition use case | |
KR20190041961A (ko) | 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램 | |
Thoduka et al. | Using visual anomaly detection for task execution monitoring | |
Zhang et al. | A progressive learning framework based on single-instance annotation for weakly supervised object detection | |
CN115204322B (zh) | 行为链路异常识别方法和装置 | |
WO2022186594A1 (ko) | 의료 영상 기반의 병변 분석 방법 | |
Sravanthi et al. | An efficient classifier using machine learning technique for individual action identification | |
WO2022114600A1 (ko) | 의료 영상 기반의 뇌백질 병변 탐지 방법 | |
WO2022139170A1 (ko) | 의료 영상 기반의 병변 분석 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21866968 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21866968 Country of ref document: EP Kind code of ref document: A1 |