WO2024071728A1 - Anomaly detection device using neural network learned using heterogeneous loss function - Google Patents
Anomaly detection device using neural network learned using heterogeneous loss function Download PDFInfo
- Publication number
- WO2024071728A1 WO2024071728A1 PCT/KR2023/013473 KR2023013473W WO2024071728A1 WO 2024071728 A1 WO2024071728 A1 WO 2024071728A1 KR 2023013473 W KR2023013473 W KR 2023013473W WO 2024071728 A1 WO2024071728 A1 WO 2024071728A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- loss function
- score
- detection device
- anomaly detection
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 title claims abstract description 41
- 230000006870 function Effects 0.000 claims description 118
- 230000002159 abnormal effect Effects 0.000 claims description 34
- 238000012549 training Methods 0.000 claims description 33
- 230000005856 abnormality Effects 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 18
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 description 19
- 238000011109 contamination Methods 0.000 description 17
- 238000009826 distribution Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 125000005842 heteroatom Chemical group 0.000 description 3
- 238000013450 outlier detection Methods 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002071 nanotube Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012887 quadratic function Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 101100009348 Mus musculus Depp1 gene Proteins 0.000 description 1
- 101100009350 Rattus norvegicus Depp gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/277—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- the following embodiments relate to an anomaly detection device using a neural network learned using a heterogeneous loss function.
- Anomaly detection means identifying outliers or abnormalities in data.
- Anomaly detection assumes that a model (e.g., a neural network model) is trained on a dataset consisting of only normal data, so that the output contains only normal features.
- Autoencoder is a representative model where the output is generated by an encoder and decoder.
- the encoder converts the input into a latent vector, and the latent vector is restored to the original by the decoder.
- the output of the autoencoder Due to a normal dataset, the output of the autoencoder has normal features, so the reconstruction error (difference between input and output) is close to 0 for normal inputs, while it is close to 0 for abnormal (or abnormal) inputs. It has a high value.
- Embodiments may provide an anomaly detection technology using a heterogeneous loss function.
- An anomaly detection device includes a receiver that receives data to detect whether it is normal or abnormal; and a processor that detects anomalies in the data by inputting the data into a pre-trained neural network, wherein the pre-trained neural network has a gradient parameter determined based on the anomaly score of the training data. It can be learned through a heterogeneous loss function calculated using ).
- the abnormality score may be calculated based on the reconstruction error.
- the gradient parameter may be calculated based on a z-score calculated based on the median of the learning data and the maximum absolute value of the z-score.
- the z-score may be calculated based on the Median Absolute Deviation (MAD) of the learning data, which is calculated based on the median of the learning data.
- MAD Median Absolute Deviation
- the gradient parameter may be determined based on the larger value of a predetermined constant and the maximum value.
- the heterogeneous loss function is determined based on Equation 1 to Equation 3, and Equation 1 is: And Equation 2 is, And Equation 3 above is, ego, represents the training data, is the average of the training data, N is the number of training data, c is the first hyperparameter, represents the ideal score, is the z score, may refer to the parameter for the lowest gradient loss.
- a method of anomaly detection includes receiving data to detect whether normal or abnormality is detected; And detecting whether the data is abnormal by inputting the data into a pre-trained neural network, wherein the pre-trained neural network has a gradient parameter determined based on the abnormality score of the training data. It can be learned based on the heterogeneous loss function calculated through .
- a learning method using a heterogeneous loss function includes receiving learning data; and determining a gradient parameter based on the abnormality score of the learning data; determining a heterogeneous loss function based on the gradient parameters; And it may include training an artificial neural network based on the heterogeneous loss function.
- FIG. 1 shows a schematic block diagram of an abnormality detection device according to an embodiment.
- Figure 2 shows an example of the distribution of anomaly scores of learning data.
- Figure 3 shows examples of data corruption rates according to different displacements.
- Figure 4 shows an example of a learning algorithm for a neural network used in the abnormality detection device of Figure 1.
- Figure 5 shows an example of a graph for explaining a heterogeneous loss function.
- Figure 6 shows another example of a graph for explaining a heterogeneous loss function.
- Figure 7 is a table showing AUROC (Area Under the Receiver Operating Characteristic) according to various loss functions.
- 11 to 13 show other examples of AUROC for pollution rates of multiple models.
- Figure 17 is a table showing AUROC according to various neural network models.
- Figures 18 to 20 show examples of comparing the AUROC for the contamination rate of the neural network model of the plurality of models in Figure 1.
- Figure 21 shows the results of an elimination study for heterogeneous loss functions
- Figure 22 is a graph to explain the sensitivity of heterogeneous loss functions and soft rejection.
- FIG. 23 shows a flowchart of the operation of the abnormality detection device shown in FIG. 1.
- FIG. 24 shows a flowchart of an operation for training the anomaly detection device shown in FIG. 1.
- first or second may be used to describe various components, but the components should not be limited by the terms.
- the above terms are used only for the purpose of distinguishing one component from another component, for example, a first component may be named a second component, without departing from the scope of rights according to the concept of the present invention, Similarly, the second component may also be referred to as the first component.
- a module in this specification may mean hardware that can perform functions and operations according to each name described in this specification, or it may mean computer program code that can perform specific functions and operations. , or it may mean an electronic recording medium loaded with computer program code that can perform specific functions and operations, for example, a processor or microprocessor.
- a module may mean a functional and/or structural combination of hardware for carrying out the technical idea of the present invention and/or software for driving the hardware.
- FIG. 1 shows a schematic block diagram of an abnormality detection device according to an embodiment.
- the anomaly detection device 10 can detect anomalies in data.
- the abnormality detection device 10 can detect whether data is normal and/or abnormal (or abnormal).
- Data may consist of information in a form that can be processed by a computer.
- Data can be in the form of letters, numbers, sounds, pictures, etc. that a computer can process.
- data may include images.
- An image includes an image of an object created by refraction or reflection of light, and may mean representing the shape of the object using lines or colors.
- the anomaly detection device 10 can detect anomalies in data using a neural network.
- the anomaly detection device 10 can detect anomalies in data by training a neural network based on learning data and processing the data based on the learned neural network.
- Neural networks can include statistical learning algorithms that mimic neurons in biology in machine learning and cognitive science.
- a neural network can refer to an overall model in which artificial neurons (nodes), which form a network through the combination of synapses, change the strength of the synapse connection through learning and have problem-solving capabilities.
- Neurons in a neural network can contain combinations of weights or biases.
- a neural network may include one or more layers consisting of one or more neurons or nodes. Neural networks can infer the results they want to predict from arbitrary inputs by changing the weights of neurons through learning.
- Neural networks may include deep neural networks.
- Neural networks include CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), perceptron, multilayer perceptron, FF (Feed Forward), RBF (Radial Basis Network), DFF (Deep Feed Forward), and LSTM.
- the abnormality detection device 10 may be implemented with a printed circuit board (PCB) such as a motherboard, an integrated circuit (IC), or a system on chip (SoC).
- PCB printed circuit board
- IC integrated circuit
- SoC system on chip
- the abnormality detection device 10 may be implemented as an application processor.
- the abnormality detection device 10 may be implemented in a personal computer (PC), a data server, or a portable device.
- PC personal computer
- data server data server
- portable device a portable device
- Portable devices include laptop computers, mobile phones, smart phones, tablet PCs, mobile internet devices (MIDs), personal digital assistants (PDAs), and enterprise digital assistants (EDAs). , digital still camera, digital video camera, portable multimedia player (PMP), personal navigation device or portable navigation device (PND), handheld game console, e-book ( It can be implemented as an e-book) or a smart device.
- a smart device may be implemented as a smart watch, smart band, or smart ring.
- the abnormality detection device 10 includes a receiver 100 and a processor 200.
- the abnormality detection device 10 may further include a memory 300.
- the receiver 100 can receive data to detect whether it is normal or abnormal.
- the receiver 100 may receive data from the outside or the memory 300.
- Receiver 100 may include a receiving interface.
- the receiver 100 may output the received data to the processor 200.
- the processor 200 may process data stored in the memory 300.
- the processor 200 may execute computer-readable code (eg, software) stored in the memory 300 and instructions triggered by the processor 200 .
- the “processor 200” may be a data processing device implemented in hardware that has a circuit with a physical structure for executing desired operations.
- the intended operations may include code or instructions included in the program.
- data processing devices implemented in hardware include microprocessors, central processing units, processor cores, multi-core processors, and multiprocessors.
- microprocessors central processing units
- processor cores multi-core processors
- multiprocessors multiprocessors.
- ASIC Application-Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the processor 200 may perform anomaly detection based on a neural network learned using a heterogeneous loss function.
- the processor 200 may directly train a neural network used to detect outliers, but may also detect outliers using a separately learned neural network. In the process of training the neural network, the processor 200 may determine a gradient parameter based on the abnormality score of the training data received from the receiver 100. The processor 200 may calculate an anomaly score based on the restoration error for the learning data.
- the processor 200 may calculate the z-score based on the median of the training data.
- the processor 200 may calculate the Median Absolute Deviation (MAD) of the data based on the median of the training data.
- Processor 200 may calculate the z-score based on the MAD.
- the processor 200 may determine the gradient parameter based on the z score and the maximum absolute value of the z score.
- the processor 200 may determine the gradient parameter based on the larger value between a predetermined constant and the maximum absolute value of the z-score.
- the processor 200 may determine a heterogeneous loss function based on the gradient parameter.
- the processor 200 may determine the first loss function to be a heterogeneous loss function.
- the processor 200 may determine the second loss function to be a heterogeneous loss function.
- the processor 200 may determine a first loss function and a second loss function based on a value divided by the data by the first hyperparameter.
- the processor 200 can detect whether the input data is normal or abnormal by inputting data into a neural network learned based on a heterogeneous loss function.
- the memory 300 may store instructions (or programs) executable by the processor 200.
- the instructions may include instructions for executing the operation of the processor and/or the operation of each component of the processor.
- the memory 300 may be implemented as a volatile memory device or a non-volatile memory device.
- Volatile memory devices may be implemented as dynamic random access memory (DRAM), static random access memory (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or twin transistor RAM (TTRAM).
- DRAM dynamic random access memory
- SRAM static random access memory
- T-RAM thyristor RAM
- Z-RAM zero capacitor RAM
- TTRAM twin transistor RAM
- Non-volatile memory devices include EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, MRAM (Magnetic RAM), Spin-Transfer Torque (STT)-MRAM (MRAM), and Conductive Bridging RAM (CBRAM). , FeRAM (Ferroelectric RAM), PRAM (Phase change RAM), Resistive RAM (RRAM), Nanotube RRAM (Nanotube RRAM), Polymer RAM (PoRAM), Nano Floating Gate Memory (NFGM), holographic memory, molecular electronic memory device, or insulation resistance change memory.
- EEPROM Electrically Erasable Programmable Read-Only Memory
- flash memory includes MRAM (Magnetic RAM), Spin-Transfer Torque (STT)-MRAM (MRAM), and Conductive Bridging RAM (CBRAM).
- FeRAM Feroelectric RAM
- PRAM Phase change RAM
- Resistive RAM RRAM
- Nanotube RRAM Nanotube RRAM
- Polymer RAM PoRAM
- NFGM Nano Floating Gate
- Figure 2 shows an example of the distribution of anomaly scores of learning data
- Figure 3 shows an example of the data quintuple ratio according to different quantiles.
- a processor may calculate an anomaly score based on an anomaly rate of data.
- the processor 200 may configure a loss function using aggressive rejection and/or soft rejection in the process of training the neural network. At this time, ambiguous data that crosses a normal or abnormal distribution may be rejected.
- the examples in FIGS. 2 and 3 may represent the anomaly score and anomaly ratio of an autoencoder learned using the MNIST dataset.
- the example of FIG. 2 may represent the distribution of abnormal scores of training data in which 10% of the data is contaminated. Although the 0.9 quantile samples contain more abnormal data than the normal data, it can be seen that 6.7% of the data excluding the 0.9 quantile samples still contain abnormal data. In the case of the 0.5 quantile, there is more normal data than the 0.9 quantile, but the abnormality rate of the data excluding this may be about 0.034 (3.4%).
- the processor 200 may perform aggressive rejection on data. Since the previous approach set the contamination ratio to be approximately 10%, 10% of the data can be treated as an abnormality. However, because normal and abnormal distributions overlap, it may be difficult to cover all anomalies. Additionally, assumptions about contamination rates can limit performance when contamination rates exceed 10%.
- Figures 2 and 3 may show the abnormality score distribution of 10% contaminated data and the abnormality ratio for different quantiles. Figure 2 can show that normal and abnormal distributions overlap. Therefore, for more data, the contamination rate can be reduced as shown in Figure 3.
- An outlier detection device can improve the accuracy of outlier detection by utilizing a neural network with improved learning accuracy through a loss function to which a rejection method is applied, which will be described below.
- Equation 1 represents the loss function to which aggressive rejection is applied.
- the processor 200 determines the abnormal score through aggressive rejection. The impact of larger data can be reduced.
- the ideal score can be defined for each model.
- the anomaly score can be calculated based on the reconstruction error (e.g. may be calculated based on . As shown in Figure 3, q may increase monotonically from 0.5.
- the processor 200 may perform soft rejection on training data. Although aggressive rejection can reduce the contamination rate, it can reduce performance because it removes a large amount of normal data. Aggressive rejection can cause degradation of clean datasets. To solve this, the rejection weight A second hyperparameter It can be partially adjusted. In equation 2 at Is can depend on The weight can be expressed as Equation 2.
- Processor 200 is perform hard rejection to completely exclude the rejection target, By performing soft rejection, learning can be partially performed using samples of the rejection target.
- the model is When is 0.1, minimal loss can be achieved for clean datasets and robustness can be achieved for polluted datasets.
- FIG. 4 shows an example of a learning algorithm for a neural network used in the anomaly detection device of FIG. 1.
- a processor may configure a heterogeneous loss function using rejection.
- the samples have an ideal score s of the neural network model. If larger, they can be distinguished as potential abnormal samples.
- About normal samples can be set to 1, and for the remaining samples It can be set to .
- the ideal score of a mini batch is the gradient parameter can be decided.
- the anomaly score is the modified z-score (or z-score) and input based on can be converted to
- Neural network model parameters are soft rejection weights and loss function It can be updated using the loss generated by the product of .
- the heterogeneous loss function used by the processor 200 can satisfy two conditions for using rejection.
- the heterogeneous loss function may not minimize the abnormal loss function. This is because when a neural network model is trained to minimize loss, normal samples of the rejection target may interfere with learning.
- the neural network model can be trained to converge quickly for normal samples, and the neural network model can be trained to converge more slowly than normal samples.
- Processor 200 may determine a heterogeneous loss function to maximize the difference between the distribution of normal data and the distribution of abnormal data by adjusting the gradient.
- the number of normal samples may increase as the abnormality score decreases.
- the processor 200 may adjust the gradient based on the anomaly score.
- the processor 200 may treat abnormal scores greater than the q quantile as potential abnormal samples, and treat the remaining samples as normal samples to apply a Mean Squared Error (MSE) loss. If the anomaly score is close to 0.5 quantile, the heterogeneous loss function can be changed to MSE. In the opposite case, the processor 200 may lower the gradient value.
- MSE Mean Squared Error
- the processor 200 may determine the first loss function to be a heterogeneous loss function.
- the processor 200 may determine the second loss function to be a heterogeneous loss function.
- the processor 200 may be configured using LGA, a dynamic gradient loss function of Equation 3, as a heterogeneous loss function.
- LGA is a parameter It can be a loss function that handles from MSE loss to Welsch loss.
- the first loss function is in Equation 3: can represent the case where is 2, and the second loss function is in Equation 3 It can indicate a case where is 1 or a value other than that.
- processor 200 may use the z-score.
- the z score can be calculated as Equation 4, represents the training data, may mean the average of the training data, N may mean the number of training data, and c may mean the first hyperparameter.
- the processor 200 may calculate the z-score based on the median of the data.
- the processor 200 may calculate the Median Absolute Deviation (MAD) of the data based on the median value of the data.
- Processor 200 may calculate the z-score based on the MAD.
- the processor 200 may determine the gradient parameter based on the z score and the maximum absolute value of the z score.
- the processor 200 may determine the gradient parameter based on the larger value between a predetermined constant and the maximum absolute value of the z-score.
- the z-score uses the median, it can be robust to outliers.
- the z scores produce a normal distribution and can have relative distances.
- the z score can be normalized by the maximum of 3.5 and max(
- the processor 200 may define the value m using max(
- the ideal score may represent the z score. It may refer to a parameter for the lowest gradient loss.
- the minimum value of can be matched to a normal loss function (MSE).
- MSE normal loss function
- the maximum value of is a robust loss function, e.g. ) may be close to . of It can range from to 2.
- Equation 5 Since the abnormality ratio increases in the form of a quadratic function as shown in the example of FIG. 3, z in Equation 5 can be applied in the form of a quadratic function.
- Figure 5 shows an example of a graph for explaining a heterogeneous loss function
- Figure 6 shows another example of a graph for explaining a heterogeneous loss function.
- Figure 6 An example of a heterogeneous loss function can be shown in the case of .
- a loss function between MSE and psuedo-Huber loss can be used, as shown in the shaded area of Figure 6.
- MSE with soft rejection can be used.
- the psuedo-Huber loss using soft rejection can be used.
- Figure 7 is a table showing AUROC (Area Under the Receiver Operating Characteristic) according to various loss functions
- Figures 8 to 10 show an example of AUROC for the contamination rate of a plurality of models
- Figures 11 to 13 show a plurality of models.
- Figures 14 to 16 show another example of AUROC for the pollution rate of a plurality of models.
- the performance can be compared between a neural network model using an existing loss function and a neural network model using a heterogeneous loss function using rejection.
- MNIST, F-MNIST (Fashion MNIST), and CIFAR-10 can be used as datasets.
- MNIST and F-MNIST can be composed of 10 classes and 28*28 scale images.
- CIFAR-10 can consist of 32*32 color images of 10 classes.
- one class may be set as normal and the remaining classes may be set as abnormal.
- the training data can be twice the test data, and 10% of the original training data can be used for validation.
- Abnormal data may be added.
- N may mean the number of normal data. 30% of test data may consist of abnormal data.
- the model with the lowest verification loss can be used as a test model.
- Verification loss can be measured by aggressive rejection and hard rejection.
- the unit of performance may be AUROC (Area Under Receiver Operating Characteristic). In the experiment, each class is set to normal, and the average AUROC using three different seeds can be measured.
- ITSR can be adopted as a neural network model to which RVAE-ABFA and NCAE are robust.
- ITSR can use OC-SVM and AAE for refinement.
- RVAE-ABFA can refer to a network that develops DAGMM by adopting attention based on VAE and feature adaptation.
- NCAE can use normal samples generated from a generative adversarial model to refine the dataset.
- Loss functions can be evaluated based on three existing neural network models (eg AE, MemAE and DSVDD).
- DSVDD uses MSE, but the reconstruction error may be different.
- MemAE can be compared because of an additional loss function for memory augmented loss.
- MSE can be replaced by pseudo-Huber loss, GA loss and LOE loss.
- the GA loss uses the z distribution
- the heterogeneous loss function uses the z distribution. Since negative log-likelihood is used to determine , it can be used to explain how GA loss affects robustness.
- the heterogeneous loss function can be expressed as Hetero.
- the encoder may contain three convolutions.
- the decoder may include three deconvolutions. Except the last deconvolution, other deconvolutions or convolutions may include batch normalization, leaky Rectified Linear Unit (ReLU).
- ReLU leaky Rectified Linear Unit
- the encoder and decoder may include four layers similar to the configuration of MNIST with different kernel and stride sizes.
- a LeNET-based convolutional neural network with 32 or 128 representation dimensions can be used.
- RVAE-ABFA can only use 32 dimensions due to computational errors.
- Batch size and epoch can be set to 100 and 300 respectively except for ITSR, NCAE and DSVDD.
- ITSR can refine data every 10 epochs after the first 100 epochs, and can be trained on the refined data using 100 epochs.
- Parameters can be updated by the Adam optimizer using a learning rate of 0.0001 and a weight decay of 10 ⁇ -6. Parameters in heterogeneous loss , and c are 0.5, 1.5 and It can be.
- the compared methods can show minimal AUROC loss compared to MSE, except for AE using MNIST.
- Heterogeneous loss functions on clean datasets can exhibit similar performance within 0.01 compared to MSE.
- the performance of AE using pseudo-Huber, GA, and LOE may not significantly improve robustness.
- AE using a heterogeneous loss function achieves a robustness of 0.045.
- DSVDD for F-MNIST is learned using heterogeneous loss, it can produce the most effective results.
- LOE can exhibit performance similar to that of a heterogeneous loss function by maximizing an abnormal loss function.
- CIFAR-10 is a hard dataset compared to MNIST or F-MNIST, the AUROC for clean datasets may be lower. Therefore, robustness may not be significantly improved.
- the heterogeneous loss function can be more robust to 20% contaminated data at the level of 0.002 and 0.084 compared to the overall loss functions.
- Figures 8 to 16 may show the results of visualizing the AUROC of robust loss functions depending on the contamination rate.
- Heterogeneous loss functions can achieve the most robust results in the cases of AE and MemAE.
- DSVDD for F-MNIST and LOE
- it can outperform the heterogeneous loss function when the contamination rate is below 10%;
- LOE is value is actual The highest performance can be achieved when is equal to .
- Experiments can demonstrate that the heterogeneous loss function can be applied to different MSE-based AD models and exhibits high robustness and minimal AUROC loss for clean datasets.
- Figure 17 is a table showing the AUROC according to various neural network models, and Figures 18 to 20 show examples of comparing the AUROC for the contamination rate of the neural network model of the plurality of models in Figure 1.
- RVAE-ABFA can show the highest AUROC compared to other methods for F-MNIST, but DSVDD using a heterogeneous loss function can show 0.012 higher robustness. Heterogeneous loss functions can achieve the highest robustness for CIFAR-10. Experimental results can show that the heterogeneous loss function exhibits performance comparable to other robust neural network models. 18 to 20 can show the robustness of neural network models according to various contamination rates. For the MNIST and F-MNIST datasets, RVAE-ABFA shows the most robust performance, but it can be seen that the heterogeneous loss function shows the most similar performance. When the contamination rate increases, the difference in DSVDD can be reduced by using RVAE-ABFA and the heterogeneous loss function.
- DSVDD outperforms RVAE-ABFA, and the heterogeneous loss function can make MemAE have similar performance to RVAE-ABFA.
- the heterogeneous loss function achieves high robustness without increasing inference time and modifying the structure.
- Figure 21 shows the results of a removal study for the heterogeneous loss function
- Figure 22 is a graph to explain the sensitivity of the heterogeneous loss function and soft rejection.
- the impact after each component is removed in the experiment can be measured.
- the performance of clean and contaminated data sets in MNIST can be expressed as the table in FIG. 21. and can be a key component in determining the impact of aggressive rejection using soft or hard rejection.
- the loss function or the value of the loss function is It can be expressed as, represents the loss function and Is Indicates the displacement position, may represent the degree of rejection.
- Hard rejection - MSE(0.5,0) can produce more robust results for contaminated data than standard loss - MSE(1,1).
- hard rejection on a clean dataset can result in significant performance degradation for AE (0.115), MemAE (0.134), and DSVDD (0.045). This may be because many normal samples are excluded and has a negative impact on clean datasets.
- Soft Rejection - MSE (0.5, 0.1) can compensate for the decline. This can result in AUROC comparable to MSE on clean datasets.
- soft rejection can improve the robustness of AE, MemAE, and DSVDD by 0.045, 0.07, and 0.044, respectively.
- Hetero(1,1) A heterogeneous loss function that does not perform aggressive rejection may be referred to as Hetero(1,1) in FIG. 21. This shows better performance than the baseline MSE and can show more robust performance than MemAE using MSE(0.5, 0.1). In addition, Hetero(0.5, 0.1) using aggressive rejection can show performance improvements of 0.008 and 0.15 compared to MSE (0.5, 0.1) for AE and MemAE, respectively. Experiments can indicate that differences between normal and abnormal data may be caused by gradient adaptation based on mini-batch distributions.
- FIG. 23 shows a flowchart of the operation of the abnormality detection device shown in FIG. 1.
- the receiver 100 may receive data to detect whether it is normal or abnormal (2310).
- the processor 200 can detect whether the data is normal or abnormal by inputting the data received from the receiver 100 into a pre-trained neural network (2330). For example, the processor 200 can detect abnormalities in the data by inputting data into a neural network learned to minimize the heterogeneous loss function described above, and the heterogeneous loss function is Equation 3 described above. It may be a function calculated based on Equation 5.
- the processor 200 may apply a loss function to which the rejection described above is applied in addition to a heterogeneous loss function to learn a neural network used for outlier detection, and the process of applying rejection is: It may be the same as described through Equation 1 to Equation 3 described above.
- FIG. 24 shows a flowchart of an operation for training the anomaly detection device shown in FIG. 1.
- the receiver 100 may receive training data (2410).
- the processor 200 may determine a gradient parameter based on the anomaly score of the training data received from the receiver 100 (2430). The processor 200 may calculate an anomaly score based on the restoration error of the learning data.
- the processor 200 may calculate the z-score based on the median of the training data.
- the processor 200 may calculate the Median Absolute Deviation (MAD) of the data based on the median of the training data.
- Processor 200 may calculate the z-score based on the MAD.
- the processor 200 may determine the gradient parameter based on the z score and the maximum absolute value of the z score.
- the processor 200 may determine the gradient parameter based on the larger value between a predetermined constant and the maximum absolute value of the z-score.
- the processor 200 may determine a heterogeneous loss function based on the gradient parameter (2450).
- the processor 200 may determine the first loss function to be a heterogeneous loss function.
- the processor 200 may determine the second loss function to be a heterogeneous loss function.
- the processor 200 may determine a first loss function and a second loss function based on a value divided by the data by the first hyperparameter.
- the processor 200 may train an artificial neural network that detects outliers based on a heterogeneous loss function (2470). For example, the processor 200 may train the artificial neural network in a way that minimizes the calculated heterogeneous loss function. Additionally, the heterogeneous loss function may be a function calculated based on Equations 3 to 5 described above.
- the processor 200 can train an artificial neural network to detect outliers based on a loss function to which the rejection described in FIG. 4 is applied, and the rejection is one of the aggressive rejection or soft rejection described above. It will be understood by those skilled in the art that this can be implemented.
- devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
- a processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
- OS operating system
- a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
- a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include.
- a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
- Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
- Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
- Software may be distributed over networked computer systems and stored or executed in a distributed manner.
- Software and data may be stored on one or more computer-readable recording media.
- the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
- the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
- Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software.
- Examples of computer-readable recording media 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 floptical disks.
- program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
- the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
An anomaly detection device is disclosed. The anomaly detection device using a heterogeneous loss function, according to one embodiment, comprises: a receiver for receiving data from which normality or anomaly is to be detected; and a processor for detecting whether an anomaly exists in the data, by inputting the data into a pre-learned neural network, wherein the pre-learned neural network can be learned through a heterogeneous loss function calculated using a gradient parameter determined on the basis of an anomaly score.
Description
아래 실시예들은 이종 손실 함수를 이용하여 학습된 뉴럴 네트워크를 이용한 이상 검출 장치에 관한 것이다.The following embodiments relate to an anomaly detection device using a neural network learned using a heterogeneous loss function.
이상 검출(anomaly detection)(또는, 이상 탐지)는 데이터의 아웃라이어(outlier) 또는 이상(abnormality)를 식별하는 것을 의미한다. 이상 검출은 모델(예: 뉴럴 네트워크 모델)이 정상 데이터만으로 구성된 데이터셋으로 학습되어 출력이 정상 특징들만을 포함하도록 학습되었다고 가정한다.Anomaly detection (or, anomaly detection) means identifying outliers or abnormalities in data. Anomaly detection assumes that a model (e.g., a neural network model) is trained on a dataset consisting of only normal data, so that the output contains only normal features.
오토 인코더는 출력이 인코더 및 디코더에 의해 생성되는 대표적인 모델이다. 인코더는 입력을 잠재 벡터(latent vector)로 변환하고, 잠재백터는 디코더에 의해 원본으로 복원된다.Autoencoder is a representative model where the output is generated by an encoder and decoder. The encoder converts the input into a latent vector, and the latent vector is restored to the original by the decoder.
정상 데이터셋으로 인하여, 오토 인코더의 출력은 정상 특징들을 가지기 때문에, 복원 오차(reconstruction error)(입력과 출력 사이의 차이)는 정상 입력에 대하여 0에 가까운 반면, 이상(또는, 이상) 입력에 대해서는 높은 값을 가진다.Due to a normal dataset, the output of the autoencoder has normal features, so the reconstruction error (difference between input and output) is close to 0 for normal inputs, while it is close to 0 for abnormal (or abnormal) inputs. It has a high value.
하지만, 정상과 이상 데이터 사이의 모호성(ambiguity)로 인하여 클린 데이터셋(clean dataset)을 생성하는 것이 어렵다는 문제가 있다. 데이터가 정상 데이터 및 이상 데이터를 모두 포함하고 있음에도, 학습 데이터가 정상으로 레이블링 될 때 오염된 데이터가 생성될 수 있다. 오염된 데이터가 모델의 성능을 저하시길 수 있기 때문에, 오염에 강건한 모델을 구축할 필요가 있다.However, there is a problem that it is difficult to create a clean dataset due to the ambiguity between normal and abnormal data. Even though the data contains both normal and abnormal data, contaminated data may be generated when the training data is labeled as normal. Because contaminated data can degrade model performance, there is a need to build a model that is robust to contamination.
실시예들은 이종 손실 함수를 이용한 이상 검출 기술을 제공할 수 있다. Embodiments may provide an anomaly detection technology using a heterogeneous loss function.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, technical challenges are not limited to the above-mentioned technical challenges, and other technical challenges may exist.
일 실시예에 따른 이상 검출(anomaly detection) 장치는, 정상 또는 이상 여부를 검출할 데이터를 수신하는 수신기; 및 상기 데이터를 미리 학습된 뉴럴 네트워크에 입력함으로써, 상기 데이터에 대한 이상 여부를 검출하는 프로세서를 포함하고, 상기 미리 학습된 뉴럴 네트워크는, 학습 데이터의 이상 점수에 기초하여 결정되는 그라디언트 파라미터(gradient parameter)를 이용하여 산출되는 이종 손실 함수(heterogeneous loss function)를 통해 학습될 수 있다.An anomaly detection device according to an embodiment includes a receiver that receives data to detect whether it is normal or abnormal; and a processor that detects anomalies in the data by inputting the data into a pre-trained neural network, wherein the pre-trained neural network has a gradient parameter determined based on the anomaly score of the training data. It can be learned through a heterogeneous loss function calculated using ).
일 실시예에 따른 이상 점수는, 복원 오차에 기초하여 산출될 수 있다.The abnormality score according to one embodiment may be calculated based on the reconstruction error.
상기 그라디언트 파라미터는, 상기 학습 데이터의 중앙값(median)에 기초하여 계산되는 z 점수 및 상기 z 점수의 절대값의 최대값에 기초하여 산출될 수 있다.The gradient parameter may be calculated based on a z-score calculated based on the median of the learning data and the maximum absolute value of the z-score.
상기 z 점수는, 상기 학습 데이터의 중앙값에 기초하여 계산되는 상기 학습 데이터의 MAD(Median Absolute Deviation)에 기초하여 산출될 수 있다The z-score may be calculated based on the Median Absolute Deviation (MAD) of the learning data, which is calculated based on the median of the learning data.
상기 그라디언트 파라미터는, 미리 결정된 상수와 상기 최대값 중에서 큰 값에 기초하여 결정될 수 있다.The gradient parameter may be determined based on the larger value of a predetermined constant and the maximum value.
상기 이종 손실 함수는, 수학식 1 내지 수학식 3에 기초하여 결정되고, 상기 수학식 1은, 이고, 상기 수학식 2는, 이고, 상기 수학식 3은, 이고, 는 학습 데이터를 나타내고, 는 학습 데이터의 평균, N은 학습 데이터의 개수, c는 제1 하이퍼 파라미터이고, 는 이상 점수를 나타내고, 는 z 점수이고, 는 최저 그라디언트 손실을 위한 파라미터를 의미할 수 있다.The heterogeneous loss function is determined based on Equation 1 to Equation 3, and Equation 1 is: And Equation 2 is, And Equation 3 above is, ego, represents the training data, is the average of the training data, N is the number of training data, c is the first hyperparameter, represents the ideal score, is the z score, may refer to the parameter for the lowest gradient loss.
일 실시예에 따른 이상 검출(anomaly detection)하는 방법은, 정상 또는 이상 여부를 검출할 데이터를 수신하는 단계; 및 미리 학습된 뉴럴 네트워크에 상기 데이터를 입력함으로써, 상기 데이터의 이상 여부를 검출하는 단계를 포함하고, 상기 미리 학습된 뉴럴 네트워크는, 학습 데이터의 이상 점수에 기초하여 결정되는 그라디언트 파라미터(gradient parameter)를 통해 산출되는 이종 손실 함수에 기초하여 학습될 수 있다.A method of anomaly detection according to an embodiment includes receiving data to detect whether normal or abnormality is detected; And detecting whether the data is abnormal by inputting the data into a pre-trained neural network, wherein the pre-trained neural network has a gradient parameter determined based on the abnormality score of the training data. It can be learned based on the heterogeneous loss function calculated through .
일 실시예에 따른 이종 손실 함수를 이용한 학습 방법은, 학습 데이터를 수신하는 단계; 및 상기 학습 데이터의 이상 점수에 기초하여 그라디언트 파라미터(gradient parameter)를 결정하는 단계; 상기 그라디언트 파라미터에 기초하여 이종 손실 함수(heterogeneous loss function)를 결정하는 단계; 및 상기 이종 손실 함수에 기초하여 인공 신경망을 학습시키는 단계를 포함할 수 있다.A learning method using a heterogeneous loss function according to an embodiment includes receiving learning data; and determining a gradient parameter based on the abnormality score of the learning data; determining a heterogeneous loss function based on the gradient parameters; And it may include training an artificial neural network based on the heterogeneous loss function.
도 1은 일 실시예에 따른 이상 검출 장치의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of an abnormality detection device according to an embodiment.
도 2는 학습 데이터의 이상 점수의 분포의 예를 나타낸다.Figure 2 shows an example of the distribution of anomaly scores of learning data.
도 3은 서로 다른 변위치에 따른 데이터 오염 비율의 예를 나타낸다.Figure 3 shows examples of data corruption rates according to different displacements.
도 4는 도 1의 이상 검출 장치 에 사용되는 뉴럴 네트워크에 대한 학습 알고리즘의 예를 나타낸다.Figure 4 shows an example of a learning algorithm for a neural network used in the abnormality detection device of Figure 1.
도 5는 이종 손실 함수를 설명하기 위한 그래프의 일 예를 나태낸다.Figure 5 shows an example of a graph for explaining a heterogeneous loss function.
도 6은 이종 손실 함수를 설명하기 위한 그래프의 다른 예를 나태낸다.Figure 6 shows another example of a graph for explaining a heterogeneous loss function.
도 7은 다양한 손실 함수에 따른 AUROC(Area Under the Receiver Operating Characteristic)를 나타내는 표이다.Figure 7 is a table showing AUROC (Area Under the Receiver Operating Characteristic) according to various loss functions.
도 8 내지 도 10은 복수의 모델들의 오염률에 대한 AUROC(Area Under the Receiver Operating Characteristic)의 일 예를 나타낸다.8 to 10 show an example of AUROC (Area Under the Receiver Operating Characteristic) for the contamination rate of a plurality of models.
도 11 내지 도 13은 복수의 모델들의 오염률에 대한 AUROC의 다른 예를 나타낸다.11 to 13 show other examples of AUROC for pollution rates of multiple models.
도 14 내지 도 16은 복수의 모델들의 오염률에 대한 AUROC의 또 다른 예를 나타낸다.14 to 16 show another example of AUROC for contamination rates of multiple models.
도 17은 다양한 뉴럴 네트워크 모델들의 따른 AUROC를 나타내는 표이다.Figure 17 is a table showing AUROC according to various neural network models.
도 18 내지 도 20는 도 1의 복수의 모델들의 뉴럴 네트워크 모델의 오염률에 대한 AUROC을 비교한 예들을 나타낸다.Figures 18 to 20 show examples of comparing the AUROC for the contamination rate of the neural network model of the plurality of models in Figure 1.
도 21은 이종 손실 함수에 대한 제거 연구 결과를 나타내고,Figure 21 shows the results of an elimination study for heterogeneous loss functions;
도 22는 이종 손실 함수 및 소프트 리젝션의 민감도를 설명하기 위한 그래프이다.Figure 22 is a graph to explain the sensitivity of heterogeneous loss functions and soft rejection.
도 23은 도 1에 도시된 이상 검출 장치의 동작의 흐름도를 나타낸다.FIG. 23 shows a flowchart of the operation of the abnormality detection device shown in FIG. 1.
도 24는 도 1에 도시된 이상 검출 장치를 학습시키는 동작의 흐름도를 나타낸다.FIG. 24 shows a flowchart of an operation for training the anomaly detection device shown in FIG. 1.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are merely illustrative for the purpose of explaining the embodiments according to the concept of the present invention. They may be implemented in various forms and are not limited to the embodiments described herein.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can make various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in this specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes changes, equivalents, or substitutes included in the spirit and technical scope of the present invention.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component, for example, a first component may be named a second component, without departing from the scope of rights according to the concept of the present invention, Similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between. Expressions that describe the relationship between components, such as “between”, “immediately between” or “directly adjacent to”, should be interpreted similarly.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is only used to describe specific embodiments and is not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate the presence of a described feature, number, step, operation, component, part, or combination thereof, and one or more other features or numbers, It should be understood that this does not exclude in advance the possibility of the presence or addition of steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms as defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings they have in the context of the related technology, and unless clearly defined in this specification, should not be interpreted in an idealized or overly formal sense. No.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.A module in this specification may mean hardware that can perform functions and operations according to each name described in this specification, or it may mean computer program code that can perform specific functions and operations. , or it may mean an electronic recording medium loaded with computer program code that can perform specific functions and operations, for example, a processor or microprocessor.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, a module may mean a functional and/or structural combination of hardware for carrying out the technical idea of the present invention and/or software for driving the hardware.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the attached drawings. However, the scope of the patent application is not limited or limited by these examples. The same reference numerals in each drawing indicate the same members.
도 1은 일 실시예에 따른 이상 검출 장치의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of an abnormality detection device according to an embodiment.
도 1을 참조하면, 이상 검출 장치(10)는 데이터의 이상을 검출할 수 있다. 이상 검출 장치(10)는 데이터의 정상 및/또는 이상(또는, 이상) 여부를 검출할 수 있다.Referring to FIG. 1, the anomaly detection device 10 can detect anomalies in data. The abnormality detection device 10 can detect whether data is normal and/or abnormal (or abnormal).
데이터는 컴퓨터가 처리할 수 있는 형태로 된 정보로 이루어질 수 있다. 데이터는 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 등의 형태로 이루어질 수 있다. 예를 들어, 데이터는 이미지를 포함할 수 있다. 이미지는 빛의 굴절이나 반사 등에 의하여 이루어진 물체의 상을 포함하는 것으로, 선이나 색채를 이용하여 사물의 형상을 나타낸 것을 의미할 수 있다.Data may consist of information in a form that can be processed by a computer. Data can be in the form of letters, numbers, sounds, pictures, etc. that a computer can process. For example, data may include images. An image includes an image of an object created by refraction or reflection of light, and may mean representing the shape of the object using lines or colors.
이상 검출 장치(10)는 뉴럴 네트워크를 이용하여 데이터의 이상을 검출할 수 있다. 이상 검출 장치(10)는 학습 데이터에 기초하여 뉴럴 네트워크를 학습시키고, 학습된 뉴럴 네트워크에 기초하여 데이터를 처리함으로써 데이터의 이상을 검출할 수 있다.The anomaly detection device 10 can detect anomalies in data using a neural network. The anomaly detection device 10 can detect anomalies in data by training a neural network based on learning data and processing the data based on the learned neural network.
뉴럴 네트워크(또는 인공 신경망)는 기계학습과 인지과학에서 생물학의 신경을 모방한 통계학적 학습 알고리즘을 포함할 수 있다. 뉴럴 네트워크는 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.Neural networks (or artificial neural networks) can include statistical learning algorithms that mimic neurons in biology in machine learning and cognitive science. A neural network can refer to an overall model in which artificial neurons (nodes), which form a network through the combination of synapses, change the strength of the synapse connection through learning and have problem-solving capabilities.
뉴럴 네트워크의 뉴런은 가중치 또는 바이어스의 조합을 포함할 수 있다. 뉴럴 네트워크는 하나 이상의 뉴런 또는 노드로 구성된 하나 이상의 레이어(layer)를 포함할 수 있다. 뉴럴 네트워크는 뉴런의 가중치를 학습을 통해 변화시킴으로써 임의의 입력으로부터 예측하고자 하는 결과를 추론할 수 있다.Neurons in a neural network can contain combinations of weights or biases. A neural network may include one or more layers consisting of one or more neurons or nodes. Neural networks can infer the results they want to predict from arbitrary inputs by changing the weights of neurons through learning.
뉴럴 네트워크는 심층 뉴럴 네트워크 (Deep Neural Network)를 포함할 수 있다. 뉴럴 네트워크는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), 퍼셉트론(perceptron), 다층 퍼셉트론(multilayer perceptron), FF(Feed Forward), RBF(Radial Basis Network), DFF(Deep Feed Forward), LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit), AE(Auto Encoder), VAE(Variational Auto Encoder), DAE(Denoising Auto Encoder), SAE(Sparse Auto Encoder), MC(Markov Chain), HN(Hopfield Network), BM(Boltzmann Machine), RBM(Restricted Boltzmann Machine), DBN(Depp Belief Network), DCN(Deep Convolutional Network), DN(Deconvolutional Network), DCIGN(Deep Convolutional Inverse Graphics Network), GAN(Generative Adversarial Network), LSM(Liquid State Machine), ELM(Extreme Learning Machine), ESN(Echo State Network), DRN(Deep Residual Network), DNC(Differentiable Neural Computer), NTM(Neural Turning Machine), CN(Capsule Network), KN(Kohonen Network) 및 AN(Attention Network)를 포함할 수 있다.Neural networks may include deep neural networks. Neural networks include CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), perceptron, multilayer perceptron, FF (Feed Forward), RBF (Radial Basis Network), DFF (Deep Feed Forward), and LSTM. (Long Short Term Memory), GRU (Gated Recurrent Unit), AE (Auto Encoder), VAE (Variational Auto Encoder), DAE (Denoising Auto Encoder), SAE (Sparse Auto Encoder), MC (Markov Chain), HN (Hopfield) Network), BM (Boltzmann Machine), RBM (Restricted Boltzmann Machine), DBN (Depp Belief Network), DCN (Deep Convolutional Network), DN (Deconvolutional Network), DCIGN (Deep Convolutional Inverse Graphics Network), GAN (Generative Adversarial Network) ), Liquid State Machine (LSM), Extreme Learning Machine (ELM), Echo State Network (ESN), Deep Residual Network (DRN), Differential Neural Computer (DNC), Neural Turning Machine (NTM), Capsule Network (CN), It may include Kohonen Network (KN) and Attention Network (AN).
이상 검출 장치(10)는 마더보드(motherboard)와 같은 인쇄 회로 기판(printed circuit board(PCB)), 집적 회로(integrated circuit(IC)), 또는 SoC(system on chip)로 구현될 수 있다. 예를 들어, 이상 검출 장치(10)는 애플리케이션 프로세서(application processor)로 구현될 수 있다.The abnormality detection device 10 may be implemented with a printed circuit board (PCB) such as a motherboard, an integrated circuit (IC), or a system on chip (SoC). For example, the abnormality detection device 10 may be implemented as an application processor.
또한, 이상 검출 장치(10)는 PC(personal computer), 데이터 서버, 또는 휴대용 장치 내에 구현될 수 있다.Additionally, the abnormality detection device 10 may be implemented in a personal computer (PC), a data server, or a portable device.
휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다. 스마트 디바이스는 스마트 와치(smart watch), 스마트 밴드(smart band), 또는 스마트 링(smart ring)으로 구현될 수 있다.Portable devices include laptop computers, mobile phones, smart phones, tablet PCs, mobile internet devices (MIDs), personal digital assistants (PDAs), and enterprise digital assistants (EDAs). , digital still camera, digital video camera, portable multimedia player (PMP), personal navigation device or portable navigation device (PND), handheld game console, e-book ( It can be implemented as an e-book) or a smart device. A smart device may be implemented as a smart watch, smart band, or smart ring.
이상 검출 장치(10)는 수신기(100) 및 프로세서(200)를 포함한다. 이상 검출 장치(10)는 메모리(300)를 더 포함할 수 있다.The abnormality detection device 10 includes a receiver 100 and a processor 200. The abnormality detection device 10 may further include a memory 300.
수신기(100)는 정상 또는 이상 여부를 검출할 데이터를 수신할 수 있다. 수신기(100)는 외부 또는 메모리(300)로부터 데이터를 수신할 수 있다. 수신기(100)는 수신 인터페이스를 포함할 수 있다. 수신기(100)는 수신한 데이터를 프로세서(200)로 출력할 수 있다.The receiver 100 can receive data to detect whether it is normal or abnormal. The receiver 100 may receive data from the outside or the memory 300. Receiver 100 may include a receiving interface. The receiver 100 may output the received data to the processor 200.
프로세서(200)는 메모리(300)에 저장된 데이터를 처리할 수 있다. 프로세서(200)는 메모리(300)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(200)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The processor 200 may process data stored in the memory 300. The processor 200 may execute computer-readable code (eg, software) stored in the memory 300 and instructions triggered by the processor 200 .
"프로세서(200)"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The “processor 200” may be a data processing device implemented in hardware that has a circuit with a physical structure for executing desired operations. For example, the intended operations may include code or instructions included in the program.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, data processing devices implemented in hardware include microprocessors, central processing units, processor cores, multi-core processors, and multiprocessors. , ASIC (Application-Specific Integrated Circuit), and FPGA (Field Programmable Gate Array).
프로세서(200)는 이종 손실 함수를 이용하여 학습된 뉴럴 네트워크에 기초하여 이상 검출을 수행할 수 있다.The processor 200 may perform anomaly detection based on a neural network learned using a heterogeneous loss function.
프로세서(200)는 이상치 검출에 활용되는 뉴럴 네트워크를 직접 학습시킬 수도 있으나, 별도로 학습된 뉴럴 네트워크를 활용하여 이상치를 검출할 수도 있다. 뉴럴 네트워크를 학습시키는 과정에서, 프로세서(200)는 수신기(100)로부터 수신한 학습 데이터의 이상 점수에 기초하여 그라디언트 파라미터(gradient parameter)를 결정할 수 있다. 프로세서(200)는 학습 데이터에 대한 복원 오차에 기초하여 이상 점수를 계산할 수 있다.The processor 200 may directly train a neural network used to detect outliers, but may also detect outliers using a separately learned neural network. In the process of training the neural network, the processor 200 may determine a gradient parameter based on the abnormality score of the training data received from the receiver 100. The processor 200 may calculate an anomaly score based on the restoration error for the learning data.
프로세서(200)는 학습 데이터의 중앙값(median)에 기초하여 z 점수를 계산할 수 있다. 프로세서(200)는 학습 데이터의 중앙값에 기초하여 상기 데이터의 MAD(Median Absolute Deviation)을 계산할 수 있다. 프로세서(200)는 MAD에 기초하여 z 점수를 계산할 수 있다.The processor 200 may calculate the z-score based on the median of the training data. The processor 200 may calculate the Median Absolute Deviation (MAD) of the data based on the median of the training data. Processor 200 may calculate the z-score based on the MAD.
프로세서(200)는 z 점수의 절대값의 최대값 및 z 점수에 기초하여 그라디언트 파라미터를 결정할 수 있다. 프로세서(200)는 미리 결정된 상수와 z 점수의 절대값의 최대값 중에서 큰 값에 기초하여 그라디언트 파라미터를 결정할 수 있다.The processor 200 may determine the gradient parameter based on the z score and the maximum absolute value of the z score. The processor 200 may determine the gradient parameter based on the larger value between a predetermined constant and the maximum absolute value of the z-score.
프로세서(200)는 그라디언트 파라미터에 기초하여 이종 손실 함수(heterogeneous loss function)를 결정할 수 있다.The processor 200 may determine a heterogeneous loss function based on the gradient parameter.
프로세서(200)는 그라디언트 파라미터가 제1 값인 경우 제1 손실 함수를 이종 손실 함수로 결정할 수 있다. 프로세서(200)는 그라디언트 파라미터가 제2 값인 경우 제2 손실 함수를 이종 손실 함수로 결정할 수 있다.When the gradient parameter is the first value, the processor 200 may determine the first loss function to be a heterogeneous loss function. When the gradient parameter is the second value, the processor 200 may determine the second loss function to be a heterogeneous loss function.
프로세서(200)는 데이터를 제1 하이퍼 파라미터로 나눈 값에 기초하여 제1 손실 함수 및 제2 손실 함수를 결정할 수 있다.The processor 200 may determine a first loss function and a second loss function based on a value divided by the data by the first hyperparameter.
프로세서(200)는 이종 손실 함수에 기초하여 학습된 뉴럴 네트워크에 데이터를 입력함으로써, 입력된 데이터의 정상 또는 이상 여부를 검출할 수 있다.The processor 200 can detect whether the input data is normal or abnormal by inputting data into a neural network learned based on a heterogeneous loss function.
메모리(300)는 프로세서(200)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory 300 may store instructions (or programs) executable by the processor 200. For example, the instructions may include instructions for executing the operation of the processor and/or the operation of each component of the processor.
메모리(300)는 휘발성 메모리 장치 또는 비휘발성 메모리 장치로 구현될 수 있다.The memory 300 may be implemented as a volatile memory device or a non-volatile memory device.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.Volatile memory devices may be implemented as dynamic random access memory (DRAM), static random access memory (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or twin transistor RAM (TTRAM).
비휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.Non-volatile memory devices include EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, MRAM (Magnetic RAM), Spin-Transfer Torque (STT)-MRAM (MRAM), and Conductive Bridging RAM (CBRAM). , FeRAM (Ferroelectric RAM), PRAM (Phase change RAM), Resistive RAM (RRAM), Nanotube RRAM (Nanotube RRAM), Polymer RAM (PoRAM), Nano Floating Gate Memory (NFGM), holographic memory, molecular electronic memory device, or insulation resistance change memory.
도 2는 학습 데이터의 이상 점수의 분포의 예를 나타내고, 도 3은 서로 다른 변위치에 따른 데이터 오엽 비율의 예를 나타낸다.Figure 2 shows an example of the distribution of anomaly scores of learning data, and Figure 3 shows an example of the data quintuple ratio according to different quantiles.
도 2 및 도 3을 참조하면, 프로세서(예: 도 1의 프로세서(200))는 데이터의 이상 비율에 기초하여 이상 점수를 계산할 수 있다. Referring to FIGS. 2 and 3 , a processor (eg, processor 200 of FIG. 1 ) may calculate an anomaly score based on an anomaly rate of data.
프로세서(200)는 뉴럴 네트워크를 학습시키는 과정에서 어그레시브 리젝션(aggressive rejection) 및/또는 소프트 리젝션(soft rejection)을 이용하여 손실 함수를 구성할 수 있다. 이 때, 정상 또는 이상 분포를 교차하는 모호한 데이터(ambiguous) 데이터는 리젝션될 수 있다.The processor 200 may configure a loss function using aggressive rejection and/or soft rejection in the process of training the neural network. At this time, ambiguous data that crosses a normal or abnormal distribution may be rejected.
도 2 및 도 3의 예시는 MNIST 데이터셋을 이용하여 학습된 오토 인코더의 이상 점수 및 이상 비율을 나타낼 수 있다.The examples in FIGS. 2 and 3 may represent the anomaly score and anomaly ratio of an autoencoder learned using the MNIST dataset.
도 2의 예시는, 10%가 오염된 학습 데이터의 이상 점수의 분포를 나타낼 수 있다. 0.9 변위치의 샘플들은 정상 데이터보다 이상 데이터를 더 많이 포함하고 있지만, 0.9 변위치 샘플들을 제외한 데이터의 6.7%는 여전히 이상 데이터를 포함하고 있음을 확인할 수 있다. 0.5 변위치의 경우 0.9 변위치에 비하여 정상 데이터가 많지만, 이를 제외한 데이터의 이상 비율은 약 0.034(3.4%)일 수 있다.The example of FIG. 2 may represent the distribution of abnormal scores of training data in which 10% of the data is contaminated. Although the 0.9 quantile samples contain more abnormal data than the normal data, it can be seen that 6.7% of the data excluding the 0.9 quantile samples still contain abnormal data. In the case of the 0.5 quantile, there is more normal data than the 0.9 quantile, but the abnormality rate of the data excluding this may be about 0.034 (3.4%).
프로세서(200)는 데이터에 대하여 어그레시브 리젝션(aggressive rejection)을 수행할 수 있다. 이전의 접근 방식은 오염률(contamination ratio)을 대략 10% 정도로 설정하였기 때문에, 10%의 데이터를 이상(abnomality)으로 처리할 수 있다. 하지만, 정상 분포와 이상 분포가 오버랩되기 때문에 모든 이상을 다루는 것이 어려울 수 있다. 게다가, 오염률이 10%를 초과할 경우에 오염률에 대한 가정이 성능을 제한할 수 있다.The processor 200 may perform aggressive rejection on data. Since the previous approach set the contamination ratio to be approximately 10%, 10% of the data can be treated as an abnormality. However, because normal and abnormal distributions overlap, it may be difficult to cover all anomalies. Additionally, assumptions about contamination rates can limit performance when contamination rates exceed 10%.
이러한 개념에 기초하여, 어그레시브 리젝션은 정상 샘플들의 상당한 양을 희생시키면서 이상을 제거할 수 있다. 도 2 및 도 3은 10%의 오염된 데이터의 이상 점수 분포 및 서로 다른 변위치(quantile)에 대한 이상 비율(abnomaly ratio)를 나타낼 수 있다. 도 2는 정상 및 이상 분포가 오버랩됨을 나타낼 수 있다. 따라서, 더 많은 데이터에 대해서 오염률은 도 3과 같이 감소될 수 있다. Based on this concept, aggressive rejection can remove anomalies while sacrificing a significant amount of normal samples. Figures 2 and 3 may show the abnormality score distribution of 10% contaminated data and the abnormality ratio for different quantiles. Figure 2 can show that normal and abnormal distributions overlap. Therefore, for more data, the contamination rate can be reduced as shown in Figure 3.
일 실시예에 따른 이상치 검출 장치는 이하 설명되는 리젝션 방식이 적용된 손실 함수를 통해 학습의 정확도가 향상된 뉴럴 네트워크를 활용하여, 이상치 검출의 정확도를 향상시킬 수 있다. 수학식 1은 어그레시브 리젝션이 적용된 손실 함수를 나타낸다.An outlier detection device according to an embodiment can improve the accuracy of outlier detection by utilizing a neural network with improved learning accuracy through a loss function to which a rejection method is applied, which will be described below. Equation 1 represents the loss function to which aggressive rejection is applied.
여기서, 는 학습 데이터를 나타내고, 는 어그레시브 리젝션을 위한 가중치를 나타내고, 는 i번째 이상 점수를 나타내고, 는 q-변위차를 나타내고, 모델(예: 오토 인코더)를 나타낼 수 있다. 프로세서(200)는 어그레시브 리젝션을 통해 이상 점수가 보다 큰 데이터의 영향을 저감할 수 있다. 이 때, 이상 점수는 각각의 모델에 대하여 정의될 수 있다. 예를 들어, 이상 점수는 복원 오차(예를 들어, 에 기초하여 산출)일 수 있다. 도 3에서와 같이 q는 0.5에서 단조롭게 증가할 수 있다.here, represents the training data, represents the weight for aggressive rejection, represents the ith ideal score, represents the q-displacement difference, Can represent a model (e.g. autoencoder). The processor 200 determines the abnormal score through aggressive rejection. The impact of larger data can be reduced. At this time, the ideal score can be defined for each model. For example, the anomaly score can be calculated based on the reconstruction error (e.g. may be calculated based on . As shown in Figure 3, q may increase monotonically from 0.5.
프로세서(200)는 학습 데이터에 대한 소프트 리젝션을 수행할 수 있다. 어그레시브 리젝션이 오염률을 감소시킬 수 있지만, 많은 양의 정상 데이터를 제거하기 때문에 성능을 저하시킬 수 있다. 어그레시브 리젝션은 클린 데이터셋에 대한 열화를 야기할 수 있다. 이를 해결하기 위해, 리젝션 가중치 가 제2 하이퍼 파라미터 로 일부 조절될 수 있다. 수학식 2에서 에서 는 에 의존할 수 있다. 가중치는 수학식 2와 같이 나타낼 수 있다.The processor 200 may perform soft rejection on training data. Although aggressive rejection can reduce the contamination rate, it can reduce performance because it removes a large amount of normal data. Aggressive rejection can cause degradation of clean datasets. To solve this, the rejection weight A second hyperparameter It can be partially adjusted. In equation 2 at Is can depend on The weight can be expressed as Equation 2.
프로세서(200)는 에서 하드 리젝션(hard rejection)을 수행하여 리젝션 타겟을 완전히 배제하고, 에서 소프트 리젝션을 수행하여 리젝션 타겟의 샘플들을 이용하여 부분적으로 학습을 수행할 수 있다. Processor 200 is perform hard rejection to completely exclude the rejection target, By performing soft rejection, learning can be partially performed using samples of the rejection target.
낮은 는 클린 데이터셋에 대하여 낮은 성능을 나타낼 수 있고, 높은 는 강건함(robustness)를 감소시킬 수 있기 때문에 프로세서(200)는 적절한 값을 설정할 수 있다. 예를 들어, 모델은 가 0.1인 경우에 클린 데이터셋에 대하여 최소의 손실을 달성할 수 있고, 오염된 데이터셋에 대하여 강건한 특성을 가질 수 있다. low may exhibit low performance for clean datasets, and may exhibit low performance for clean datasets. may reduce robustness, so the processor 200 You can set the value. For example, the model is When is 0.1, minimal loss can be achieved for clean datasets and robustness can be achieved for polluted datasets.
도 4는 도 1의 이상 검출 장치에 사용되는 뉴럴 네트워크에 대한 학습 알고리즘의 예를 나타낸다.FIG. 4 shows an example of a learning algorithm for a neural network used in the anomaly detection device of FIG. 1.
도 4를 참조하면, 프로세서(예: 도 1의 프로세서(200))는 리젝션을 이용하여 이종 손실 함수를 구성할 수 있다. 샘플들은 뉴럴 네트워크 모델의 이상 점수 s가 보다 클 경우에 잠재적인 이상 샘플들로 구별될 수 있다.Referring to FIG. 4, a processor (eg, processor 200 of FIG. 1) may configure a heterogeneous loss function using rejection. The samples have an ideal score s of the neural network model. If larger, they can be distinguished as potential abnormal samples.
정상 샘플들에 대하여 는 1로 설정될 수 있고, 나머지 샘플들에 대해서는 로 설정될 수 있다.About normal samples can be set to 1, and for the remaining samples It can be set to .
미니 배치(mini batch)의 이상 점수는 그라디언트 파라미터 를 결정할 수 있다. 이상 점수는 수정된 z 점수(또는, z 점수) 및 입력 에 기초하여 로 변환될 수 있다.The ideal score of a mini batch is the gradient parameter can be decided. The anomaly score is the modified z-score (or z-score) and input based on can be converted to
뉴럴 네트워크 모델 파라미터는 소프트 리젝션 가중치 및 손실 함수 의 곱에 의해 생성된 손실을 이용하여 업데이트될 수 있다.Neural network model parameters are soft rejection weights and loss function It can be updated using the loss generated by the product of .
프로세서(200)가 사용하는 이종 손실 함수는 리젝션을 이용하기 위한 두 가지 조건을 만족시킬 수 있다.The heterogeneous loss function used by the processor 200 can satisfy two conditions for using rejection.
첫 번째 조건으로, 이종 손실 함수는 이상 손실 함수(abnormal loss function)를 최소화하지 않을 수 있다. 뉴럴 네트워크 모델이 손실을 최소화하도록 학습될 때, 리젝션 타겟의 정상 샘플들은 학습을 방해할 수 있기 때문이다.As a first condition, the heterogeneous loss function may not minimize the abnormal loss function. This is because when a neural network model is trained to minimize loss, normal samples of the rejection target may interfere with learning.
두 번째 조건으로, 정상 샘플들에 대해서는 뉴럴 네트워크 모델이 빠르게 수렴하도록 학습되고, 이상 샘플들은 정상 샘플들에 비하여 느리게 수렴하도록 학습될 수 있다.As a second condition, the neural network model can be trained to converge quickly for normal samples, and the neural network model can be trained to converge more slowly than normal samples.
프로세서(200)는 그라디언트를 조절함으로써 정상 데이터의 분포와 이상 데이터의 분포 사이의 차이를 최대화하도록 이종 손실 함수를 결정할 수 있다. Processor 200 may determine a heterogeneous loss function to maximize the difference between the distribution of normal data and the distribution of abnormal data by adjusting the gradient.
도 2에서 볼 수 있듯이, 정상 샘플들의 수는 이상 점수가 감소할수록 증가할 수 있다. 정상 샘플들에 대하여 더 많은 학습을 수행하고, 이상 샘플들에 대해서는 더 적은 학습을 수행하기 위해서 프로세서(200)는 이상 점수에 기초하여 그라디언트를 조절할 수 있다.As can be seen in Figure 2, the number of normal samples may increase as the abnormality score decreases. In order to perform more learning on normal samples and less learning on abnormal samples, the processor 200 may adjust the gradient based on the anomaly score.
프로세서(200)는 q 변위치 보다 큰 이상 점수를 잠재적인 이상 샘플로 취급하고, 나머지는 정상 샘플로 취급하여 MSE(Mean Squared Error) 손실을 적용할 수 있다. 이상 점수가 0.5 변위치에 근접할 경우, 이종 손실 함수는 MSE로 변경될 수 있다. 반대의 경우에 대하여, 프로세서(200)는 그라디언트 값을 낮출 수 있다.The processor 200 may treat abnormal scores greater than the q quantile as potential abnormal samples, and treat the remaining samples as normal samples to apply a Mean Squared Error (MSE) loss. If the anomaly score is close to 0.5 quantile, the heterogeneous loss function can be changed to MSE. In the opposite case, the processor 200 may lower the gradient value.
프로세서(200)는 그라디언트 파라미터가 제1 값인 경우 제1 손실 함수를 이종 손실 함수로 결정할 수 있다. 프로세서(200)는 그라디언트 파라미터가 제2 값인 경우 제2 손실 함수를 이종 손실 함수로 결정할 수 있다.When the gradient parameter is the first value, the processor 200 may determine the first loss function to be a heterogeneous loss function. When the gradient parameter is the second value, the processor 200 may determine the second loss function to be a heterogeneous loss function.
프로세서(200)는 이종 손실 함수로 수학식 3의 동적 그라디언트 손실 함수인 LGA를 이용하여 구성될 수 있다. LGA는 파라미터 를 이용하여 MSE 손실부터 Welsch 손실을 다루는 손실 함수일 수 있다.The processor 200 may be configured using LGA, a dynamic gradient loss function of Equation 3, as a heterogeneous loss function. LGA is a parameter It can be a loss function that handles from MSE loss to Welsch loss.
예를 들어, 제1 손실 함수는 수학식 3의 가 2인 경우를 나타낼 수 있고, 제2 손실 함수는 수학식 3의 가 1 또는 그 이외의 값인 경우를 나타낼 수 있다. For example, the first loss function is in Equation 3: can represent the case where is 2, and the second loss function is in Equation 3 It can indicate a case where is 1 or a value other than that.
이상 점수를 그라디언트 파라미터 에 투영시키기 위해서, 프로세서(200)는 z 점수를 이용할 수 있다. z 점수는 수학식 4와 같이 계산될 수 있으며, 는 학습 데이터를 나타내고, 는 학습 데이터의 평균, N은 학습 데이터의 개수, c는 제1 하이퍼 파라미터를 의미할 수 있다.Anomaly Score Gradient Parameter To project to , processor 200 may use the z-score. The z score can be calculated as Equation 4, represents the training data, may mean the average of the training data, N may mean the number of training data, and c may mean the first hyperparameter.
프로세서(200)는 데이터의 중앙값(median)에 기초하여 z 점수를 계산할 수 있다. 프로세서(200)는 데이터의 중앙값에 기초하여 상기 데이터의 MAD(Median Absolute Deviation)을 계산할 수 있다. 프로세서(200)는 MAD에 기초하여 z 점수를 계산할 수 있다.The processor 200 may calculate the z-score based on the median of the data. The processor 200 may calculate the Median Absolute Deviation (MAD) of the data based on the median value of the data. Processor 200 may calculate the z-score based on the MAD.
프로세서(200)는 z 점수의 절대값의 최대값 및 z 점수에 기초하여 그라디언트 파라미터를 결정할 수 있다. 프로세서(200)는 미리 결정된 상수와 z 점수의 절대값의 최대값 중에서 큰 값에 기초하여 그라디언트 파라미터를 결정할 수 있다.The processor 200 may determine the gradient parameter based on the z score and the maximum absolute value of the z score. The processor 200 may determine the gradient parameter based on the larger value between a predetermined constant and the maximum absolute value of the z-score.
z 점수는 중앙값을 이용하기 때문에 아웃라이어에 강건할 수 있다. z 점수는 정상 분포를 생성하고, 상대적인 거리를 가질 수 있다. z 점수는 3.5와 max(|z|) 중에서 최대값에 의해 정규화될 수 있고, 여기서, 3.5가 아웃라이어의 문턱값(threshold)일 수 있다. Because the z-score uses the median, it can be robust to outliers. The z scores produce a normal distribution and can have relative distances. The z score can be normalized by the maximum of 3.5 and max(|z|), where 3.5 can be the threshold for outliers.
프로세서(200)는 max(|z|)을 이용하여 m값을 정의할 수 있다. 정규화된 점수는 0부터 1까지의 범위를 가지고, 분산은 더 작은 값을 가질 수 있다. 3.5는 낮은 max(|z|) 값 대신에 사용되어 분산이 낮을 때 정규화된 z 값이 0에 가깝도록 만들 수 있다.The processor 200 may define the value m using max(|z|). Normalized scores range from 0 to 1, and variance can take on smaller values. 3.5 can be used instead of a lower max(|z|) value to make the normalized z value closer to 0 when the variance is low.
경계값으로 사용되는 3.5는 수렴을 가속시킬 수 있다. 정규화된 z는 수학식 5에 의해서 그라디언트 파라미터 로 변환될 수 있다.3.5 used as a boundary value can accelerate convergence. Normalized z is the gradient parameter according to Equation 5 can be converted to
여기서, 는 이상 점수를 나타내고, 는 z 점수를 나타낼 수 있다. 최저 그라디언트 손실을 위한 파라미터를 의미할 수 있다. 의 최소 값은 MSE(정상 손실 함수)에 매칭될 수 있다. 의 최대값은 강건한 손실 함수(예: 인 경우)에 가까울 수 있다. 의 부터 2까지의 범위를 가질 수 있다.here, represents the ideal score, may represent the z score. It may refer to a parameter for the lowest gradient loss. The minimum value of can be matched to a normal loss function (MSE). The maximum value of is a robust loss function, e.g. ) may be close to . of It can range from to 2.
이상 비율은 도 3의 예시와 같이 2차 함수(quadratic function)의 형태로 증가하기 때문에 수학식 5에서 z는 2차 함수의 형태로 적용될 수 있다.Since the abnormality ratio increases in the form of a quadratic function as shown in the example of FIG. 3, z in Equation 5 can be applied in the form of a quadratic function.
도 5는 이종 손실 함수를 설명하기 위한 그래프의 일 예를 나태내고, 도 6은 이종 손실 함수를 설명하기 위한 그래프의 다른 예를 나태낸다.Figure 5 shows an example of a graph for explaining a heterogeneous loss function, and Figure 6 shows another example of a graph for explaining a heterogeneous loss function.
도 5 및 도 6을 참조하면, 도 5 및 도 6의 그래프는 이고, 인 소프트 리젝션을 이용한 이종 손실 함수를 나타낼 수 있다. 도 5에서 가 작아질수록 그라디언트가 감소하는 것을 확인할 수 있다.Referring to Figures 5 and 6, the graphs of Figures 5 and 6 are ego, A heterogeneous loss function can be expressed using soft rejection. In Figure 5 It can be seen that as becomes smaller, the gradient decreases.
도 6은 이고, 인 경우의 이종 손실 함수의 예를 나타낼 수 있다. 잠재적인 이상 샘플들에 대해서 도 6의 음영 영역과 같이 MSE와 psuedo-Huber 손실 사이의 손실 함수가 사용될 수 있다.Figure 6 ego, An example of a heterogeneous loss function can be shown in the case of . For potential outlier samples, a loss function between MSE and psuedo-Huber loss can be used, as shown in the shaded area of Figure 6.
Z 값이 0에 가까운(예: 0.5 변위치)와 같은 최저의 이상치에 대해서는 소프트 리젝션을 이용한 MSE가 사용될 수 있다. Z 분포의 꼬리 부분인 가장 큰 이상치에 대해서는 소프트 리젝션을 이용한 psuedo-Huber 손실이 사용될 수 있다.For the lowest outliers, such as those with Z values close to 0 (e.g. 0.5 quantile), MSE with soft rejection can be used. For the largest outliers, which are the tails of the Z distribution, the psuedo-Huber loss using soft rejection can be used.
도 7은 다양한 손실 함수에 따른 AUROC(Area Under the Receiver Operating Characteristic)를 나타내는 표이고, 도 8 내지 도 10는 복수의 모델들의 오염률에 대한 AUROC의 일 예를 나타내고, 도 11 내지 도 13은 복수의 모델들의 오염률에 대한 AUROC의 다른 예를 나타내고, 도 14 내지 도 16은 복수의 모델들의 오염률에 대한 AUROC의 또 다른 예를 나타낸다.Figure 7 is a table showing AUROC (Area Under the Receiver Operating Characteristic) according to various loss functions, Figures 8 to 10 show an example of AUROC for the contamination rate of a plurality of models, and Figures 11 to 13 show a plurality of models. Shows another example of AUROC for the pollution rate of models, and Figures 14 to 16 show another example of AUROC for the pollution rate of a plurality of models.
도 7 내지 도 16을 참조하면, 기존의 손실 함수를 사용하는 뉴럴 네트워크 모델과 리젝션을 이용한 이종 손실 함수를 사용하는 뉴럴 네트워크 모델들 간의 성능이 비교될 수 있다.Referring to FIGS. 7 to 16, the performance can be compared between a neural network model using an existing loss function and a neural network model using a heterogeneous loss function using rejection.
데이터셋으로는 MNIST, F-MNIST(Fashion MNIST), CIFAR-10이 사용될 수 있다. MNIST 및 F-MNIST는 10 개의 클래스 및 28*28 스케일 이미지들로 구성될 수 있다. CIFAR-10은 10 개의 클래스의 32*32 컬러 이미지들로 구성될 수 있다.MNIST, F-MNIST (Fashion MNIST), and CIFAR-10 can be used as datasets. MNIST and F-MNIST can be composed of 10 classes and 28*28 scale images. CIFAR-10 can consist of 32*32 color images of 10 classes.
실험에서는 하나의 클래스가 정상으로 설정되고 나머지 클래스는 비정상으로 설정될 수 있다. 정상 데이터에 대해서 학습 데이터는 테스트 데이터의 두 배일 수 있고, 원본 학습 데이터의 10%는 검증(validation)을 위해 사용될 수 있다.In an experiment, one class may be set as normal and the remaining classes may be set as abnormal. For normal data, the training data can be twice the test data, and 10% of the original training data can be used for validation.
개의 이상 데이터가 추가될 수 있다. 여기서, 는 오염률을 의미하고, N은 정상 데이터의 수를 의미할 수 있다. 테스트 데이터의 30%는 이상 데이터로 구성될 수 있다. Abnormal data may be added. here, means the contamination rate, and N may mean the number of normal data. 30% of test data may consist of abnormal data.
뉴럴 네트워크 모델들 중에서 가장 낮은 검증 손실을 갖는 모델이 테스트 모델로 사용될 수 있다. 검증 손실은 어그레시브 리젝션 및 하드 리젝션에 의해 측정될 수 있다. 성능의 단위는 AUROC(Area Under Receiver Operating Characteristic)가 사용될 수 있다. 실험은 각 클래스를 정상으로 설정하고, 세 개의 서로 다른 시드(seed)들을 이용하는 평균 AUROC가 측정될 수 있다.Among neural network models, the model with the lowest verification loss can be used as a test model. Verification loss can be measured by aggressive rejection and hard rejection. The unit of performance may be AUROC (Area Under Receiver Operating Characteristic). In the experiment, each class is set to normal, and the average AUROC using three different seeds can be measured.
ITSR은 RVAE-ABFA 및 NCAE가 강건한 뉴럴 네트워크 모델로 채택될 수 있다. ITSR은 OC-SVM 및 AAE를 정제(refinement)를 위해 사용할 수 있다. RVAE-ABFA는 VAE 및 특징 적응에 기반한 어텐션을 채택함으로써 DAGMM를 발전시킨 네트워크를 의미할 수 있다. NCAE는 데이터셋의 정제를 위해서 생산적 적대 신경망(generative adversarial model)로부터 생성된 정상 샘플들을 사용할 수 있다.ITSR can be adopted as a neural network model to which RVAE-ABFA and NCAE are robust. ITSR can use OC-SVM and AAE for refinement. RVAE-ABFA can refer to a network that develops DAGMM by adopting attention based on VAE and feature adaptation. NCAE can use normal samples generated from a generative adversarial model to refine the dataset.
손실 함수들은 세 개의 기존 뉴럴 네트워크 모델들(예: AE, MemAE 및 DSVDD)에 기초하여 평가될 수 있다. DSVDD는 MSE를 사용하지만, 복원 오차가 상이할 수 있다. MemAE는 메모리 증대 손실(memory augmented loss)을 위한 추가적인 손실 함수 때문에 비교될 수 있다. MSE는 pseudo-Huber 손실, GA 손실 및 LOE 손실에 의해 대체될 수 있다. GA 손실은 이종 손실 함수가 z 분포를 이용하는 반면, 를 결정하기 위해 음의 로그 우도(negative log-likelihood)를 이용하기 때문에, GA 손실이 강건함에 어떠한 영향을 미치는지 설명하기 위해 사용될 수 있다. 도 7의 표에서 이종 손실 함수는 Hetero로 표기될 수 있다.Loss functions can be evaluated based on three existing neural network models (eg AE, MemAE and DSVDD). DSVDD uses MSE, but the reconstruction error may be different. MemAE can be compared because of an additional loss function for memory augmented loss. MSE can be replaced by pseudo-Huber loss, GA loss and LOE loss. The GA loss uses the z distribution, whereas the heterogeneous loss function uses the z distribution. Since negative log-likelihood is used to determine , it can be used to explain how GA loss affects robustness. In the table of FIG. 7, the heterogeneous loss function can be expressed as Hetero.
MNIST 및 F-MNIST에 대하여 인코더는 세 개의 컨볼루션을 포함할 수 있다. 디코더는 세 개의 디컨볼루션(deconvolution)을 포함할 수 있다. 마지막 디컨볼루션을 제외하고 다른 디컨볼루션 또는 컨볼루션은 배치 정규화(batch normalization), 리키 ReLU(leaky Rectified Linear Unit)를 포함할 수 있다.For MNIST and F-MNIST, the encoder may contain three convolutions. The decoder may include three deconvolutions. Except the last deconvolution, other deconvolutions or convolutions may include batch normalization, leaky Rectified Linear Unit (ReLU).
CIFAR-10 데이터에 대하여, 인코더 및 디코더는 상이한 커널 및 스트라이드 크기를 갖는 MNIST의 구성과 4 개의 유사한 레이어들을 포함할 수 있다. 나머지 모델들에 대해서, 32, 128 표현 차원(representation dimension)을 갖는 LeNET 기반의 컨볼루션 뉴럴 네트워크가 사용될 수 있다.For CIFAR-10 data, the encoder and decoder may include four layers similar to the configuration of MNIST with different kernel and stride sizes. For the remaining models, a LeNET-based convolutional neural network with 32 or 128 representation dimensions can be used.
RVAE-ABFA는 연산 오차 때문에 32 차원만 사용할 수 있다. 배치 크기 및 에포크는 ITSR, NCAE 및 DSVDD를 제외하고 각각 100 및 300으로 설정될 수 있다. ITSR은 첫 번째 100 에포크 후에 매 10 에포크 마다 데이터를 정제할 수 있고, 100 에포크를 이용하여 정제된 데이터에 대하여 학습될 수 있다.RVAE-ABFA can only use 32 dimensions due to computational errors. Batch size and epoch can be set to 100 and 300 respectively except for ITSR, NCAE and DSVDD. ITSR can refine data every 10 epochs after the first 100 epochs, and can be trained on the refined data using 100 epochs.
파라미터들은 0.0001의 학습률 및 10^-6 가중치 감쇠(weight decay)를 이용하여 Adam optimizer에 의해 업데이트될 수 있다. 이종 손실에서 파라미터 , 및 c는 각각 0.5, 1.5 및 일 수 있다.Parameters can be updated by the Adam optimizer using a learning rate of 0.0001 and a weight decay of 10^-6. Parameters in heterogeneous loss , and c are 0.5, 1.5 and It can be.
이종 손실 함수를 평가하기 위해서, 강건한 손실 함수들이 사용될 수 있다. 도 7은 클린 데이터셋(=0) 및 오염된 데이터셋(=0.2)에 대한 AUROC를 나타낼 수 있다. 가장 높은 AUROC는 볼드 처리되었다.To evaluate heterogeneous loss functions, robust loss functions can be used. Figure 7 shows the clean dataset ( =0) and contaminated dataset ( =0.2) can represent the AUROC. The highest AUROC is bolded.
클린 데이터셋에 대한 비교 결과, 비교 방법들은 MNIST를 이용한 AE를 제외하고는 MSE에 비하여 최소의 AUROC 손실을 나타낼 수 있다. 클린 데이터셋에 대한 이종 손실 함수는 MSE와 비교하여 0.01 내의 유사한 성능을 나타낼 수 있다. pseudo-Huber, GA, 및 LOE을 이용한 AE의 성능은 강건함을 크게 향상시키지 않을 수 있다. 하지만, 이종 손실 함수를 이용한 AE는 0.045의 강건함을 달성함을 확인할 수 있다. F-MNIST에 대한 DSVDD가 이종 손실을 이용하여 학습될 때, 가장 효과적인 결과를 나타낼 수 있다. LOE는 이상 손실 함수를 최대함으로써 이종 손실 함수의 성능과 유사한 성능을 나타낼 수 있다. CIFAR-10은 MNIST 또는 F-MNIST에 비하여 하드 데이터셋(hard dataset)이기 때문에 클린 데이터셋에 대한 AUROC가 낮을 수 있다. 따라서, 강건함이 크게 향상되지 않을 수 있다. 이종 손실 함수는 20%의 오염된 데이터에 대해서는 전체적인 손실 함수들에 비하여 0.002, 0.084 수준으로 더욱 강건할 수 있다.As a result of comparison on clean datasets, the compared methods can show minimal AUROC loss compared to MSE, except for AE using MNIST. Heterogeneous loss functions on clean datasets can exhibit similar performance within 0.01 compared to MSE. The performance of AE using pseudo-Huber, GA, and LOE may not significantly improve robustness. However, it can be confirmed that AE using a heterogeneous loss function achieves a robustness of 0.045. When DSVDD for F-MNIST is learned using heterogeneous loss, it can produce the most effective results. LOE can exhibit performance similar to that of a heterogeneous loss function by maximizing an abnormal loss function. Because CIFAR-10 is a hard dataset compared to MNIST or F-MNIST, the AUROC for clean datasets may be lower. Therefore, robustness may not be significantly improved. The heterogeneous loss function can be more robust to 20% contaminated data at the level of 0.002 and 0.084 compared to the overall loss functions.
도 8 내지 도 16은 오염률에 의존하는 강건한 손실 함수들의 AUROC를 시각화한 결과를 나타낼 수 있다. 이종 손실 함수는 AE 및 MemAE의 경우에 가장 강건한 결과를 달성할 수 있다. F-MNIST, LOE에 대한 DSVDD의 경우에, 오염률이 10% 이하인 경우에 이종 손실 함수를 능가할 수 있지만, =0.2인 경우에 이종 손실 함수가 LOE를 능가할 수 있다. LOE는 값이 실제 와 동일할 때 가장 높은 성능을 달성할 수 있다. LOE는 이상 손실 함수를 최대함으로써 강건함을 달성할 수 있지만, =0.1 가정이 강건함을 제한할 수 있다. DSVDD는 복원 오차에 기반한 모델이 아니기 때문에, =0.2인 경우를 제외하고는 MSE 및 GA 손실이 CIFA-10에 대하여 강건함을 나타낼 수 있다. 실험은 이종 손실 함수가 서로 다른 MSE 기반의 AD 모델들에 적용될 수 있고, 높은 강건함 및 클린 데이터셋에 대하여 최소의 AUROC 손실을 나타냄을 증명할 수 있다.Figures 8 to 16 may show the results of visualizing the AUROC of robust loss functions depending on the contamination rate. Heterogeneous loss functions can achieve the most robust results in the cases of AE and MemAE. In the case of DSVDD for F-MNIST and LOE, it can outperform the heterogeneous loss function when the contamination rate is below 10%; For =0.2, the heterogeneous loss function can outperform LOE. LOE is value is actual The highest performance can be achieved when is equal to . LOE can achieve robustness by maximizing the anomaly loss function; =0.1 assumption may limit robustness. Because DSVDD is not a model based on reconstruction error, Except for the case of =0.2, MSE and GA losses can be shown to be robust to CIFA-10. Experiments can demonstrate that the heterogeneous loss function can be applied to different MSE-based AD models and exhibits high robustness and minimal AUROC loss for clean datasets.
도 17은 다양한 뉴럴 네트워크 모델들의 따른 AUROC를 나타내는 표이고, 도 18 내지 도 20는 도 1의 복수의 모델들의 뉴럴 네트워크 모델의 오염률에 대한 AUROC을 비교한 예들을 나타낸다.Figure 17 is a table showing the AUROC according to various neural network models, and Figures 18 to 20 show examples of comparing the AUROC for the contamination rate of the neural network model of the plurality of models in Figure 1.
도 17 내지 도 20을 참조하면, 이종 손실을 이용한 표준 모델들이 강건한 뉴럴 네트워크 모델과 비교될 수 있다. 도 17의 표는 서로 다른 오염률에 대한 AUROC 비교 결과를 나타낼 수 있다. NCAE가 클린 데이터셋에 비하여 오염 데이터셋의 AUROC의 낮은 감소를 나타낼 수 있지만, 성능이 부족할 수 있다. ITSR 및 RVAE-ABFA는 AE 및 MemAE에 비하여 더욱 강건한 성능을 나타낼 수 있다. 하지만, 이종 손실 함수는 ITSR에 비하여 AE 및 MemAE에 대하여 0.05 정도로 강건함을 향상시킬 수 있다. 이종 손실 함수를 이용한 DSVDD는 RVAE-ABFA와 유사한 결과를 나타낼 수 있고, MNIST에 대하여 가장 강건한 결과를 나타낼 수 있다. RVAE-ABFA는 F-MNIST에 대해서는 다른 방식들에 비하여 가장 높은 AUROC를 나타낼 수 있지만, 이종 손실 함수를 이용한 DSVDD는 0.012 더 높은 강건함을 나타낼 수 있다. 이종 손실 함수는 CIFAR-10에 대하여 가장 높은 강건함을 달성할 수 있다. 실험 결과들은 이종 손실 함수가 다른 강건한 뉴럴 네트워크 모델에 필적하는 성능을 나타낸다는 것을 보여줄 수 있다. 도 18 내지 도 20은 다양한 오염률에 따른 뉴럴 네트워크 모델들의 강건함을 나타낼 수 있다. MNIST 및 F-MNIST 데이터셋에 대해서, RVAE-ABFA는 가장 강건한 성능을 나타내지만, 이종 손실 함수가 이와 가장 유사한 성능을 나타냄을 확인할 수 있다. 오염률이 증가할 경우, RVAE-ABFA와 이종 손실 함수를 이용하여 DSVDD의 차이는 줄어들 수 있다. CIFAR-10의 경우에, DSVDD는 RVAE-ABFA를 능가하고, 이종 손실 함수는 MemAE를 RVAE-ABFA와 유사한 성능을 갖도록 만들 수 있다. 다른 강건 뉴럴 네트워크 모델들과 비교하여, 이종 손실 함수가, 추론 시간의 증가 및 구조의 수정 없이 높은 강건함을 달성하게 함을 확인할 수 있다.17 to 20, standard models using heterogeneous loss can be compared with a robust neural network model. The table in Figure 17 can show the AUROC comparison results for different contamination rates. Although NCAE may show lower reduction in AUROC for contaminated datasets compared to clean datasets, its performance may be lacking. ITSR and RVAE-ABFA can exhibit more robust performance compared to AE and MemAE. However, the heterogeneous loss function can improve robustness to about 0.05 for AE and MemAE compared to ITSR. DSVDD using a heterogeneous loss function can show similar results to RVAE-ABFA and can show the most robust results for MNIST. RVAE-ABFA can show the highest AUROC compared to other methods for F-MNIST, but DSVDD using a heterogeneous loss function can show 0.012 higher robustness. Heterogeneous loss functions can achieve the highest robustness for CIFAR-10. Experimental results can show that the heterogeneous loss function exhibits performance comparable to other robust neural network models. 18 to 20 can show the robustness of neural network models according to various contamination rates. For the MNIST and F-MNIST datasets, RVAE-ABFA shows the most robust performance, but it can be seen that the heterogeneous loss function shows the most similar performance. When the contamination rate increases, the difference in DSVDD can be reduced by using RVAE-ABFA and the heterogeneous loss function. For CIFAR-10, DSVDD outperforms RVAE-ABFA, and the heterogeneous loss function can make MemAE have similar performance to RVAE-ABFA. Compared to other robust neural network models, it can be seen that the heterogeneous loss function achieves high robustness without increasing inference time and modifying the structure.
도 21은 이종 손실 함수에 대한 제거 연구 결과를 나타내고, 도 22는 이종 손실 함수 및 소프트 리젝션의 민감도를 설명하기 위한 그래프이다.Figure 21 shows the results of a removal study for the heterogeneous loss function, and Figure 22 is a graph to explain the sensitivity of the heterogeneous loss function and soft rejection.
도 21 및 도 22를 참조하면, 실험에서 각각의 컴포넌트들이 제거된 후의 영향이 측정될 수 있다. 클린 데이터셋 및 오염된 데이터 셋의 MNIST에서의 성능은 도 21의 표와 같이 나타낼 수 있다. 및 는 소프트 또는 하드 리젝션을 이용한 어그레시브 리젝션의 영향을 결정하는 핵심 구성 요소일 수 있다. 손실 함수 또는 손실 함수의 값은 와 같이 나타낼 수 있고, 은 손실 함수를 나타내고 는 변위치를 나타내고, 는 리젝션의 정도(degree)를 나타낼 수 있다.Referring to Figures 21 and 22, the impact after each component is removed in the experiment can be measured. The performance of clean and contaminated data sets in MNIST can be expressed as the table in FIG. 21. and can be a key component in determining the impact of aggressive rejection using soft or hard rejection. The loss function or the value of the loss function is It can be expressed as, represents the loss function and Is Indicates the displacement position, may represent the degree of rejection.
하드 리젝션- MSE(0.5,0)은 오염된 데이터에 대해서 표준 손실- MSE(1,1)보다 더욱 강건한 결과를 나타낼 수 있다. 하지만, 클린 데이터셋에 대한 하드 리젝션은 AE (0.115), MemAE (0.134) 및 DSVDD (0.045)의 상당한 성능의 열화를 나타낼 수 있다. 이는 많은 정상 샘플들이 배제되기 때문이고, 클린 데이터셋에 대하여 부정적인 영향을 미치기 때문일 수 있다. 소프트 리젝션- MSE(0.5,0.1)은 하락을 보완할 수 있다. 이는 클린 데이터셋 상에서 MSE에 필적하는 AUROC를 나타낼 수 있다. 제외된 정상 샘플들이 학습에 일부 사용됨으로써 소프트 리젝션이 AE, MemAE 및 DSVDD의 강건함을 각각 0.045, 0.07 및 0.044만큼 향상시킬 수 있다.Hard rejection - MSE(0.5,0) can produce more robust results for contaminated data than standard loss - MSE(1,1). However, hard rejection on a clean dataset can result in significant performance degradation for AE (0.115), MemAE (0.134), and DSVDD (0.045). This may be because many normal samples are excluded and has a negative impact on clean datasets. Soft Rejection - MSE (0.5, 0.1) can compensate for the decline. This can result in AUROC comparable to MSE on clean datasets. By using some excluded normal samples for training, soft rejection can improve the robustness of AE, MemAE, and DSVDD by 0.045, 0.07, and 0.044, respectively.
어그레시브 리젝션을 수행하지 않는 이종 손실 함수는 도 21에서 Hetero(1,1)로 지칭될 수 있다. 이는 베이스라인 MSE 보다 나은 성능을 나타내고, MSE(0.5,0.1)를 이용한 MemAE 보다 강건한 성능을 나타낼 수 있다. 게다가, 어그레시브 리젝션을 이용한 Hetero(0.5, 0.1)는 AE 및 MemAE에 대하여 MSE (0.5, 0.1) 대비 각각 0.008 및 0.15의 성능 향상을 나타낼 수 있다. 실험은 정상과 이상 데이터 사이의 차이가 미니 배치 분포에 기초한 그라디언트 적응에 의해 야기될 수 있음을 나타낼 수 있다.A heterogeneous loss function that does not perform aggressive rejection may be referred to as Hetero(1,1) in FIG. 21. This shows better performance than the baseline MSE and can show more robust performance than MemAE using MSE(0.5, 0.1). In addition, Hetero(0.5, 0.1) using aggressive rejection can show performance improvements of 0.008 and 0.15 compared to MSE (0.5, 0.1) for AE and MemAE, respectively. Experiments can indicate that differences between normal and abnormal data may be caused by gradient adaptation based on mini-batch distributions.
이종 손실 함수는 소프트 리젝션을 ts에 덜 민감하게 만들 수 있다. 이종 손실 함수가 그라디언트 적응 때문에 강건한 반면, 소프트 리젝션은 =1인 경우 비-강건한 손실 함수 MSE로 바뀔 수 있다. 소프트 리젝션을 이용한 이종 손실 함수 및 MSE의 민감도는 도 22와 같이 나타낼 수 있다. 소프트 리젝션은 의 증가에 따라 효과가 적어지는 것을 확인할 수 있다. 하지만, MSE에 비하여 덜 민감한 이종 손실 함수의 경우 20% 오염된 데이터 상에서 = 0.1과 =0.5 사이의 차이를 적게 만들 수 있다.Heterogeneous loss functions can make soft rejection less sensitive to ts. While the heterogeneous loss function is robust due to gradient adaptation, soft rejection If =1, it can be replaced with a non-robust loss function MSE. The sensitivity of the heterogeneous loss function and MSE using soft rejection can be expressed as shown in Figure 22. Soft rejection is It can be seen that the effect decreases as . However, in the case of the heterogeneous loss function, which is less sensitive than MSE, on 20% contaminated data = 0.1 and You can make the difference between =0.5 smaller.
도 23은 도 1에 도시된 이상 검출 장치의 동작의 흐름도를 나타낸다.FIG. 23 shows a flowchart of the operation of the abnormality detection device shown in FIG. 1.
도 23을 참조하면, 수신기(100)는 정상 또는 이상 여부를 검출할 데이터를 수신할 수 있다(2310).Referring to FIG. 23, the receiver 100 may receive data to detect whether it is normal or abnormal (2310).
프로세서(200)는 수신기(100)로부터 수신한 데이터를 미리 학습된 뉴럴 네트워크에 입력함으로써 데이터의 정상 또는 이상 여부를 검출할 수 있다(2330). 예를 들어, 프로세서(200)는 앞서 설명된 이종 손실 함수를 최소화하는 방향으로 학습된 뉴럴 네트워크에 데이터를 입력함으로써, 데이터의 이상 여부를 검출할 수 있으며, 이종 손실 함수는 앞서 설명된 수학식 3 내지 수학식 5에 기초하여 산출되는 함수일 수 있다.The processor 200 can detect whether the data is normal or abnormal by inputting the data received from the receiver 100 into a pre-trained neural network (2330). For example, the processor 200 can detect abnormalities in the data by inputting data into a neural network learned to minimize the heterogeneous loss function described above, and the heterogeneous loss function is Equation 3 described above. It may be a function calculated based on Equation 5.
실시예에 따라서, 프로세서(200)는 이상치 탐지에 활용되는 뉴럴 네트워크를 학습시키기 위하여 이종 손실 함수와 더불어, 앞서 설명된 리젝션을 적용한 손실 함수를 적용할 수 있으며, 리젝션을 적용하는 과정은, 앞서 설명된 수학식 1 내지 수학식 3을 통해 설명된 바와 동일할 수 있다.Depending on the embodiment, the processor 200 may apply a loss function to which the rejection described above is applied in addition to a heterogeneous loss function to learn a neural network used for outlier detection, and the process of applying rejection is: It may be the same as described through Equation 1 to Equation 3 described above.
도 24는 도 1에 도시된 이상 검출 장치를 학습시키는 동작의 흐름도를 나타낸다.FIG. 24 shows a flowchart of an operation for training the anomaly detection device shown in FIG. 1.
도 24를 참조하면, 수신기(100)는 학습 데이터를 수신할 수 있다(2410).Referring to FIG. 24, the receiver 100 may receive training data (2410).
프로세서(200)는 수신기(100)로부터 수신한 학습 데이터의 이상 점수에 기초하여 그라디언트 파라미터(gradient parameter)를 결정할 수 있다(2430). 프로세서(200)는 학습 데이터의 복원 오차에 기초하여 이상 점수를 계산할 수 있다.The processor 200 may determine a gradient parameter based on the anomaly score of the training data received from the receiver 100 (2430). The processor 200 may calculate an anomaly score based on the restoration error of the learning data.
프로세서(200)는 학습 데이터의 중앙값(median)에 기초하여 z 점수를 계산할 수 있다. 프로세서(200)는 학습 데이터의 중앙값에 기초하여 상기 데이터의 MAD(Median Absolute Deviation)을 계산할 수 있다. 프로세서(200)는 MAD에 기초하여 z 점수를 계산할 수 있다.The processor 200 may calculate the z-score based on the median of the training data. The processor 200 may calculate the Median Absolute Deviation (MAD) of the data based on the median of the training data. Processor 200 may calculate the z-score based on the MAD.
프로세서(200)는 z 점수의 절대값의 최대값 및 z 점수에 기초하여 그라디언트 파라미터를 결정할 수 있다. 프로세서(200)는 미리 결정된 상수와 z 점수의 절대값의 최대값 중에서 큰 값에 기초하여 그라디언트 파라미터를 결정할 수 있다.The processor 200 may determine the gradient parameter based on the z score and the maximum absolute value of the z score. The processor 200 may determine the gradient parameter based on the larger value between a predetermined constant and the maximum absolute value of the z-score.
프로세서(200)는 그라디언트 파라미터에 기초하여 이종 손실 함수(heterogeneous loss function)를 결정할 수 있다(2450).The processor 200 may determine a heterogeneous loss function based on the gradient parameter (2450).
프로세서(200)는 그라디언트 파라미터가 제1 값인 경우 제1 손실 함수를 이종 손실 함수로 결정할 수 있다. 프로세서(200)는 그라디언트 파라미터가 제2 값인 경우 제2 손실 함수를 이종 손실 함수로 결정할 수 있다.When the gradient parameter is the first value, the processor 200 may determine the first loss function to be a heterogeneous loss function. When the gradient parameter is the second value, the processor 200 may determine the second loss function to be a heterogeneous loss function.
프로세서(200)는 데이터를 제1 하이퍼 파라미터로 나눈 값에 기초하여 제1 손실 함수 및 제2 손실 함수를 결정할 수 있다.The processor 200 may determine a first loss function and a second loss function based on a value divided by the data by the first hyperparameter.
프로세서(200)는 이종 손실 함수에 기초하여 이상치를 검출하는 인공 신경망을 학습시킬 수 있다(2470). 예를 들어, 프로세서(200)는 산출된 이종 손실 함수를 최소화하는 방향으로 인공 신경망을 학습시킬 수 있다. 또한, 이종 손실 함수는 앞서 설명된 수학식 3 내지 수학식 5에 기초하여 산출되는 함수일 수 있다.The processor 200 may train an artificial neural network that detects outliers based on a heterogeneous loss function (2470). For example, the processor 200 may train the artificial neural network in a way that minimizes the calculated heterogeneous loss function. Additionally, the heterogeneous loss function may be a function calculated based on Equations 3 to 5 described above.
또한, 프로세서(200)는 앞선 도 4에서 설명된 리젝션이 적용된 손실함수에 기초하여 이상치를 탐지하는 인공 신경망을 학습시킬 수 있으며, 리젝션은 앞서 설명된 어그레시브 리젝션 또는 소프트 리젝션 중 어느 하나로 구현될 수 있음은 통상의 기술자가 이해할 것이다.In addition, the processor 200 can train an artificial neural network to detect outliers based on a loss function to which the rejection described in FIG. 4 is applied, and the rejection is one of the aggressive rejection or soft rejection described above. It will be understood by those skilled in the art that this can be implemented.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. A processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media 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 floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.
Claims (12)
- 이종 손실 함수를 이용한 이상 검출(anomaly detection) 장치에 있어서,In an anomaly detection device using a heterogeneous loss function,정상 또는 이상 여부를 검출할 데이터를 수신하는 수신기; 및A receiver that receives data to detect whether it is normal or abnormal; and상기 데이터를 미리 학습된 뉴럴 네트워크에 입력함으로써, 상기 데이터에 대한 이상 여부를 검출하는 프로세서A processor that detects abnormalities in the data by inputting the data into a pre-trained neural network.를 포함하고,Including,상기 미리 학습된 뉴럴 네트워크는,The pre-trained neural network is,학습 데이터의 이상 점수에 기초하여 결정되는 그라디언트 파라미터(gradient parameter)를 이용하여 계산되는 이종 손실 함수를 통해 학습되는, 이상 검출 장치. An anomaly detection device that is learned through a heterogeneous loss function calculated using a gradient parameter determined based on the anomaly score of the learning data.
- 제1항에 있어서,According to paragraph 1,상기 이상 점수는, The above abnormal score is,복원 오차에 기초하여 산출되는,Calculated based on the restoration error,이상 검출 장치.Anomaly detection device.
- 제1항에 있어서,According to paragraph 1,상기 그라디언트 파라미터는,The gradient parameter is,상기 학습 데이터의 중앙값(median)에 기초하여 계산되는 z 점수 및 상기 z 점수의 절대값의 최대값에 기초하여 산출되는,Calculated based on the z score calculated based on the median of the learning data and the maximum absolute value of the z score,이상 검출 장치.Anomaly detection device.
- 제3항에 있어서,According to paragraph 3,상기 z 점수는,The z score is,상기 학습 데이터의 중앙값에 기초하여 계산되는 상기 학습 데이터의 MAD(Median Absolute Deviation)에 기초하여 산출되는,Calculated based on the MAD (Median Absolute Deviation) of the learning data, which is calculated based on the median of the learning data,이상 검출 장치.Anomaly detection device.
- 제3항에 있어서,According to paragraph 3,상기 그라디언트 파라미터는, The gradient parameter is,미리 결정된 상수와 상기 최대값 중에서 큰 값에 기초하여 결정되는,Determined based on the larger value of a predetermined constant and the maximum value,이상 검출 장치.Anomaly detection device.
- 제3항에 있어서,According to paragraph 3,상기 이종 손실 함수는 수학식 1 내지 수학식 3에 기초하여 결정되고,The heterogeneous loss function is determined based on Equation 1 to Equation 3,상기 수학식 1은,Equation 1 above is:상기 수학식 2는,Equation 2 above is:상기 수학식 3은,Equation 3 above is:는 학습 데이터를 나타내고, 는 학습 데이터의 평균, N은 학습 데이터의 개수, c는 제1 하이퍼 파라미터이고, 는 이상 점수를 나타내고, 는 z 점수이고, 최저 그라디언트 손실을 위한 파라미터를 의미하는, 이상 검출 장치. represents the training data, is the average of the training data, N is the number of training data, c is the first hyperparameter, represents the ideal score, is the z score, Anomaly detection device, which refers to the parameters for lowest gradient loss.
- 제1항에 있어서,According to paragraph 1,상기 이상 점수는, The above abnormal score is,상기 복원 오차에 기초하여 계산되는, 이상 검출 장치.An abnormality detection device calculated based on the restoration error.
- 제1항에 있어서,According to paragraph 1,상기 이상 점수가 미리 결정된 값보다 큰 경우, 상기 리젝션 가중치는 제1 수치로 결정되고,If the anomaly score is greater than a predetermined value, the rejection weight is determined as a first value,상기 이상 점수가 미리 결정된 값보다 작거나 같은 경우, 상기 리젝션 가중치는 제2 수치로 결정되는, If the abnormality score is less than or equal to a predetermined value, the rejection weight is determined as a second value,이상 검출 장치.Anomaly detection device.
- 제8항에 있어서,According to clause 8,상기 제1 수치는,The first number is,0 또는 1보다 작은 값으로 결정되고,It is determined as a value less than 0 or 1,상기 제2 수치는,The second figure is,1로 결정되는,determined by 1,이상 검출 장치. Anomaly detection device.
- 제8항에 있어서,According to clause 8,상기 손실 함수는 수학식 4 내지 수학식 5에 기초하여 결정되고,The loss function is determined based on Equation 4 to Equation 5,상기 수학식 4은,Equation 4 above is:상기 수학식 2는,Equation 2 above is:이고,ego,는 학습 데이터를 나타내고, 는 리젝션 가중치를 나타내고, 는 q-변위차를 나타내고, L은 손실 함수를 나타내고, 모델(예: 오토 인코더)를 나타내고, 는 하이퍼 파라미터를 나타내는, 이상 검출 장치. represents the training data, represents the rejection weight, represents the q-displacement difference, L represents the loss function, Indicates the model (e.g. autoencoder), represents a hyperparameter, an anomaly detection device.
- 이상 검출(anomaly detection)하는 방법에 있어서,In a method of anomaly detection,정상 또는 이상 여부를 검출할 데이터를 수신하는 단계; 및Receiving data to detect whether it is normal or abnormal; and미리 학습된 뉴럴 네트워크에 상기 데이터를 입력함으로써, 상기 데이터의 이상 여부를 검출하는 단계Detecting whether there is an abnormality in the data by inputting the data into a pre-trained neural network를 포함하고,Including,상기 미리 학습된 뉴럴 네트워크는,The pre-trained neural network is,학습 데이터의 이상 점수에 기초하여 결정되는 그라디언트 파라미터(gradient parameter)를 통해 산출되는 이종 손실 함수에 기초하여 학습되는,Learned based on a heterogeneous loss function calculated through a gradient parameter determined based on the abnormality score of the learning data.를 통해 학습되는, 이상 검출 방법.An anomaly detection method learned through.
- 이종 손실 함수를 이용한 학습 방법에 있어서,In a learning method using a heterogeneous loss function,학습 데이터를 수신하는 단계; 및Receiving training data; and상기 학습 데이터의 이상 점수에 기초하여 그라디언트 파라미터(gradient parameter)를 결정하는 단계;determining a gradient parameter based on the abnormality score of the learning data;상기 그라디언트 파라미터에 기초하여 이종 손실 함수(heterogeneous loss function)를 결정하는 단계; 및determining a heterogeneous loss function based on the gradient parameters; and상기 이종 손실 함수에 기초하여 인공 신경망을 학습시키는 단계Learning an artificial neural network based on the heterogeneous loss function를 포함하는 학습 방법.Learning methods including.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220125615 | 2022-09-30 | ||
KR10-2022-0125615 | 2022-09-30 | ||
KR1020220165353A KR102506991B1 (en) | 2022-09-30 | 2022-12-01 | Apparatus of anomaly detection using neural network trained using rejection |
KR10-2022-0165352 | 2022-12-01 | ||
KR1020220165352A KR102506988B1 (en) | 2022-09-30 | 2022-12-01 | Apparatus of anomaly detection using neural network trained using heterogeneous loss function |
KR10-2022-0165353 | 2022-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024071728A1 true WO2024071728A1 (en) | 2024-04-04 |
Family
ID=85513641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/013473 WO2024071728A1 (en) | 2022-09-30 | 2023-09-08 | Anomaly detection device using neural network learned using heterogeneous loss function |
Country Status (2)
Country | Link |
---|---|
KR (2) | KR102506991B1 (en) |
WO (1) | WO2024071728A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117906960B (en) * | 2023-12-14 | 2024-11-29 | 中国人民解放军海军航空大学 | Aircraft engine status detection method, system, electronic equipment and storage medium |
CN118784304B (en) * | 2024-07-02 | 2025-02-14 | 中南民族大学 | A detection method for collusion interest flooding attacks in named data networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200120622A (en) * | 2019-04-08 | 2020-10-21 | 주식회사 마키나락스 | Outlier detection using deep learning neural network (NOVELTY DETECTION USING DEEP LEARNING NEURAL NETWORK) |
KR20220022329A (en) * | 2020-08-18 | 2022-02-25 | 연세대학교 산학협력단 | Anomaly Detection Apparatus Using Loss Function Based on Latent Feature Dispersion and Method Thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10915602B2 (en) * | 2015-03-18 | 2021-02-09 | Micro Focus Llc | Automatic detection of outliers in multivariate data |
KR102203252B1 (en) * | 2018-10-19 | 2021-01-14 | 네이버 주식회사 | Method and system for collaborative filtering based on generative adversarial networks |
KR102271740B1 (en) * | 2020-09-11 | 2021-07-02 | 주식회사 뉴로클 | Method and apparatus for anomaly detection |
US12229920B2 (en) * | 2020-09-17 | 2025-02-18 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems, methods, and apparatuses for implementing fixed-point image-to-image translation using improved generative adversarial networks (GANs) |
US12079312B2 (en) * | 2020-09-30 | 2024-09-03 | Microsoft Technology Licensing, Llc | Machine learning outlier detection using weighted histogram-based outlier scoring (W-HBOS) |
EP4244767A1 (en) * | 2020-11-16 | 2023-09-20 | Umnai Limited | Method for an explainable autoencoder and an explainable generative adversarial network |
-
2022
- 2022-12-01 KR KR1020220165353A patent/KR102506991B1/en active Active
- 2022-12-01 KR KR1020220165352A patent/KR102506988B1/en active Active
-
2023
- 2023-09-08 WO PCT/KR2023/013473 patent/WO2024071728A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200120622A (en) * | 2019-04-08 | 2020-10-21 | 주식회사 마키나락스 | Outlier detection using deep learning neural network (NOVELTY DETECTION USING DEEP LEARNING NEURAL NETWORK) |
KR20220022329A (en) * | 2020-08-18 | 2022-02-25 | 연세대학교 산학협력단 | Anomaly Detection Apparatus Using Loss Function Based on Latent Feature Dispersion and Method Thereof |
Non-Patent Citations (3)
Title |
---|
"Topics in cryptology - CT-RSA 2020 : the Cryptographers' Track at the RSA Conference 2020, San Francisco, CA, USA, February 24-28, 2020", vol. 13, 30 April 2020, SPRINGER, 201 Olin Library Cornell University Ithaca, NY 14853, article BEGGEL LAURA; PFEIFFER MICHAEL; BISCHL BERND: "Robust Anomaly Detection in Images Using Adversarial Autoencoders", pages: 206 - 222, XP047550313, DOI: 10.1007/978-3-030-46150-8_13 * |
ANONYMOUS: "HETEROGENEOUS LOSS FUNCTION WITH AGGRES-SIVE REJECTION FOR CONTAMINATED DATA IN ANOMALY DETECTION", CONFERENCE PAPER AT ICLR 2023, 22 September 2022 (2022-09-22), pages 1 - 19, XP093155218, Retrieved from the Internet <URL:https://openreview.net/pdf?id=jD2jOzx1aef> * |
CHEN QIU; AODONG LI; MARIUS KLOFT; MAJA RUDOLPH; STEPHAN MANDT: "Latent Outlier Exposure for Anomaly Detection with Contaminated Data", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 16 February 2022 (2022-02-16), 201 Olin Library Cornell University Ithaca, NY 14853, XP091160927 * |
Also Published As
Publication number | Publication date |
---|---|
KR102506991B1 (en) | 2023-03-07 |
KR102506988B1 (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024071728A1 (en) | Anomaly detection device using neural network learned using heterogeneous loss function | |
WO2023229448A1 (en) | Anomaly detection device and method using neural network, and device and method for training neural network | |
WO2019164251A1 (en) | Method of performing learning of deep neural network and apparatus thereof | |
WO2021150017A1 (en) | Method for interactive segmenting an object on an image and electronic computing device implementing the same | |
WO2021006522A1 (en) | Image diagnosis apparatus using deep learning model and method therefor | |
WO2022005090A1 (en) | Method and apparatus for providing diagnosis result | |
WO2022119162A1 (en) | Medical image-based disease prediction method | |
WO2024205236A1 (en) | Intelligent tutoring system and method using knowledge tracking model based on transformer neural network | |
WO2021230470A1 (en) | Electronic device and control method for same | |
WO2023101417A1 (en) | Method for predicting precipitation based on deep learning | |
WO2022097954A1 (en) | Neural network computation method and neural network weight generation method | |
EP3707646A1 (en) | Electronic apparatus and control method thereof | |
WO2021251691A1 (en) | Anchor-free rpn-based object detection method | |
CN115204384A (en) | Generalized Activation Functions for Machine Learning | |
WO2024058465A1 (en) | Method for training local neural network model for federated learning | |
WO2024117708A1 (en) | Facial image conversion method using diffusion model | |
WO2023085610A1 (en) | Method and electronic device for performing multi-task model learning | |
WO2022191668A1 (en) | Performing a processing task instructed by an application | |
WO2023153726A1 (en) | Display apparatus and control method therefor | |
WO2022191379A1 (en) | Text-based relation extraction method and device | |
WO2023080269A1 (en) | Unsupervised model drift estimation system for dataset shift detection and model selection | |
WO2020231006A1 (en) | Image processing device and operation method therefor | |
WO2024144328A1 (en) | Artificial intelligence device and operation method thereof | |
WO2023008672A1 (en) | Method and device for improving deep learning performance for similar image classification | |
WO2024136373A1 (en) | Method and electronic device for neuro-symbolic learning of artificial intelligence model |
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: 23872848 Country of ref document: EP Kind code of ref document: A1 |