[go: up one dir, main page]

KR20250075220A - Abnormal detection system and method using untrained neural network - Google Patents

Abnormal detection system and method using untrained neural network Download PDF

Info

Publication number
KR20250075220A
KR20250075220A KR1020230162451A KR20230162451A KR20250075220A KR 20250075220 A KR20250075220 A KR 20250075220A KR 1020230162451 A KR1020230162451 A KR 1020230162451A KR 20230162451 A KR20230162451 A KR 20230162451A KR 20250075220 A KR20250075220 A KR 20250075220A
Authority
KR
South Korea
Prior art keywords
neural network
output
layer
data
learning neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
KR1020230162451A
Other languages
Korean (ko)
Inventor
서호건
류승형
유용균
Original Assignee
한국원자력연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국원자력연구원 filed Critical 한국원자력연구원
Priority to KR1020230162451A priority Critical patent/KR20250075220A/en
Publication of KR20250075220A publication Critical patent/KR20250075220A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

본 발명은 비학습 신경망 기반 이상 탐지 시스템 및 그 방법에 관한 것이다. 상세하게는, 본 발명은 학습 과정 없이 인공 신경망을 통해서 출력되는 랜덤한 결과 값을 분석하여, 입력 데이터의 이상 탐지를 수행하는 기술에 관한 것이다.The present invention relates to a non-learning neural network-based anomaly detection system and method thereof. Specifically, the present invention relates to a technology for performing anomaly detection of input data by analyzing random result values output through an artificial neural network without a learning process.

Description

비학습 신경망 기반 이상 탐지 시스템 및 그 방법 {Abnormal detection system and method using untrained neural network}Abnormal detection system and method using untrained neural network

본 발명은 비학습 신경망 기반 이상 탐지 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 학습되지 않은 인공 신경망을 이용하여, 주어진 데이터에 대한 이상 탐지를 수행할 수 있는 비학습 신경망 기반 이상 탐지 시스템 및 그 방법에 관한 것이다.The present invention relates to an anomaly detection system and method based on a non-learning neural network, and more specifically, to an anomaly detection system and method based on a non-learning neural network capable of performing anomaly detection on given data using an artificial neural network that has not been learned.

일반적인 산업 분야에서, 비정상 데이터 또는, 이상 데이터가 발생할 경우, 부정적인 영향을 미치기 때문에, 이에 대한 탐지를 수행하는 것이 중요하게 다뤄지고 있다.In general industrial fields, detection of abnormal data or abnormal data is considered important because it can have negative effects.

이상 탐지를 수행함에 있어서, 다양한 알고리즘과 모델들이 존재하며, 최근에는 방대한 양의 데이터에 대한 학습을 통해 정상 데이터의 특성을 파악하고, 이를 활용하는 기계학습 또는, 딥러닝 방법을 기반으로 하고 있다.There are various algorithms and models for performing anomaly detection, and recently, they are based on machine learning or deep learning methods that identify the characteristics of normal data through learning from a large amount of data and utilize this.

특히, 딥러닝 기반 방법의 경우, 복잡한 구조의 인공 신경망을 방대한 양의 데이터로 학습시키는데, 그 과정에서 방대한 양의 데이터를 구성하는데 실질적으로 수요되는 시간, 학습을 위한 필요 시간 뿐 아니라, 큰 컴퓨팅 자원이 요구된다.In particular, in the case of deep learning-based methods, artificial neural networks with complex structures are trained with a large amount of data, and in the process, not only is the time actually required to construct a large amount of data and the time required for learning required, but also large computing resources are required.

또한, 산업 도메인 또는 다루고자 하는 데이터의 특성에 따라 모델 구조 변경, 반복 학습, 파라미터 튜닝 등의 반복적인 추가 과정들을 필요로 한다.In addition, it requires additional repetitive processes such as model structure change, iterative learning, and parameter tuning depending on the characteristics of the industrial domain or data to be handled.

이와 관련해서, 국내 등록 특허 제10-2514795호("심층 인공 신경망에서 자연 발생되는 선택적 신경 반응을 기반으로 시각적 자극을 인식하기 위한 전자 장치 및 그의 동작 방법")에서는 입력되는 이미지에 대한 무작위 신경망의 반응을 측정하고 이를 기반으로 하나 이상의 시각적 자극을 인식하여, 인공 신경망을 학습시키는 과정을 필요로 하지 않으면서도 이미지로부터 시각적 자극을 획득할 수 있는 기술을 개시하고 있다.In this regard, Korean Patent No. 10-2514795 (“Electronic device for recognizing visual stimuli based on selective neural responses naturally occurring in deep artificial neural networks and operating method thereof”) discloses a technology for obtaining visual stimuli from images without requiring a process of training an artificial neural network by measuring the responses of a random neural network to an input image and recognizing one or more visual stimuli based on the responses.

한국등록특허 제10-2514795호(등록일자 2023.03.23.)Korean Patent Registration No. 10-2514795 (Registration Date 2023.03.23.)

따라서, 본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 방대한 양의 데이터에 대한 학습을 통해 정상 데이터의 특성을 파악하는 모델을 생성하는 과정에서 실질적으로 소요되는 시간 및 요구되는 컴퓨팅 자원이 크기 때문에, 이러한 학습 과정없이 단순하면서 효율적으로 이상탐지를 수행할 수 있는 비학습 신경망 기반 이상 탐지 시스템 및 그 방법을 제공함에 있다.Accordingly, the present invention has been made to solve the problems of the prior art as described above, and an object of the present invention is to provide a non-learning neural network-based anomaly detection system and method capable of performing anomaly detection simply and efficiently without such a learning process, since the time required and computing resources required in the process of generating a model that identifies the characteristics of normal data through learning of a vast amount of data are large.

상기한 바와 같은 목적을 달성하기 위한 본 발명의 비학습 신경망 기반 이상 탐지 시스템은, 이상 탐지를 수행하고자 하는 데이터 셋을 입력받는 데이터 입력부, 기저장되어 있는 비학습 신경망 모델에 상기 데이터 셋을 입력하여, 복수의 랜덤 변환 벡터를 출력받는 신경망 처리부 및 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 기설정된 기준값을 기준으로, 상기 기준값 이상일 경우, 이상 데이터로 판단하는 이상 판단부를 포함하는 것이 바람직하다.In order to achieve the above-described purpose, the non-learning neural network-based anomaly detection system of the present invention preferably includes a data input unit which receives a data set for which anomaly detection is to be performed, a neural network processing unit which inputs the data set into a pre-stored non-learning neural network model and outputs a plurality of random transformation vectors, and an anomaly determination unit which determines that each of the plurality of output random transformation vectors is abnormal data if the value is greater than a preset reference value.

더 나아가, 상기 신경망 처리부는 입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며, 출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우, 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 네트워크 가중치를 초기화하는 것이 바람직하다.Furthermore, the neural network processing unit includes a non-learning neural network model including a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity, and when parameters are set so that a value of one dimension or a dimension lower than a preset target dimension is output by a layer included in the output terminal, the data set is repeatedly input to the non-learning neural network model until the output value corresponds to the number of target dimensions, and it is preferable that the network weights are initialized at each repetition.

또는, 입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어, 드랍아웃 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며, 출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우, 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 드랍아웃 레이어를 활용하여, 무작위로 네트워크 가중치를 0으로 설정하는 것이 바람직하다.Alternatively, the method comprises a non-learning neural network model including a layer for processing input data, a layer for performing linear transformation, a dropout layer, and an activation function layer for adding linearity, and when the parameters are set so that a value of one dimension or a dimension lower than a preset target dimension is output by a layer included in the output terminal, it is preferable to repeatedly input the data set to the non-learning neural network model until the output value corresponds to the number of target dimensions, and at each repetition, the network weight is randomly set to 0 by utilizing the dropout layer.

또는, 입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며, 출력단에 포함되는 레이어에 의해 기설정된 목표 차원의 값이 출력되도록 파라미터 설정될 경우, 추가 반복 없이 목표 차원의 개수에 해당하는 값이 출력되는 것이 바람직하다.Alternatively, the non-learning neural network model includes a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity, and when the parameters are set so that a value of a preset target dimension is output by a layer included in the output end, it is desirable that a value corresponding to the number of target dimensions is output without additional repetition.

더불어, 상기 이상 판단부는 사전에, 정상 데이터를 포함하는 데이터 셋을 이용하여, 상기 비학습 신경망 모델에 입력하여, 랜덤 변환 벡터를 출력받아, 기설정된 피팅 식을 통해 상기 기준값을 산출하는, 기준 설정부 및 상기 기준 설정부에 의해 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식을 이용하여, 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 상기 피팅 식에 대입하여, 산출되는 값이 상기 기준값 이상일 경우, 이상 데이터로 판단하는 판단 처리부를 포함하는 것이 바람직하다.In addition, it is preferable that the above-described abnormality judgment unit includes a reference setting unit that inputs a data set including normal data into the non-learning neural network model in advance, outputs a random transformation vector, and calculates the reference value through a preset fitting formula, and a judgment processing unit that, for calculating the reference value by the reference setting unit, substitutes each of the plurality of random transformation vectors outputted into the fitting formula using the fitting formula to which the parameters are applied, and determines that the data is abnormal if the calculated value is higher than the reference value.

상기한 바와 같은 목적을 달성하기 위한 연산 처리 수단에 의해 각 단계가 수행되는 비학습 신경망 기반 이상 탐지 시스템을 이용한 비학습 신경망 기반 이상 탐지 방법으로서, 데이터 입력부에서, 이상 탐지를 수행하고자 하는 데이터 셋을 입력받는 입력 단계(S100), 신경망 처리부에서, 기저장되어 있는 비학습 신경망 모델에 상기 입력 단계(S100)에 의한 상기 데이터 셋을 입력하여, 복수의 랜덤 변환 벡터를 출력받는 출력 단계(S200) 및 이상 판단부에서, 상기 출력 단계(S200)에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 기설정된 기준값을 기준으로, 상기 기준값 이상일 경우, 이상 데이터로 판단하는 이상 판단 단계(S300)를 포함하는 것이 바람직하다.In order to achieve the above-mentioned purpose, a non-learning neural network-based anomaly detection method using a non-learning neural network-based anomaly detection system in which each step is performed by an operation processing means, the method preferably includes an input step (S100) in which a data set for which anomaly detection is to be performed is input in a data input unit, an output step (S200) in which, in a neural network processing unit, the data set by the input step (S100) is input into a pre-stored non-learning neural network model and a plurality of random transformation vectors are output, and, in an abnormality determination unit, an abnormality determination step (S300) in which, with respect to each of the plurality of random transformation vectors output by the output step (S200), if the vector exceeds a preset reference value, the data is determined to be abnormal.

더불어, 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은 입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며, 출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우, 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 네트워크 가중치를 초기화하는 것이 바람직하다.In addition, in the output step (S200), the non-learning neural network model includes a non-learning neural network model including a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity, and when the parameters are set so that a value of one dimension or a dimension lower than a preset target dimension is output by a layer included in the output terminal, the data set is repeatedly input to the non-learning neural network model until the output value corresponds to the number of target dimensions, and it is preferable to initialize the network weights at each repetition.

또는, 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은 입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어, 드랍아웃 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며, 출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우, 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 드랍아웃 레이어를 활용하여, 무작위로 네트워크 가중치를 0으로 설정하는 것이 바람직하다.Alternatively, in the output step (S200), the non-learning neural network model includes a non-learning neural network model including a layer for processing input data, a layer for performing linear transformation, a dropout layer, and an activation function layer for adding linearity, and when the parameters are set so that a value of one dimension or a dimension lower than a preset target dimension is output by a layer included in the output terminal, it is preferable to repeatedly input the data set to the non-learning neural network model until the output value corresponds to the number of target dimensions, and at each repetition, to randomly set the network weight to 0 by utilizing the dropout layer.

또는, 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은 입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며, 출력단에 포함되는 레이어에 의해 기설정된 목표 차원의 값이 출력되도록 파라미터 설정될 경우, 추가 반복 없이 목표 차원의 개수에 해당하는 값이 출력되는 것이 바람직하다.Alternatively, in the output step (S200), the non-learning neural network model includes a non-learning neural network model including a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity, and when parameters are set so that a value of a preset target dimension is output by a layer included in the output stage, it is preferable that a value corresponding to the number of target dimensions is output without additional repetition.

더 나아가, 상기 이상 판단 단계(S300)는 기준 설정부에서, 사전에, 정상 데이터를 포함하는 데이터 셋을 이용하여, 상기 비학습 신경망 모델에 입력하여, 랜덤 변환 벡터를 출력받아, 기설정된 피팅 식을 통해 상기 기준값을 산출하는 기준 산출 단계(S310) 및 판단 처리부에서, 상기 기준 산출 단계(310)를 통해 상기 기준값 산출을 수행하며, 적용된 파라미터가 설정된 상기 피팅 식을 이용하여, 상기 출력 단계(S200에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 상기 피팅 식에 대입하여, 산출되는 값이 상기 기준값 이상일 경우, 이상 데이터로 판단하는 판단 처리 단계(S320)를 포함하는 것이 바람직하다.Furthermore, it is preferable that the above-described abnormality judgment step (S300) include a standard calculation step (S310) in which, in the standard setting unit, a data set including normal data is used to input a random transformation vector into the non-learning neural network model in advance, and the standard value is calculated through a preset fitting formula, and a judgment processing step (S320) in which, in the standard calculation step (310), the standard value is calculated, and, using the fitting formula in which the applied parameters are set, each of the plurality of random transformation vectors output by the output step (S200) is substituted into the fitting formula, and if the calculated value is higher than the standard value, it is determined to be abnormal data.

본 발명에 의하면, 비학습 신경망 기반 이상 탐지 시스템 및 그 방법은 이상 탐지 모델을 생성하는데 있어서, 학습 데이터의 퀄리티에 따라 또는, 학습 결과에 따라 모델의 성능의 차이가 크게 발생하고, 각 문제에 적합한 이상 탐지 모델을 개발하기 위해 개발 및 학습의 오랜 시간이 소요되는 종래의 이상 탐지 기술의 문제점을 해소하기 위하여, 학습 과정 없이 인공 신경망 자체를 이용하여, 이상 탐지를 수행할 수 있는 장점이 있다.According to the present invention, a non-learning neural network-based anomaly detection system and method thereof have the advantage of performing anomaly detection using an artificial neural network itself without a learning process, in order to resolve the problems of conventional anomaly detection techniques in which, when generating an anomaly detection model, there is a large difference in model performance depending on the quality of learning data or the learning result, and a long time is required for development and learning to develop an anomaly detection model suitable for each problem.

상세하게는, 정상 데이터와 비정상/이상 데이터 각각에 대해 학습하지 않고 랜덤하게 출력되는 데이터의 출력 분포에 차이가 있다는 점을 기반으로, 랜덤하게 출력되는 결과값에 대한 마할라노비스 거리를 이용하여 정규화를 수행함으로써, 이상 데이터를 판별할 수 있는 효과가 있다.Specifically, based on the difference in the output distribution of randomly output data without learning about normal data and abnormal/abnormal data respectively, there is an effect of being able to determine abnormal data by performing normalization using the Mahalanobis distance for randomly output result values.

이를 통해서, 모바일 기기, 엣지 디바이스 등을 활용하여 컴퓨팅 자원의 한정 없이 자유롭게 이상 탐지를 수행할 수 있는 장점이 있다.Through this, there is an advantage in being able to perform anomaly detection freely without limitations on computing resources by utilizing mobile devices, edge devices, etc.

더불어, 주어진 데이터에서 학습/가공 없이 달성 할 수 있는 데이터 자체의 이상 분류 가능성에 대한 기준점 등으로 활용할 수 있는 장점이 있다.In addition, it has the advantage of being able to be used as a benchmark for the possibility of classifying the data itself as an anomaly that can be achieved without learning/processing from the given data.

도 1은 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템을 나타낸 구성 예시도이다.
도 2는 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 방법을 나타낸 순서 예시도이다.
도 3은 종래의 학습 모델에 의한 이상 탐지 정확도와 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템 및 그 방법에 의한 이상 탐지 정확도를 비교한 표이다.
Figure 1 is a configuration example diagram showing a non-learning neural network-based anomaly detection system according to one embodiment of the present invention.
FIG. 2 is a flowchart illustrating an anomaly detection method based on a non-learning neural network according to one embodiment of the present invention.
Figure 3 is a table comparing the anomaly detection accuracy by a conventional learning model and the anomaly detection accuracy by a non-learning neural network-based anomaly detection system and method according to one embodiment of the present invention.

이하, 상기한 바와 같은 구성을 가지는 본 발명에 의한 비학습 신경망 기반 이상 탐지 시스템 및 그 방법을 첨부된 도면을 참고하여 상세하게 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.Hereinafter, a non-learning neural network-based anomaly detection system and method according to the present invention having the above-described configuration will be described in detail with reference to the attached drawings. The drawings introduced below are provided as examples so that those skilled in the art can sufficiently convey the spirit of the present invention. Accordingly, the present invention is not limited to the drawings presented below and may be embodied in other forms. In addition, the same reference numerals represent the same components throughout the specification.

이때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.In this case, if there is no other definition for the technical and scientific terms used, they have the meaning commonly understood by a person of ordinary skill in the art to which this invention belongs, and the description of well-known functions and configurations that may unnecessarily obscure the gist of the present invention in the following description and attached drawings are omitted.

더불어, 시스템은 필요한 기능을 수행하기 위하여 조직화되고 규칙적으로 상호 작용하는 장치, 기구 및 수단 등을 포함하는 구성 요소들의 집합을 의미한다.In addition, a system refers to a set of components including devices, mechanisms, and means that are organized and interact regularly to perform necessary functions.

본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템 및 그 방법은, 학습 과정이 동반되지 않고, 단순하면서 효율적인 비학습 인공 신경망 기반 이상 탐지 기술에 관한 것이다.A non-learning neural network-based anomaly detection system and method according to one embodiment of the present invention relate to a simple and efficient non-learning artificial neural network-based anomaly detection technology that is not accompanied by a learning process.

도 1은 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템을 나타낸 구성 예시도이다.Figure 1 is a configuration example diagram showing a non-learning neural network-based anomaly detection system according to one embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템은 데이터 입력부(100), 신경망 처리부(200) 및 이상 판단부(300)를 포함하게 된다. 각 구성들은 MCU를 포함하는 연산처리수단에 각각 또는 통합 구성되어 동작을 수행하는 것이 바람직하다.As illustrated in FIG. 1, a non-learning neural network-based anomaly detection system according to one embodiment of the present invention includes a data input unit (100), a neural network processing unit (200), and an anomaly determination unit (300). It is preferable that each component be individually or integrally configured in an operation processing means including an MCU to perform operations.

각 구성에 대해서 자세히 알아보자면,Let's take a closer look at each component:

상기 데이터 입력부(100)는 이상 탐지를 수행하고자 하는 데이터 셋을 입력받는 것이 바람직하다.It is preferable that the above data input unit (100) receives a data set for which anomaly detection is to be performed.

이 때, 인공 신경망은 수학적으로 함수이므로, 간단하게 표현하기 위해 상기 데이터 셋은 x로 나타낼 수 있으며, 이는 d차원 입력 벡터로 나타낸다.At this time, since the artificial neural network is a mathematical function, for simple expression, the above data set can be represented as x, which is represented as a d-dimensional input vector.

상기 신경망 처리부(200)는 미리 저장되어 있는 비학습 신경망 모델에 상기 데이터 입력부(100)에 의한 데이터 셋을 입력하여, 복수의 랜덤 변환 벡터를 출력받는 것이 바람직하다.It is preferable that the above neural network processing unit (200) inputs a data set by the data input unit (100) into a pre-stored non-learning neural network model and outputs a plurality of random transformation vectors.

이 때, 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템은, 다양한 실험을 수행하면서 판단한 결과, 정상 데이터를 비학습 신경망에 입력하여 랜덤하게 출력되는 데이터의 분포와, 비정상/이상 데이터를 비학습 신경망에 입력하여 랜덤하게 출력되는 데이터의 분포에 차이가 있다는 점을 기반으로, 학습 처리 없이 출력되는 데이터를 이용하는 데 그 기술적 특징이 있다.At this time, the non-learning neural network-based anomaly detection system according to one embodiment of the present invention has a technical characteristic of using data output without learning processing, based on the fact that there is a difference between the distribution of data randomly output by inputting normal data into a non-learning neural network and the distribution of data randomly output by inputting abnormal/abnormal data into a non-learning neural network as judged through performing various experiments.

상세하게는, 비학습 신경망, 즉, 비학습 인공 신경망(Untrained Neural Network)은 학습되지 않은 인공 신경망을 의미한다.In detail, an untrained neural network, or untrained artificial neural network, refers to an artificial neural network that has not been trained.

상기 비학습 신경망의 기본 구조는 목표 데이터의 특성에 따라 CNN(Convolution Neural Network), RNN(Recurrent Neural Network), Transformer, MLP(Multi-Layer Perceptron) 등으로 상이하게 구성할 수 있다.The basic structure of the above non-learning neural network can be configured differently, such as CNN (Convolution Neural Network), RNN (Recurrent Neural Network), Transformer, and MLP (Multi-Layer Perceptron), depending on the characteristics of the target data.

이를 기반으로, 상기 신경망 처리부(200)는 인공 신경망을 통해 상기 데이터 입력부(100)에 의한 데이터 셋을 입력받아, 복수의 비선형 랜덤 변환을 수행하여 출력함에 있어서, 랜덤성을 확보하는 방법은 다양하게 존재할 수 있다.Based on this, the neural network processing unit (200) receives a data set from the data input unit (100) through an artificial neural network, performs multiple nonlinear random transformations, and outputs the data. There may be various ways to secure randomness.

본 발명에서는 다양한 실험을 수행하면서 성능을 비교한 결과, 후술할 3가지의 실시예를 들 수 있다. 실험 결과, 무작위성 방법에 따른 분류 성능의 차이는 크지 않으나, 가장 마지막에 설명할 제3 실시예가 시간 소요가 가장 적고 가장 단순한 레이어 구조가 가능하기 때문에, 가장 바람직하다.In the present invention, as a result of comparing performances while performing various experiments, three examples can be presented as described below. As a result of the experiments, the difference in classification performance according to the randomness method is not large, but the third example to be described last is the most preferable because it takes the least time and allows the simplest layer structure.

상기 신경망 처리부(200)는 기본적으로 인공 신경망의 출력을 결정짓는 신경망의 학습 가능한 가중치 파라미터가 학습되지 않고, 무작위로 초기화되도록 설정하고 있어, 결과적으로 학습이 되지 않았기 때문에, 입력되는 데이터(데이터 셋, x)에 대한 비선형 랜덤 변환(nonlinear random projection 또는, nonlinear random mapping)을 수행하게 된다.The above neural network processing unit (200) basically sets the learnable weight parameters of the neural network that determine the output of the artificial neural network to be initialized randomly without being learned, and as a result, since learning has not been performed, a nonlinear random transformation (nonlinear random projection or nonlinear random mapping) is performed on the input data (data set, x).

이를 기초로, 입력 데이터(x)를 d차원 벡터라고 할 때, 상기 신경망 처리부(200)의 제1 실시예(일명 'Iterative Randomness Model')로는, 입력 데이터(x)를 처리하는 input 레이어(Input(x)), 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어, 비선형성을 추가하기 위한 활성함수 레이어인 sigmoid 레이어 및 출력단 레이어로서 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어를 포함하게 된다.Based on this, when input data (x) is a d-dimensional vector, the first embodiment of the neural network processing unit (200) (aka 'Iterative Randomness Model') includes an input layer (Input(x)) that processes input data (x), a linear layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter, a sigmoid layer that is an activation function layer for adding non-linearity, and a linear layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter as an output layer.

파라미터까지 설정하여 상기 신경망 처리부(200)의 제1 실시예의 구조를 예로 들자면, Input(d) - Linear(128) - Sigmoid - Linear(1)와 같다.As an example, the structure of the first embodiment of the neural network processing unit (200) by setting the parameters is as follows: Input (d) - Linear (128) - Sigmoid - Linear (1).

상기 신경망 처리부(200)의 제1 실시예는 출력단에 포함되는 레이어에 의해 1차원 또는, 목표 차원보다 낮은 차원의 값이 출력되도록 설정할 경우, 상기 제1 실시예의 구조에 따라, 매 반복마다 출력단에 포함되는 레이어에의 파라미텃 설정 값에 해당하는 1차원 값을 출력하게 된다.In the first embodiment of the neural network processing unit (200), when a value of one dimension or a dimension lower than the target dimension is set to be output by a layer included in the output terminal, a one-dimensional value corresponding to the parameter setting value of the layer included in the output terminal is output at each repetition according to the structure of the first embodiment.

이 때, 상기 신경망 처리부(200)의 제1 실시예는 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 네트워크 가중치를 초기화하는 것이 바람직하다.At this time, the first embodiment of the neural network processing unit (200) repeatedly inputs the data set into the non-learning neural network model until the output value corresponds to the number of target dimensions, and it is preferable to initialize the network weights at each repetition.

즉, 출력 뉴런 수 = 1, 목표 차원 d' = 100일 경우, 매 반복마다 1차원 값을 출력하게 되며, 이 때, 매번 가중치를 초기화함으로써, 매 반복시 얻는 출력값이 달라지게 된다. 이러한 초기화를 100회 수행하여 얻은 1차원 출력값들을 모아 목표 차원 d'인 100차원 벡터로 활용하게 된다.That is, when the number of output neurons = 1 and the target dimension d' = 100, a one-dimensional value is output at each iteration, and at this time, by initializing the weights each time, the output value obtained at each iteration becomes different. The one-dimensional output values obtained by performing this initialization 100 times are collected and utilized as a 100-dimensional vector, which is the target dimension d'.

상기 신경망 처리부(200)의 제2 실시예(일명 'Dropout Randomness Model')로는, 입력 데이터(x)를 처리하는 input 레이어(Input(x)), 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어, 드랍아웃 레이어, 비선형성을 추가하기 위한 활성함수 레이어인 sigmoid 레이어 및 출력단 레이어로서 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어를 포함하게 된다.The second embodiment of the neural network processing unit (200) (aka 'Dropout Randomness Model') includes an input layer (Input(x)) that processes input data (x), a linear layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter, a dropout layer, a sigmoid layer as an activation function layer for adding non-linearity, and a linear layer as an output layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter.

파라미터까지 설정하여 상기 신경망 처리부(200)의 제2 실시예의 구조를 예로 들자면, Input(d) - Drop(0.5) - Linear(128) - Sigmoid - Drop(0.5) - Linear(1)와 같다.As an example, the structure of the second embodiment of the neural network processing unit (200) by setting the parameters is as follows: Input (d) - Drop (0.5) - Linear (128) - Sigmoid - Drop (0.5) - Linear (1).

상기 신경망 처리부(200)의 제2 실시예는 상술한 상기 신경망 처리부(200)의 제1 실시예와 유사하게 출력 뉴런 수, 즉, 출력단에 포함되는 레이어에 의해 1차원 또는, 목표 차원보다 낮은 차원의 값이 출력되도록 설정할 경우, 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 드랍아웃 레이어를 활용하여, 무작위로 네트워크 가중치를 0으로 설정하는 것이 바람직하다.In the second embodiment of the neural network processing unit (200), similarly to the first embodiment of the neural network processing unit (200) described above, when the number of output neurons, i.e., the layer included in the output terminal, is set to output a value of one dimension or a dimension lower than the target dimension, the data set is repeatedly input to the non-learning neural network model until the output value corresponds to the number of target dimensions, and at each repetition, it is preferable to randomly set the network weight to 0 by utilizing a dropout layer.

즉, 출력 뉴런 수 = 1, 목표 차원 d' = 100일 경우, 매 반복마다 1차원 값을 출력하게 되며, 이 때, 매 반복마다 네트워크 가중치를 반복적으로 초기화하는 대신, 드랍아웃 레이어를 활용하여 무작위로 가중치를 0으로 만드는 것이 바람직하다.That is, when the number of output neurons = 1 and the target dimension d' = 100, a one-dimensional value is output at each iteration. At this time, instead of repeatedly initializing the network weights at each iteration, it is desirable to use a dropout layer to randomly make the weights 0.

이를 통해, 매 반복마다 드랍아웃 레이어로 인해 뉴런 간 가중치 연결이 랜덤하게 끊어지게 되므로, 무작위적인 서브 네트워크의 출력을 모아 마찬가지로 목표 차원 d'차원 벡터로 활용하게 된다.This allows the weight connections between neurons to be randomly disconnected at each iteration due to the dropout layer, so that the outputs of random sub-networks are collected and used as a target dimension d'-dimensional vector as well.

상기 신경망 처리부(200)의 제3 실시예(일명 'One-shot Randomness Model')는 입력 데이터(x)를 처리하는 input 레이어(Input(x)), 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어, 비선형성을 추가하기 위한 활성함수 레이어인 sigmoid 레이어 및 출력단 레이어로서 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어를 포함하게 된다.The third embodiment of the neural network processing unit (200) (aka 'One-shot Randomness Model') includes an input layer (Input(x)) that processes input data (x), a linear layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter, a sigmoid layer as an activation function layer for adding non-linearity, and a linear layer as an output layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter.

파라미터까지 설정하여 상기 신경망 처리부(200)의 제3 실시예의 구조를 예로 들자면, Input(d) - Linear(128) - Signoid - Linear(100)와 같다.As an example, the structure of the third embodiment of the neural network processing unit (200) by setting the parameters is as follows: Input (d) - Linear (128) - Signoid - Linear (100).

상기 신경망 처리부(200)의 제3 실시예는 출력단에 포함되는 레이어에 의해 미리 설정된 목표 차원의 값이 출력되도록 파라미터 설정될 경우, 추가 반복 없이 목표 차원의 개수에 해당하는 값이 출력되는 것이 바람직하다.In the third embodiment of the neural network processing unit (200), when the parameters are set so that a value of a target dimension preset by a layer included in the output terminal is output, it is preferable that a value corresponding to the number of target dimensions is output without additional repetition.

즉, 상기 신경망 처리부(200)의 제3 실시예는 가장 단순한 방법으로, 신경망의 출력 뉴런 수를 목표 차원 d'과 동일하게 설정한다. 이를 통해서, 추가적인 반복 없이 100차원의 비선형 랜덤 변환 벡터를 얻을 수 있다.That is, the third embodiment of the neural network processing unit (200) sets the number of output neurons of the neural network to be equal to the target dimension d' in the simplest way. Through this, a 100-dimensional nonlinear random transformation vector can be obtained without additional repetition.

상술한 상기 신경망 처리부(200)의 제1 실시예 내지 제3 실시예에 의한 동작은 하기의 표 1과 같은 의사코드를 통해 설명할 수 있다.The operations of the first to third embodiments of the neural network processing unit (200) described above can be explained through pseudocode as shown in Table 1 below.

상기 신경망 처리부(200)는 상술한 실시예의 네트워크 구조를 사용하여, 상기 데이터 입력부(100)를 통해서 입력되는 데이터 셋(d차원 데이터)이 목표 차원 d'(100 차원) 공간 상으로 비선형적으로 맵핑되며, 이를 새로운 특징 벡터로 사용하는 것이 바람직하다.The neural network processing unit (200) preferably uses the network structure of the above-described embodiment to nonlinearly map the data set (d-dimensional data) input through the data input unit (100) onto the target dimension d' (100-dimensional) space and use this as a new feature vector.

상기 이상 판단부(300)는 상기 신경망 처리부(200)에 의해 출력된 상기 복수의 랜덤 변환 벡터, 즉, 목표 차원 d' 공간 상으로 비선형적으로 맵핑된 출력 값들 각각에 대해, 미리 설정된 기준값을 기준으로, 상기 기준값 이상일 경우, 이상 데이터로 판단하는 것이 바람직하다.It is preferable that the above-mentioned abnormality judgment unit (300) determines that each of the plurality of random transformation vectors output by the above-mentioned neural network processing unit (200), i.e., output values nonlinearly mapped onto the target dimension d' space, is abnormal data if it exceeds a preset reference value.

상세하게는, 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템은 마할라노비스 거리(Mahalanobis distance)를 점과 분포 사이의 거리를 측정하는 메트릭으로 채용하여, 비학습 신경망 모델과 함께 활용함으로써, 비학습 신경망 기반의 이상 탐지가 가능하도록 하는 것이 바람직하다.In detail, it is preferable that the non-learning neural network-based anomaly detection system according to one embodiment of the present invention employs the Mahalanobis distance as a metric for measuring the distance between points and distributions, and utilizes it together with a non-learning neural network model, thereby enabling non-learning neural network-based anomaly detection.

이를 위해, 상기 이상 판단부(300)는 도 1에 도시된 바와 같이, 기준 설정부(310)와 판단 처리부(320)를 포함하게 된다.To this end, the above-described ideal judgment unit (300) includes a standard setting unit (310) and a judgment processing unit (320), as illustrated in FIG. 1.

상기 기준 설정부(310)는 사전에, 정상 데이터를 포함하는 데이터 셋을 상기 신경망 처리부(200)에 의한 비학습 신경망 모델에 입력하여, 랜덤 변환 벡터를 출력받아, 미리 설정된 피팅 식을 통해 상기 기준값을 산출하는 것이 바람직하다.It is preferable that the above-mentioned standard setting unit (310) inputs a data set including normal data into the non-learning neural network model by the above-mentioned neural network processing unit (200) in advance, receives a random transformation vector, and calculates the standard value through a preset fitting formula.

상세하게는, 정상 데이터를 포함하는 데이터 셋, 즉, 정상 데이터의 집합을 Xref라 가정하고, 이 중 판별하고자 하는 정상 데이터의 샘플을 x'라 가정할 경우, 이를 상기 신경망 처리부(200)에 의한 비학습 신경망 모델에 입력하면, 비선형 랜덤 변환된 출력 Yref와 이에 포함되는 y'을 얻을 수 있다.Specifically, if a data set including normal data, i.e., a set of normal data, is assumed to be Xref, and a sample of normal data to be determined among them is assumed to be x', when this is input into a non-learning neural network model by the neural network processing unit (200), a non-linear randomly transformed output Yref and y' included therein can be obtained.

Yref에 대한 평균과 공분산 행렬을 각각 , S라 할 경우, 미리 설정된 하기의 수학식 1을 통해 판별하고자 하는 데이터 샘플 x'에 대한 이상 점수를 산출하는 것이 바람직하다.The mean and covariance matrix for Yref are respectively , S, it is desirable to calculate the abnormality score for the data sample x' to be determined through the preset mathematical expression 1 below.

상기 판별하고자 하는 데이터 샘플 x'에 대한 이상 점수는 정상 데이터의 집합 중 판별하고자 하는 정상 데이터의 샘플이기 때문에, 이에 대한 이상 점수는 이상 판별을 위한 기준값(threshold)로 설정하게 된다.Since the abnormality score for the data sample x' to be determined above is a sample of normal data to be determined among the set of normal data, the abnormality score for this is set as a threshold for determining abnormality.

이를 이용하여, 상기 판단 처리부(320)는 상기 기준 설정부(310)에서 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식인 상기 수학식 1을 이용하여, 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 상기 수학식 1에 대입하여, 산출되는 값이 상기 기준값 이상일 경우, 이상 데이터로 판단하는 것이 바람직하다.Using this, the judgment processing unit (320) preferably uses the mathematical expression 1, which is the fitting equation to which the parameters are applied, to calculate the reference value in the standard setting unit (310), and substitutes each of the plurality of output random transformation vectors into the mathematical expression 1, and if the calculated value is greater than or equal to the reference value, determines it as abnormal data.

상세하게는, 상기 판단 처리부(320)는 상기 기준 설정부(310)에서 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식인 상기 수학식 1에 상기 신경망 처리부(200)에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각을 입력하여, 산출된 값이 상기 기준 설정부(310)에 의해 산출된 기준 값, 즉, 정상 데이터의 이상 점수 이상일 경우, 이상 데이터로 판단하게 된다.In detail, the judgment processing unit (320) inputs each of the plurality of random transformation vectors output by the neural network processing unit (200) into the mathematical expression 1, which is the fitting equation to which the parameters are applied, in order to calculate the reference value in the reference setting unit (310), and if the calculated value is higher than the reference value calculated by the reference setting unit (310), i.e., the abnormality score of normal data, it is determined as abnormal data.

물론, 이와 반대로, 상기 기준값 미만일 경우, 정상 데이터로 판단하게 된다.Of course, conversely, if it is below the above criteria, it is judged as normal data.

이 때, 상기 이상 판단부(300)는 보다 명확한 판단을 위해, 상기 기준 설정부(310)를 통해서, 정상 데이터의 집합 Xref 중 판별하고자 하는 정상 데이터의 샘플을 둘 이상 추출하여, x1' ~ xn'이라 가정하고, 이를 상기 신경망 처리부(200)에 의한 비학습 신경망 모델에 입력하면, 비선형 랜덤 변환된 출력 Yref와 이에 포함되는 y1' ~ yn'을 얻을 수 있다.At this time, the above abnormality judgment unit (300) extracts two or more samples of normal data to be determined from the set of normal data Xref through the above standard setting unit (310) for a more precise judgment, and assuming that these are x1' to xn', inputs these into the non-learning neural network model by the above neural network processing unit (200), thereby obtaining the non-linear randomly transformed output Yref and y1' to yn' included therein.

Yref에 대한 평균과 공분산 행렬을 각각 , S라 하고, 상기 수학식 1을 통해서, 판별하고자 하는 데이터 샘플 x1' ~ xn' 각각에 대한 이상 점수를 산출하고, 이를 합산하여, 이상 점수, 즉, 기준값으로 설정하는 것이 바람직하다.The mean and covariance matrix for Yref are respectively , S, and it is desirable to calculate the abnormality score for each of the data samples x1' to xn' to be determined through the mathematical expression 1 above, add them up, and set them as the abnormality score, i.e., the reference value.

이에 대응하여, 상기 판단 처리부(320) 역시도, 상기 기준 설정부(310)에서 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식인 상기 수학식 1에 상기 신경망 처리부(200)에 의해 출력된 상기 복수의 랜덤 변환 벡터, 즉, 100차원 벡터 값 각각 입력하여, 산출된 값을 합산한 후, 상기 기준값을 이용하여 이상 데이터/정상 데이터를 판단하는 것이 바람직하다.In response to this, it is also preferable that the judgment processing unit (320) inputs each of the plurality of random transformation vectors, i.e., 100-dimensional vector values, output by the neural network processing unit (200) into the mathematical expression 1, which is the fitting equation to which the parameters are applied in order to calculate the reference value in the reference setting unit (310), and then adds up the calculated values and determines abnormal data/normal data using the reference value.

이러한 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템에 의한 동작은 하기의 표 2와 같은 의사코드를 통해 설명할 수 있다.The operation of the non-learning neural network-based anomaly detection system according to one embodiment of the present invention can be explained through the pseudocode shown in Table 2 below.

도 2는 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 방법을 나타낸 순서 예시도이다.FIG. 2 is a flowchart illustrating an anomaly detection method based on a non-learning neural network according to one embodiment of the present invention.

본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 방법은 연산 처리 수단에 의해 각 단계가 수행되는 비학습 신경망 기반 이상 탐지 시스템을 이용한 비학습 신경망 기반 이상 탐지 방법으로서, 도 2에 도시된 바와 같이, 입력 단계(S100), 출력 단계(S200) 및 이상 판단 단계(S300)를 포함하게 된다.A non-learning neural network-based anomaly detection method according to one embodiment of the present invention is a non-learning neural network-based anomaly detection method using a non-learning neural network-based anomaly detection system in which each step is performed by a computational processing means, and includes an input step (S100), an output step (S200), and an anomaly determination step (S300), as illustrated in FIG. 2.

각 단계에 대해서 자세히 알아보자면,Let's take a closer look at each step:

상기 입력 단계(S100)는 상기 데이터 입력부(100)에서, 이상 탐지를 수행하고자 하는 데이터 셋을 입력받게 된다. 이 때, 인공 신경망은 수학적으로 함수이므로, 간단하게 표현하기 위해 상기 데이터 셋은 x로 나타낼 수 있으며, 이는 d차원 입력 벡터로 나타낸다.The above input step (S100) receives a data set for which anomaly detection is to be performed from the data input unit (100). At this time, since the artificial neural network is a mathematical function, for simple expression, the data set can be represented as x, which is represented as a d-dimensional input vector.

상기 출력 단계(S200)는 상기 신경망 처리부(200)에서, 미리 저장되어 있는 비학습 신경망 모델에 상기 입력 단계(S100)에 의한 상기 데이터 셋을 입력하여, 복수의 랜덤 변환 벡터를 출력받게 된다.The above output step (S200) inputs the data set from the input step (S100) into the pre-stored non-learning neural network model in the neural network processing unit (200) to output multiple random transformation vectors.

이 때, 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 방법은, 다양한 실험을 수행하면서 판단한 결과, 정상 데이터를 비학습 신경망에 입력하여 랜덤하게 출력되는 데이터의 분포와, 비정상/이상 데이터를 비학습 신경망에 입력하여 랜덤하게 출력되는 데이터의 분포에 차이가 있다는 점을 기반으로, 학습 처리 없이 출력되는 데이터를 이용하는 데 그 기술적 특징이 있다.At this time, the non-learning neural network-based anomaly detection method according to one embodiment of the present invention has a technical characteristic of using data output without learning processing, based on the fact that there is a difference between the distribution of data randomly output by inputting normal data into a non-learning neural network and the distribution of data randomly output by inputting abnormal/abnormal data into a non-learning neural network as judged through performing various experiments.

상세하게는, 비학습 신경망, 즉, 비학습 인공 신경망(Untrained Neural Network)은 학습되지 않은 인공 신경망을 의미한다.In detail, an untrained neural network, or untrained artificial neural network, refers to an artificial neural network that has not been trained.

상기 비학습 신경망의 기본 구조는 목표 데이터의 특성에 따라 CNN(Convolution Neural Network), RNN(Recurrent Neural Network), Transformer, MLP(Multi-Layer Perceptron) 등으로 상이하게 구성할 수 있다.The basic structure of the above non-learning neural network can be configured differently, such as CNN (Convolution Neural Network), RNN (Recurrent Neural Network), Transformer, and MLP (Multi-Layer Perceptron), depending on the characteristics of the target data.

이를 기반으로, 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은 인공 신경망을 통해 상기 입력 단계(S100)에 의한 데이터 셋을 입력받아, 복수의 비선형 랜덤 변환을 수행하여 출력함에 있어서, 랜덤성을 확보하는 방법은 다양하게 존재할 수 있다.Based on this, in the output step (S200), the non-learning neural network model receives the data set from the input step (S100) through an artificial neural network, performs multiple non-linear random transformations, and outputs the data. There may be various methods for securing randomness.

본 발명에서는 다양한 실험을 수행하면서 성능을 비교한 결과, 후술할 3가지의 실시예를 들 수 있다. 실험 결과, 무작위성 방법에 따른 분류 성능의 차이는 크지 않으나, 가장 마지막에 설명할 제3 실시예가 시간 소요가 가장 적고 가장 단순한 레이어 구조가 가능하기 때문에, 가장 바람직하다.In the present invention, as a result of comparing performances while performing various experiments, three examples can be presented as described below. As a result of the experiments, the difference in classification performance according to the randomness method is not large, but the third example to be described last is the most preferable because it takes the least time and allows the simplest layer structure.

상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은 기본적으로 인공 신경망의 출력을 결정짓는 신경망의 학습 가능한 가중치 파라미터가 학습되지 않고, 무작위적으로 초기화되도록 설정하고 있어, 결과적으로 학습이 되지 않았기 때문에, 입력되는 데이터(데이터 셋, x)에 대한 비선형 랜덤 변환(nonlinear random projection 또는, nonlinear random mapping)을 수행하게 된다.In the above output step (S200), the non-learning neural network model basically sets the learnable weight parameters of the neural network that determine the output of the artificial neural network to be randomly initialized without being learned, and as a result, since learning has not occurred, a nonlinear random transformation (nonlinear random projection or nonlinear random mapping) is performed on the input data (data set, x).

이를 기초로, 입력 데이터(x)를 d차원 벡터라고 할 때, 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제1 실시예(일명 'Iterative Randomness Model')로는, 입력 데이터(x)를 처리하는 input 레이어(Input(x)), 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어, 비선형성을 추가하기 위한 활성함수 레이어인 sigmoid 레이어 및 출력단 레이어로서 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어를 포함하게 된다.Based on this, when the input data (x) is a d-dimensional vector, in the output step (S200), the first embodiment of the non-learning neural network model (aka 'Iterative Randomness Model') includes an input layer (Input(x)) that processes the input data (x), a linear layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter, a sigmoid layer that is an activation function layer for adding non-linearity, and a linear layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter as an output layer.

파라미터까지 설정하여 상기 신경망 처리부(200)의 제1 실시예의 구조를 예로 들자면, Input(d) - Linear(128) - Sigmoid - Linear(1)와 같다.As an example, the structure of the first embodiment of the neural network processing unit (200) by setting the parameters is as follows: Input (d) - Linear (128) - Sigmoid - Linear (1).

상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제1 실시예는 출력단에 포함되는 레이어에 의해 1차원 또는, 목표 차원보다 낮은 차원의 값이 출력되도록 설정할 경우, 상기 제1 실시예의 구조에 따라, 매 반복마다 출력단에 포함되는 레이어에의 파라미텃 설정 값에 해당하는 1차원 값을 출력하게 된다.In the above output step (S200), when the first embodiment of the non-learning neural network model is set so that a value of one dimension or a dimension lower than the target dimension is output by a layer included in the output terminal, according to the structure of the first embodiment, a one-dimensional value corresponding to the parameter setting value of the layer included in the output terminal is output at each iteration.

이 때, 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제1 실시예는 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 네트워크 가중치를 초기화하는 것이 바람직하다.At this time, in the output step (S200), the first embodiment of the non-learning neural network model repeatedly inputs the data set into the non-learning neural network model until the output value corresponds to the number of target dimensions, and it is preferable to initialize the network weights at each repetition.

즉, 출력 뉴런 수 = 1, 목표 차원 d' = 100일 경우, 매 반복마다 1차원 값을 출력하게 되며, 이 때, 매번 가중치를 초기화함으로써, 매 반복시 얻는 출력값이 달라지게 된다. 이러한 초기화를 100회 수행하여 얻은 1차원 출력값들을 모아 목표 차원 d'인 100차원 벡터로 활용하게 된다.That is, when the number of output neurons = 1 and the target dimension d' = 100, a one-dimensional value is output at each iteration, and at this time, by initializing the weights each time, the output value obtained at each iteration becomes different. The one-dimensional output values obtained by performing this initialization 100 times are collected and utilized as a 100-dimensional vector, which is the target dimension d'.

상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제2 실시예(일명 'Dropout Randomness Model')로는, 입력 데이터(x)를 처리하는 input 레이어(Input(x)), 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어, 드랍아웃 레이어, 비선형성을 추가하기 위한 활성함수 레이어인 sigmoid 레이어 및 출력단 레이어로서 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어를 포함하게 된다.In the above output step (S200), the second embodiment of the non-learning neural network model (aka 'Dropout Randomness Model') includes an input layer (Input(x)) for processing input data (x), a linear layer for performing linear transformation of data obtained from a previous layer into the dimension of a set parameter, a dropout layer, a sigmoid layer as an activation function layer for adding non-linearity, and a linear layer as an output layer for performing linear transformation of data obtained from a previous layer into the dimension of a set parameter.

파라미터까지 설정하여 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제2 실시예의 구조를 예로 들자면, Input(d) - Drop(0.5) - Linear(128) - Sigmoid - Drop(0.5) - Linear(1)와 같다.In the output step (S200) above, by setting the parameters, the structure of the second embodiment of the non-learning neural network model is, for example, Input(d) - Drop(0.5) - Linear(128) - Sigmoid - Drop(0.5) - Linear(1).

상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제2 실시예는 상술한 상기 신경망 처리부(200)의 제1 실시예와 유사하게 출력 뉴런 수, 즉, 출력단에 포함되는 레이어에 의해 1차원 또는, 목표 차원보다 낮은 차원의 값이 출력되도록 설정할 경우, 출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되, 매 반복 시, 드랍아웃 레이어를 활용하여, 무작위로 네트워크 가중치를 0으로 설정하는 것이 바람직하다.In the above output step (S200), in the second embodiment of the non-learning neural network model, similarly to the first embodiment of the neural network processing unit (200) described above, when the number of output neurons, i.e., the layer included in the output terminal, is set to output a value of one dimension or a dimension lower than the target dimension, it is preferable to repeatedly input the data set to the non-learning neural network model until the output value corresponds to the number of target dimensions, and at each repetition, to randomly set the network weight to 0 by utilizing a dropout layer.

즉, 출력 뉴런 수 = 1, 목표 차원 d' = 100일 경우, 매 반복마다 1차원 값을 출력하게 되며, 이 때, 매 반복마다 네트워크 가중치를 반복적으로 초기화하는 대신, 드랍아웃 레이어를 활용하여 무작위로 가중치를 0으로 만드는 것이 바람직하다.That is, when the number of output neurons = 1 and the target dimension d' = 100, a one-dimensional value is output at each iteration. At this time, instead of repeatedly initializing the network weights at each iteration, it is desirable to use a dropout layer to randomly make the weights 0.

이를 통해, 매 반복마다 드랍아웃 레이어로 인해 뉴런 간 가중치 연결이 랜덤하게 끊어지게 되므로, 무작위적인 서브 네트워크의 출력을 모아 마찬가지로 목표 차원 d'차원 벡터로 활용하게 된다.This allows the weight connections between neurons to be randomly disconnected at each iteration due to the dropout layer, so that the outputs of random sub-networks are collected and used as a target dimension d'-dimensional vector as well.

상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제3 실시예(일명 'One-shot Randomness Model')는 입력 데이터(x)를 처리하는 input 레이어(Input(x)), 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어, 비선형성을 추가하기 위한 활성함수 레이어인 sigmoid 레이어 및 출력단 레이어로서 이전 레이어에서 얻은 데이터를 설정된 파라미터의 차원으로 선형 변환을 수행하는 linear 레이어를 포함하게 된다.In the above output step (S200), the third embodiment of the non-learning neural network model (aka 'One-shot Randomness Model') includes an input layer (Input(x)) that processes input data (x), a linear layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter, a sigmoid layer as an activation function layer for adding non-linearity, and a linear layer as an output layer that performs linear transformation of data obtained from a previous layer into the dimension of a set parameter.

파라미터까지 설정하여 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제3 실시예의 구조를 예로 들자면, Input(d) - Linear(128) - Signoid - Linear(100)와 같다.In the output step (S200) above, by setting the parameters, the structure of the third embodiment of the non-learning neural network model is as follows: Input (d) - Linear (128) - Signoid - Linear (100).

상기 신경망 처리부(200)의 제3 실시예는 출력단에 포함되는 레이어에 의해 미리 설정된 목표 차원의 값이 출력되도록 파라미터 설정될 경우, 추가 반복 없이 목표 차원의 개수에 해당하는 값이 출력되는 것이 바람직하다.In the third embodiment of the neural network processing unit (200), when the parameters are set so that a value of a target dimension preset by a layer included in the output terminal is output, it is preferable that a value corresponding to the number of target dimensions is output without additional repetition.

즉, 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제3 실시예는 가장 단순한 방법으로, 신경망의 출력 뉴런 수를 목표 차원 d'과 동일하게 설정한다. 이를 통해서, 추가적인 반복 없이 100차원의 비선형 랜덤 변환 벡터를 얻을 수 있다.That is, in the output step (S200), the third embodiment of the non-learning neural network model sets the number of output neurons of the neural network to be equal to the target dimension d' in the simplest way. Through this, a 100-dimensional nonlinear random transformation vector can be obtained without additional repetition.

상술한 상기 출력 단계(S200)에서, 상기 비학습 신경망 모델의 제1 실시예 내지 제3 실시예에 의한 동작은 상기의 표 1과 같은 의사코드를 통해 설명할 수 있다.In the above-described output step (S200), the operations according to the first to third embodiments of the non-learning neural network model can be explained through pseudocode as in Table 1 above.

이를 통해서, 상기 출력 단계(S200)는 상술한 실시예의 네트워크 구조를 사용하여, 상기 입력 단계(S100)에 의해 입력되는 데이터 셋(d차원 데이터)이 목표 차원 d'(100 차원) 공간 상으로 비선형적으로 맵핑되며, 이를 새로운 특징 벡터로 사용하는 것이 바람직하다.Through this, the output step (S200) preferably uses the network structure of the above-described embodiment to non-linearly map the data set (d-dimensional data) input by the input step (S100) onto the target dimension d' (100-dimensional) space and use this as a new feature vector.

상기 이상 판단 단계(S300)는 상기 이상 판단부(300)에서, 상기 출력 단계(S200)에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 미리 설정된 기준값을 기준으로, 상기 기준값 이상일 경우, 이상 데이터로 판단하게 된다.The above abnormality judgment step (S300) determines that each of the plurality of random transformation vectors output by the above output step (S200) in the above abnormality judgment unit (300) is abnormal data if the value is greater than a preset standard value.

상세하게는, 상기 이상 판단 단계(S300)는 상기 출력 단계(S200)에 의해 출력된 상기 복수의 랜덤 변환 벡터, 즉, 목표 차원 d' 공간 상으로 비선형적으로 맵핑된 출력 값들 각각에 대해, 미리 설정된 기준값을 기준으로, 상기 기준값 이상일 경우, 이상 데이터로 판단하게 된다.In detail, the above abnormality judgment step (S300) determines that each of the plurality of random transformation vectors output by the above output step (S200), i.e., output values nonlinearly mapped onto the target dimension d' space, is abnormal data if it exceeds a preset reference value.

이를 위해, 상기 이상 판단 단계(S300)는 마할라노비스 거리(Mahalanobis distance)를 점과 분포 사이의 거리를 측정하는 메트릭으로 채용하여, 비학습 신경망 모델과 함께 활용함으로써, 비학습 신경망 기반의 이상 탐지가 가능하도록 하며, 도 2에 도시된 바와 같이, 기준 산출 단계(S310) 및 판단 처리 단계(S320)를 포함하게 된다.To this end, the above-described abnormality judgment step (S300) employs the Mahalanobis distance as a metric for measuring the distance between points and distributions, and utilizes it together with a non-learning neural network model to enable abnormality detection based on a non-learning neural network, and includes a criterion calculation step (S310) and a judgment processing step (S320), as illustrated in FIG. 2.

상기 기준 산출 단계(S310)는 상기 기분 설정부(310)에서, 사전에, 정상 데이터를 포함하는 데이터 셋을 이용하여, 상기 비학습 신경망 모델에 입력하여, 랜덤 변환 벡터를 출력받아, 기설정된 피팅 식을 통해 상기 기준값을 산출하게 된다.The above-mentioned standard calculation step (S310) uses a data set including normal data in advance in the mood setting unit (310), inputs it into the non-learning neural network model, outputs a random transformation vector, and calculates the standard value through a preset fitting formula.

상세하게는, 정상 데이터를 포함하는 데이터 셋, 즉, 정상 데이터의 집합을 Xref라 가정하고, 이 중 판별하고자 하는 정상 데이터의 샘플을 x'라 가정할 경우, 이를 상기 출력 단계(S200)에 의한 비학습 신경망 모델에 입력하면, 비선형 랜덤 변환된 출력 Yref와 이에 포함되는 y'을 얻을 수 있다.In detail, if a data set including normal data, i.e., a set of normal data, is assumed to be Xref, and a sample of normal data to be determined among them is assumed to be x', when this is input into a non-learning neural network model by the output step (S200), a non-linear randomly transformed output Yref and y' included therein can be obtained.

Yref에 대한 평균과 공분산 행렬을 각각 , S라 할 경우, 미리 설정된 상기의 수학식 1을 통해 판별하고자 하는 데이터 샘플 x'에 대한 이상 점수를 산출하는 것이 바람직하다.The mean and covariance matrix for Yref are respectively , S, it is desirable to calculate the abnormality score for the data sample x' to be determined through the above mathematical expression 1 set in advance.

상기 판별하고자 하는 데이터 샘플 x'에 대한 이상 점수는 정상 데이터의 집합 중 판별하고자 하는 정상 데이터의 샘플이기 때문에, 이에 대한 이상 점수는 이상 판별을 위한 기준값(threshold)로 설정하게 된다.Since the abnormality score for the data sample x' to be determined above is a sample of normal data to be determined among the set of normal data, the abnormality score for this is set as a threshold for determining abnormality.

이를 이용하여, 상기 판단 처리 단계(S320)는 상기 판단 처리부(320)에서, 상기 기준 산출 단계(310)를 통해 상기 기준값 산출을 수행하며, 적용된 파라미터가 설정된 상기 피팅 식을 이용하여, 상기 출력 단계(S200에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 상기 피팅 식에 대입하여, 산출되는 값이 상기 기준값 이상일 경우, 이상 데이터로 판단하게 된다.Using this, the judgment processing step (S320) performs the calculation of the reference value through the reference calculation step (310) in the judgment processing unit (320), and, using the fitting equation in which the applied parameters are set, for each of the plurality of random transformation vectors output by the output step (S200), if the calculated value is greater than or equal to the reference value, it is determined as abnormal data.

즉, 상기 판단 처리 단계(S320)는 상기 기준 산출 단계(S310)에서 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식인 상기 수학식 1을 이용하여, 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 상기 수학식 1에 대입하여, 산출되는 값이 상기 기준값 이상일 경우, 이상 데이터로 판단하게 된다.That is, in the judgment processing step (S320), for calculating the reference value in the reference calculation step (S310), the fitting equation, which is the mathematical expression 1 to which the parameters are applied, is used, for each of the plurality of output random transformation vectors, and if the calculated value is greater than or equal to the reference value, it is determined to be abnormal data.

상세하게는, 상기 판단 처리 단계(S320)는 상기 기준 산출 단계(S310)에서 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식인 상기 수학식 1에 상기 출력 단계(S200)에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각을 입력하여, 산출된 값이 상기 기준 산출 단계(310)에 의해 산출된 기준 값, 즉, 정상 데이터의 이상 점수 이상일 경우, 이상 데이터로 판단하게 된다.In detail, the judgment processing step (S320) inputs each of the plurality of random transformation vectors output by the output step (S200) into the mathematical expression 1, which is the fitting equation to which the parameters are applied, for calculating the reference value in the reference calculation step (S310), and if the calculated value is higher than the reference value calculated by the reference calculation step (310), i.e., the abnormality score of normal data, it is determined as abnormal data.

물론, 이와 반대로, 상기 기준값 미만일 경우, 정상 데이터로 판단하게 된다.Of course, conversely, if it is below the above criteria, it is judged as normal data.

이 때, 상기 판단 처리 단계(S320)는 랜덤 출력이 갖는 부정확성을 해소하고, 보다 명확한 판단을 위해, 상기 기준 산출 단계(S310)를 통해서, 정상 데이터의 집합 Xref 중 판별하고자 하는 정상 데이터의 샘플을 둘 이상 추출하여, x1' ~ xn'이라 가정하고, 이를 상기 출력 단계(S200)에 의한 비학습 신경망 모델에 입력하면, 비선형 랜덤 변환된 출력 Yref와 이에 포함되는 y1' ~ yn'을 얻을 수 있다.At this time, the judgment processing step (S320) extracts two or more samples of normal data to be determined from the set Xref of normal data through the reference generation step (S310) to resolve the inaccuracy of random output and, for a more precise judgment, assumes x1' to xn' and inputs these into the non-learning neural network model by the output step (S200), thereby obtaining the nonlinear randomly transformed output Yref and y1' to yn' included therein.

Yref에 대한 평균과 공분산 행렬을 각각 , S라 하고, 상기 수학식 1을 통해서, 판별하고자 하는 데이터 샘플 x1' ~ xn' 각각에 대한 이상 점수를 산출하고, 이를 합산하여, 이상 점수, 즉, 기준값으로 설정하는 것이 바람직하다.The mean and covariance matrix for Yref are respectively , S, and it is desirable to calculate the abnormality score for each of the data samples x1' to xn' to be determined through the mathematical expression 1 above, add them up, and set them as the abnormality score, i.e., the reference value.

이에 대응하여, 상기 판단 처리 단계(S320) 역시도, 상기 기준 산출 단계(S310)에서 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식인 상기 수학식 1에 상기 출력 단계(S200)에 의해 출력된 상기 복수의 랜덤 변환 벡터, 즉, 100차원 벡터 값 각각 입력하여, 산출된 값을 합산한 후, 상기 기준값을 이용하여 이상 데이터/정상 데이터를 판단하는 것이 바람직하다.In response to this, it is also preferable that the judgment processing step (S320) inputs each of the plurality of random transformation vectors, i.e., 100-dimensional vector values, output by the output step (S200) into the mathematical expression 1, which is the fitting equation to which the parameters are applied, for calculating the reference value in the reference calculation step (S310), and then sums up the calculated values, and then determines abnormal data/normal data using the reference value.

이러한 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 방법에 대한 전체 동작은 상기의 표 2와 같은 의사코드를 통해 설명할 수 있다.The entire operation of the non-learning neural network-based anomaly detection method according to one embodiment of the present invention can be explained through the pseudocode as shown in Table 2 above.

이러한 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템 및 그 방법은 도 3에 도시된 바와 같이, 학습 과정을 수행한 신경망 모델과 비교한 결과, 가장 최신의 학습 모델(도 3에서는 LUNAR)과 본 발명에 의한 비학습 신경망 모델(도 3에서는 UNN ORM(실시예 3))이 유사한 또는, 이와 비등한 성능을 보임을 알 수 있었다.As shown in FIG. 3, the non-learning neural network-based anomaly detection system and method according to one embodiment of the present invention were compared with a neural network model that performed a learning process, and it was found that the most recent learning model (LUNAR in FIG. 3) and the non-learning neural network model according to the present invention (UNN ORM (Example 3) in FIG. 3) showed similar or equivalent performance.

냉정하게 해석하자면, 최적의 학습 데이터 셋을 이용하여, 최적의 학습 처리가 이루어진 딥러닝 모델을 이용한 이상 판단 성능이 가장 뛰어나다는 것을 의미하지만, 상술한 바와 같이, 최적의 학습 데이터 셋을 구성하는 과정에서 발생되는 시간/비용, 학습 처리가 이루어지는 과정에서의 시간/컴퓨팅 자원 등을 고려하면, 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 시스템 및 그 방법을 통해서, 학습 과정 없이 인공 신경망을 통해서 출력되는 랜덤한 결과 값을 분석하여, 이상 탐지하는 것이 효율적임을 알 수 있다.To put it bluntly, this means that the anomaly judgment performance is the best using a deep learning model that has undergone optimal learning processing using an optimal learning data set, but as described above, considering the time/cost incurred in the process of constructing an optimal learning data set, the time/computing resources in the process of performing learning processing, etc., it can be seen that it is efficient to detect anomalies by analyzing random result values output through an artificial neural network without a learning process through a non-learning neural network-based anomaly detection system and method according to an embodiment of the present invention.

한편, 본 발명의 일 실시예에 따른 비학습 신경망 기반 이상 탐지 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.Meanwhile, the non-learning neural network-based anomaly detection method according to one embodiment of the present invention may be implemented in the form of a program command that can be performed through various electronic information processing means and recorded in a storage medium. The storage medium may include program commands, data files, data structures, etc., singly or in combination.

저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The program commands recorded on the storage medium may be those specially designed and configured for the present invention, or may be those known and available to those skilled in the software field. Examples of the storage medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands such as ROMs, RAMs, and flash memories. Examples of the program commands include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a device that electronically processes information using an interpreter, for example, a computer.

이상과 같이 본 발명에서는 구체적인 구성 소자 등과 같은 특정 사항들과 한정된 실시예 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것 일 뿐, 본 발명은 상기의 일 실시예에 한정되는 것이 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific matters such as specific components and limited example drawings, but this has only been provided to help a more general understanding of the present invention, and the present invention is not limited to the above-described embodiment, and those skilled in the art to which the present invention pertains can make various modifications and variations from this description.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허 청구 범위뿐 아니라 이 특허 청구 범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the idea of the present invention should not be limited to the described embodiments, and all things that are equivalent or equivalent to the scope of the patent claims as well as the scope of the patent claims are included in the scope of the idea of the present invention.

100 : 데이터 입력부
200 : 신경망 처리부
300 : 이상 판단부
310 : 기준 설정부 320 : 판단 처리부
100 : Data input section
200: Neural network processing unit
300 : Ideal Judgment Department
310: Standard setting unit 320: Judgment processing unit

Claims (10)

이상 탐지를 수행하고자 하는 데이터 셋을 입력받는 데이터 입력부;
기저장되어 있는 비학습 신경망 모델에 상기 데이터 셋을 입력하여, 복수의 랜덤 변환 벡터를 출력받는 신경망 처리부; 및
출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 기설정된 기준값을 기준으로, 상기 기준값 이상일 경우, 이상 데이터로 판단하는 이상 판단부;
를 포함하는, 비학습 신경망 기반 이상 탐지 시스템.
A data input section that receives a data set on which anomaly detection is to be performed;
A neural network processing unit that inputs the above data set into a pre-stored non-learning neural network model and outputs multiple random transformation vectors; and
An abnormality determination unit that determines that each of the plurality of output random transformation vectors is abnormal data if it exceeds a preset reference value;
An anomaly detection system based on a non-learning neural network, comprising:
제 1항에 있어서,
상기 신경망 처리부는
입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며,
출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우,
출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되,
매 반복 시, 네트워크 가중치를 초기화하는, 비학습 신경망 기반 이상 탐지 시스템.
In paragraph 1,
The above neural network processing unit
It includes a non-learning neural network model that includes a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity.
When the parameters are set so that a value of one dimension or a dimension lower than the preset target dimension is output by the layer included in the output section,
Repeat the above data set input to the above unlearned neural network model until the output value corresponds to the number of target dimensions.
An anomaly detection system based on non-learning neural networks that initializes the network weights at each iteration.
제 1항에 있어서,
상기 신경망 처리부는
입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어, 드랍아웃 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며,
출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우,
출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되,
매 반복 시, 드랍아웃 레이어를 활용하여, 무작위로 네트워크 가중치를 0으로 설정하는, 비학습 신경망 기반 이상 탐지 시스템.
In paragraph 1,
The above neural network processing unit
It includes a non-learning neural network model that includes a layer for processing input data, a layer for performing linear transformation, a dropout layer, and an activation function layer for adding linearity.
When the parameters are set so that a value of one dimension or a dimension lower than the preset target dimension is output by the layer included in the output section,
Repeat the above data set input to the above unlearned neural network model until the output value corresponds to the number of target dimensions.
An anomaly detection system based on a non-learning neural network that randomly sets the network weights to 0 at each iteration using a dropout layer.
제 1항에 있어서,
입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며,
출력단에 포함되는 레이어에 의해 기설정된 목표 차원의 값이 출력되도록 파라미터 설정될 경우,
추가 반복 없이 목표 차원의 개수에 해당하는 값이 출력되는, 비학습 신경망 기반 이상 탐지 시스템.
In paragraph 1,
It includes a non-learning neural network model that includes a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity.
When the parameters are set so that the values of the target dimension set by the layer included in the output section are output,
An anomaly detection system based on a non-learning neural network that outputs values corresponding to the number of target dimensions without additional iterations.
제 2항 내지 제 4항에 있어서,
상기 이상 판단부는
사전에, 정상 데이터를 포함하는 데이터 셋을 이용하여, 상기 비학습 신경망 모델에 입력하여, 랜덤 변환 벡터를 출력받아, 기설정된 피팅 식을 통해 상기 기준값을 산출하는, 기준 설정부; 및
상기 기준 설정부에 의해 상기 기준값 산출을 위해, 파라미터가 적용된 상기 피팅 식을 이용하여, 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 상기 피팅 식에 대입하여, 산출되는 값이 상기 기준값 이상일 경우, 이상 데이터로 판단하는 판단 처리부;
를 포함하는, 비학습 신경망 기반 이상 탐지 시스템.
In clauses 2 to 4,
The above judgment department
In advance, a reference setting unit that inputs a data set including normal data into the non-learning neural network model, outputs a random transformation vector, and calculates the reference value through a preset fitting formula; and
A judgment processing unit that uses the fitting formula to which the parameters are applied to calculate the reference value by the above-mentioned reference setting unit to determine that each of the plurality of output random transformation vectors is abnormal data if the calculated value is greater than or equal to the reference value by substituting the calculated value into the fitting formula;
An anomaly detection system based on a non-learning neural network, comprising:
연산 처리 수단에 의해 각 단계가 수행되는 비학습 신경망 기반 이상 탐지 시스템을 이용한 비학습 신경망 기반 이상 탐지 방법으로서,
데이터 입력부에서, 이상 탐지를 수행하고자 하는 데이터 셋을 입력받는 입력 단계(S100);
신경망 처리부에서, 기저장되어 있는 비학습 신경망 모델에 상기 입력 단계(S100)에 의한 상기 데이터 셋을 입력하여, 복수의 랜덤 변환 벡터를 출력받는 출력 단계(S200); 및
이상 판단부에서, 상기 출력 단계(S200)에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 기설정된 기준값을 기준으로, 상기 기준값 이상일 경우, 이상 데이터로 판단하는 이상 판단 단계(S300);
를 포함하는, 비학습 신경망 기반 이상 탐지 방법.
A non-learning neural network-based anomaly detection method using a non-learning neural network-based anomaly detection system in which each step is performed by an operation processing means,
In the data input section, an input step (S100) for receiving a data set on which anomaly detection is to be performed;
In the neural network processing unit, an output step (S200) for inputting the data set by the input step (S100) into the pre-stored non-learning neural network model and outputting multiple random transformation vectors; and
In the abnormal judgment unit, for each of the plurality of random transformation vectors output by the output step (S200), an abnormal judgment step (S300) for judging it as abnormal data if the value is greater than a preset standard value;
An anomaly detection method based on a non-learning neural network, comprising:
제 6항에 있어서,
상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은
입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며,
출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우,
출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되,
매 반복 시, 네트워크 가중치를 초기화하는, 비학습 신경망 기반 이상 탐지 방법.
In paragraph 6,
In the above output step (S200), the non-learning neural network model
It includes a non-learning neural network model that includes a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity.
When the parameters are set so that a value of one dimension or a dimension lower than the preset target dimension is output by the layer included in the output section,
Repeat the above data set input to the above unlearned neural network model until the output value corresponds to the number of target dimensions.
Anomaly detection method based on non-learning neural networks that initializes network weights at each iteration.
제 6항에 있어서,
상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은
입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어, 드랍아웃 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며,
출력단에 포함되는 레이어에 의해 1차원 또는, 기설정된 목표 차원보다 낮은 차원의 값이 출력되도록 파라미터 설정될 경우,
출력되는 값이 목표 차원의 개수에 해당할 때까지 상기 비학습 신경망 모델에 상기 데이터 셋을 반복 입력하되,
매 반복 시, 드랍아웃 레이어를 활용하여, 무작위로 네트워크 가중치를 0으로 설정하는, 비학습 신경망 기반 이상 탐지 방법.
In paragraph 6,
In the above output step (S200), the non-learning neural network model
It includes a non-learning neural network model that includes a layer for processing input data, a layer for performing linear transformation, a dropout layer, and an activation function layer for adding linearity.
When the parameters are set so that a value of one dimension or a dimension lower than the preset target dimension is output by the layer included in the output section,
Repeat the above data set input to the above unlearned neural network model until the output value corresponds to the number of target dimensions.
An anomaly detection method based on a non-learning neural network that randomly sets the network weights to 0 at each iteration by utilizing a dropout layer.
제 6항에 있어서,
상기 출력 단계(S200)에서, 상기 비학습 신경망 모델은
입력 데이터를 처리하는 레이어, 선형 변환을 수행하는 레이어 및 선형성을 추가하기 위한 활성함수 레이어를 포함하는 비학습 신경망 모델을 포함하며,
출력단에 포함되는 레이어에 의해 기설정된 목표 차원의 값이 출력되도록 파라미터 설정될 경우,
추가 반복 없이 목표 차원의 개수에 해당하는 값이 출력되는, 비학습 신경망 기반 이상 탐지 방법.
In paragraph 6,
In the above output step (S200), the non-learning neural network model
It includes a non-learning neural network model that includes a layer for processing input data, a layer for performing linear transformation, and an activation function layer for adding linearity.
When the parameters are set so that the values of the target dimension set by the layer included in the output section are output,
An anomaly detection method based on a non-learning neural network that outputs values corresponding to the number of target dimensions without additional iterations.
제 7항 내지 제 9항에 있어서,
상기 이상 판단 단계(S300)는
기준 설정부에서, 사전에, 정상 데이터를 포함하는 데이터 셋을 이용하여, 상기 비학습 신경망 모델에 입력하여, 랜덤 변환 벡터를 출력받아, 기설정된 피팅 식을 통해 상기 기준값을 산출하는 기준 산출 단계(S310); 및
판단 처리부에서, 상기 기준 산출 단계(310)를 통해 상기 기준값 산출을 수행하며, 적용된 파라미터가 설정된 상기 피팅 식을 이용하여, 상기 출력 단계(S200에 의해 출력된 상기 복수의 랜덤 변환 벡터 각각에 대해, 상기 피팅 식에 대입하여, 산출되는 값이 상기 기준값 이상일 경우, 이상 데이터로 판단하는 판단 처리 단계(S320);
를 포함하는, 비학습 신경망 기반 이상 탐지 방법.
In clauses 7 to 9,
The above abnormal judgment step (S300)
In the standard setting section, in advance, a standard calculation step (S310) is performed in which a data set including normal data is input into the non-learning neural network model, a random transformation vector is output, and the standard value is calculated through a preset fitting formula; and
In the judgment processing unit, the reference value is calculated through the reference calculation step (310), and, using the fitting formula for which the applied parameters are set, a judgment processing step (S320) for determining that the data is abnormal if the calculated value is greater than or equal to the reference value by substituting each of the plurality of random transformation vectors output by the output step (S200) into the fitting formula;
An anomaly detection method based on a non-learning neural network, comprising:
KR1020230162451A 2023-11-21 2023-11-21 Abnormal detection system and method using untrained neural network Pending KR20250075220A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230162451A KR20250075220A (en) 2023-11-21 2023-11-21 Abnormal detection system and method using untrained neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230162451A KR20250075220A (en) 2023-11-21 2023-11-21 Abnormal detection system and method using untrained neural network

Publications (1)

Publication Number Publication Date
KR20250075220A true KR20250075220A (en) 2025-05-28

Family

ID=95932708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230162451A Pending KR20250075220A (en) 2023-11-21 2023-11-21 Abnormal detection system and method using untrained neural network

Country Status (1)

Country Link
KR (1) KR20250075220A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102514795B1 (en) 2020-03-12 2023-03-29 한국과학기술원 Electronic device for recognizing visual stimulus based on spontaneous selective neural response of deep artificial neural network and operating method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102514795B1 (en) 2020-03-12 2023-03-29 한국과학기술원 Electronic device for recognizing visual stimulus based on spontaneous selective neural response of deep artificial neural network and operating method thereof

Similar Documents

Publication Publication Date Title
CN111737458B (en) Attention mechanism-based intention recognition method, device, equipment and storage medium
CN111753881B (en) Concept sensitivity-based quantitative recognition defending method against attacks
Lee et al. Learning binary code with deep learning to detect software weakness
Fan et al. Learning stable Koopman embeddings
US20220083868A1 (en) Neural network training method and apparatus, and electronic device
EP3572985A1 (en) System and method for generating explainable latent features of machine learning models
Chalmond Modeling and inverse problems in imaging analysis
CN111325318B (en) Neural network training method, neural network training device and electronic equipment
CN104869126B (en) A kind of network intrusions method for detecting abnormality
CN114118259B (en) Target detection method and device
CN111401473B (en) Infrared Target Classification Method Based on Attention Mechanism Convolutional Neural Network
Guo et al. Robust echo state networks based on correntropy induced loss function
Gu et al. A robust model structure selection method for small sample size and multiple datasets problems
CN114358278B (en) Training method and device for neural network model
CN111488904A (en) Image classification method and system based on adversarial distribution training
US9536206B2 (en) Method and apparatus for improving resilience in customized program learning network computational environments
CN111932451A (en) Method and device for evaluating repositioning effect, electronic equipment and storage medium
KR102033354B1 (en) Cnn learning based malware analysis apparatus, cnn learning based malware analysis method of performing the same and storage media storing the same
CN118568650A (en) Industrial anomaly detection method and system based on fine-grained text prompt feature engineering
CN113449840A (en) Neural network training method and device and image classification method and device
CN112560881A (en) Object identification method and device and data processing method
CN112348161B (en) Neural network training method, neural network training device and electronic equipment
WO2021111832A1 (en) Information processing method, information processing system, and information processing device
KR20250075220A (en) Abnormal detection system and method using untrained neural network
CN112329929A (en) Countermeasure sample generation method and device based on proxy model

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20231121

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20231121

Comment text: Patent Application

PG1501 Laying open of application