KR20200058161A - Method of generating normal band for abnormal data detecting based on time series data and using follower boundray setting and device implementing thereof - Google Patents

Method of generating normal band for abnormal data detecting based on time series data and using follower boundray setting and device implementing thereof Download PDF

Info

Publication number
KR20200058161A
KR20200058161A KR1020180142823A KR20180142823A KR20200058161A KR 20200058161 A KR20200058161 A KR 20200058161A KR 1020180142823 A KR1020180142823 A KR 1020180142823A KR 20180142823 A KR20180142823 A KR 20180142823A KR 20200058161 A KR20200058161 A KR 20200058161A
Authority
KR
South Korea
Prior art keywords
data
follower
generator
normal band
anchor
Prior art date
Application number
KR1020180142823A
Other languages
Korean (ko)
Other versions
KR102133277B1 (en
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 KR1020180142823A priority Critical patent/KR102133277B1/en
Publication of KR20200058161A publication Critical patent/KR20200058161A/en
Application granted granted Critical
Publication of KR102133277B1 publication Critical patent/KR102133277B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to a method for generating a normal band based on boundary setting of followers and time series data and a normal band generating device implementing the same. The normal band generating device according to an embodiment of the present invention comprises: a database for storing data calculated in chronological order; a follower generator which receives anchor data that is preceded in chronological order, receives noise data that diversifies the anchor data to calculate U, L, and follower data, and calculates follower data to correspond to the noise data by applying a mathematical relationship established between the noise data; and a band generator which generates a normal band composed of follower data calculated by the follower generator.

Description

팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치{METHOD OF GENERATING NORMAL BAND FOR ABNORMAL DATA DETECTING BASED ON TIME SERIES DATA AND USING FOLLOWER BOUNDRAY SETTING AND DEVICE IMPLEMENTING THEREOF}METHOD OF GENERATING NORMAL BAND FOR ABNORMAL DATA DETECTING BASED ON TIME SERIES DATA AND USING FOLLOWER BOUNDRAY SETTING AND DEVICE IMPLEMENTING THEREOF}

본 발명은 팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치에 관한 것이다.The present invention relates to a method for generating a normal band capable of detecting abnormal data based on a boundary setting of a follower and time series data, and a normal band generating apparatus implementing the same.

최근 기계학습을 위한 알고리즘과 방법론이 다양하게 제시되고 있다. 기계학습에서 필요한 것은 무엇보다도 많은 데이터를 이용하여 학습을 수행하는 것이다. 그런데, 데이터를 확보하기 위해서는 수많은 데이터들 중에서 학습에 적합한 데이터를 선정하고 이를 학습의 결과값과 연결시키는 것이 필요하다. 딥러닝은 이러한 학습에 기반한 기술이며, 수많은 데이터에 기반한 지도 학습 방식으로 컨볼루셔널 신경망(CNN, Convolutional Neural Network)이나 재귀신경망(RNN, Reccurrent Neural Network) 등이 있다. Recently, various algorithms and methodologies for machine learning have been proposed. What is needed in machine learning is to perform learning using more data than anything else. However, in order to secure data, it is necessary to select data suitable for learning from a large number of data and link it with the result of learning. Deep learning is a technology based on such learning, and there are convolutional neural networks (CNNs) and reccurrent neural networks (RNNs) as supervised learning methods based on numerous data.

따라서 많은 수의 학습 데이터를 통한 학습 과정 없이 데이터 자체에서 정보를 산출하는 비지도 학습 기술에 대한 관심이 증가하고 있다. 최근 GAN(Generative Adversarial Network)는 정답에 대한 정보를 제공하지 않으면서 진짜 같은 데이터를 생성하는 것을 목표로 한다. Therefore, there is increasing interest in unsupervised learning technology that produces information from the data itself without a learning process through a large number of learning data. Recently, the GAN (Generative Adversarial Network) aims to generate real-life data without providing information about the correct answer.

그러나, 데이터를 생성하여 진짜 데이터와 구별할 수 없게 만들기 위해서는 데이터를 모조품으로 만들어야 하는 역할(생성기)과 이 데이터가 모조품인지 아닌지를 구별하는 역할(판별기)가 주어져야 한다. 그리고 생성기와 판별기 간의 상호 작용을 통해 적은 수의 데이터를 기반으로 많은 수의 만들어진 데이터를 산출할 수 있다. However, in order to create data and make it indistinguishable from real data, it is necessary to be given the role of making data as a counterfeit (generator) and the role of discriminating whether or not this data is counterfeit. And, through the interaction between the generator and the discriminator, a large number of created data can be calculated based on a small number of data.

이하, GAN 과 같은 구성에서 생성기와 판별기에 기반하여 시계열상의 데이터를 새로운 데이터들로 구성하는 방법과 장치에 대해 살펴본다. 특히, 팔로워 데이터의 범위나 조건을 세밀하게 조정하기 위해 팔로워의 경계 설정을 이용하여 팔로워 데이터의 생성의 정밀도를 높이는 방법과 장치에 대해 살펴본다.Hereinafter, a method and apparatus for constructing data on a time series based on a generator and a discriminator in new configurations such as GAN will be described. In particular, a method and apparatus for increasing the precision of the generation of the follower data by using the follower boundary setting in order to fine-tune the range or condition of the follower data will be described.

본 발명은 시계열 데이터들을 이용하여 학습된 팔로워 생성기를 산출하여 시계열 데이터의 후속하는 데이터들을 예측하고자 한다.The present invention seeks to predict the subsequent data of the time series data by calculating the learned follower generator using the time series data.

본 발명은 시계열 데이터의 후속하는 데이터들의 범위인 정상 밴드를 생성하여 후속하여 산출된 시계열 데이터가 정상 데이터인지를 판별할 수 있도록 한다. The present invention makes it possible to determine whether the subsequently calculated time series data is normal data by generating a normal band that is a range of subsequent data of the time series data.

본 발명은 시계열 데이터들에 기반하여 학습된 장치가 시계열 데이터가 입력되면 후속하는 시계열 데이터를 실제 시계열 데이터에 근접하게 산출하여 시계열 데이터들의 예측 정확도 및 정상판단 정확도를 높이고자 한다. The present invention seeks to increase prediction accuracy and normal judgment accuracy of time-series data by calculating subsequent time-series data close to actual time-series data when the time-series data is input by a device learned based on time-series data.

본 발명은 팔로워 데이터의 범위나 조건을 세밀하게 조정하기 위해 코스트 펑션을 적용하여 팔로워 데이터의 생성의 정밀도를 높이고자 한다. The present invention seeks to increase the precision of the creation of the follower data by applying a cost function to fine-tune the range or condition of the follower data.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned herein will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 의한 정상 밴드 생성 장치는 시간 순으로 산출되는 데이터가 저장된 데이터베이스와, 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 팔로워 생성기와, 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함한다. 본 발명의 일 실시예에 의한 정상 밴드 생성 장치가 정상 밴드를 생성하는 방법은 정상 밴드 생성 장치의 데이터베이스에 시간 순으로 산출되는 데이터를 저장하는 단계와, 상기 정상 밴드 생성 장치의 팔로워 생성기가 시간 순으로 선행하는 m개의 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 단계와, 상기 정상 밴드 생성 장치의 밴드 생성기가 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 단계를 포함한다. In the normal band generating apparatus according to an embodiment of the present invention, a database in which data calculated in chronological order is stored, and anchor data preceding in chronological order are input, and noise data for diversifying the anchor data is input to form a boundary. It includes U, L which are the boundary setting values, a follower generator for calculating follower data, and a band generator for generating a normal band composed of follower data calculated by the follower generator. The method of generating a normal band by the normal band generating apparatus according to an embodiment of the present invention includes storing data calculated in chronological order in a database of the normal band generating apparatus, and a follower generator of the normal band generating apparatus in chronological order. Receiving m data of preceding anchors, receiving noise data for diversifying the anchor data, and calculating U, L and follower data, which are two boundary set values, which are boundaries, and of the normal band generating apparatus. And a band generator generating a normal band composed of follower data calculated by the follower generator.

본 발명을 구현할 경우 시계열 데이터들을 이용하여 학습된 팔로워 생성기를 산출하여 시계열 데이터의 후속하는 데이터들을 예측할 수 있다. When implementing the present invention, a learned follower generator can be calculated using time series data to predict subsequent data of the time series data.

본 발명을 구현할 경우 시계열 데이터의 후속하는 데이터들의 정상 밴드를 밴드와 같이 일정한 범위를 가지도록 생성하여 후속하여 산출된 시계열 데이터가 정상 데이터인지를 판별할 수 있다. When implementing the present invention, it is possible to determine whether the subsequently calculated time series data is normal data by generating a normal band of subsequent data of the time series data to have a certain range, such as a band.

본 발명을 구현할 경우 시계열 데이터들에 기반하여 학습된 장치가 시계열 데이터가 입력되면 후속하는 시계열 데이터를 실제 시계열 데이터에 근접하게 산출하여 시계열 데이터들의 예측 정확도 및 정상판단 정확도를 높일 수 있다. In the implementation of the present invention, when time-series data is input by a device trained based on time-series data, subsequent time-series data can be calculated close to actual time-series data to increase prediction accuracy and normal judgment accuracy of time-series data.

본 발명을 구현할 경우 팔로워 데이터의 범위나 조건을 세밀하게 조정하기 위해 팔로워의 경계를 설정하여 팔로워 데이터의 생성의 정밀도를 높일 수 있다. When implementing the present invention, the precision of the generation of the follower data can be increased by setting the boundary of the follower to fine-tune the range or condition of the follower data.

본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects provided by the present invention are not limited to the above-mentioned effects, and other effects not mentioned herein will be clearly understood by those skilled in the art from the following description.

도 1은 GAN 의 동작 과정을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 정상 밴드 생성장치의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 판별기가 판별하는 과정을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 팔로워 생성기가 팔로워를 생성하는 과정을 보여주는 도면이다.
도 5 내지 도 8은 본 발명의 일 실시예에 의한 정상 밴드와 계측된 팔로워 데이터들의 위치를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 도 5에 제시된 시계열 데이터들이 지속하여 누적되며 정상 밴드 내부 혹은 외부에 위치하는 형태를 보여주는 그래프이다.
도 10 및 도 11은 본 발명의 일 실시예에 의한 시계열 데이터에서 앵커 데이터와 팔로워 데이터를 설정하여 동작하는 과정을 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 의한 정상 밴드 생성장치가 학습된 팔로워 생성기에 기반하여 입력된 앵커 데이터에 대응하는 정상 밴드를 생성하는 과정을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 판별기와 팔로워 생성기 사이에서 학습을 수행하는 과정을 보여주는 도면이다.
도 14는 본 발명의 일 실시예에 의한 팔로워 생성기가 정상 정상 밴드를 생성하기 위해 다수의 팔로워를 생성하는 과정을 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 팔로워의 경계가 설정되며 팔로워를 산출하는 팔로워 생성기와 판별기의 구성을 보여주는 도면이다.
도 16은 도 15의 실시예를 적용한 팔로워들과 U, L 사이의 관계를 보여주는 도면이다.
도 17은 본 발명의 일 실시예에 의한 팔로워 생성기가 경계 설정값인 U, L과 이 U, L 사이의 값들을 출력하는 정상 밴드 생성장치의 구성을 보여주는 도면이다.
도 18은 본 발명의 일 실시예에 의한 판별기가 판별하는 과정을 보여주는 도면이다.
도 19는 본 발명의 일 실시예에 의한 팔로워 생성기가 팔로워를 생성하는 과정을 보여주는 도면이다.
도 20 및 도 21은 본 발명의 일 실시예에 의한 팔로워 데이터를 적용한 도면이다.
1 is a view showing the operation process of the GAN.
2 is a view showing the configuration of a normal band generating apparatus according to an embodiment of the present invention.
3 is a view showing a process of discrimination by the discriminator according to an embodiment of the present invention.
4 is a diagram illustrating a process in which a follower generator according to an embodiment of the present invention generates a follower.
5 to 8 are views showing the position of the normal band and the measured follower data according to an embodiment of the present invention.
9 is a graph showing a form in which the time series data shown in FIG. 5 is continuously accumulated and located inside or outside a normal band according to an embodiment of the present invention.
10 and 11 are views showing a process of setting and operating anchor data and follower data in time series data according to an embodiment of the present invention.
12 is a diagram illustrating a process of generating a normal band corresponding to input anchor data based on a learned follower generator by the normal band generating apparatus according to an embodiment of the present invention.
13 is a diagram illustrating a process of performing learning between a discriminator and a follower generator according to an embodiment of the present invention.
14 is a diagram illustrating a process in which a follower generator according to an embodiment of the present invention generates a plurality of followers to generate a normal normal band.
15 is a view showing the configuration of a follower generator and a discriminator that calculates a follower and a boundary of a follower is set according to an embodiment of the present invention.
FIG. 16 is a view showing the relationship between the followers and U and L to which the embodiment of FIG. 15 is applied.
17 is a view showing a configuration of a normal band generating apparatus for outputting values between U, L and U, L, which are boundary setting values, according to an embodiment of the present invention.
18 is a view showing a process of discrimination by the discriminator according to an embodiment of the present invention.
19 is a diagram illustrating a process in which a follower generator according to an embodiment of the present invention generates a follower.
20 and 21 are diagrams to which follower data according to an embodiment of the present invention is applied.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, and only the present embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains. It is provided to completely inform the person having the scope of the invention, and the present invention is only defined by the scope of the claims. The same reference numerals refer to the same components throughout the specification.

본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.In order to clearly describe the present invention, parts irrelevant to the description are omitted, and the same reference numerals are assigned to the same or similar elements throughout the specification. In addition, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to the components of each drawing, the same components may have the same reference numerals as possible even though they are displayed on different drawings. In addition, in describing the present invention, when it is determined that detailed descriptions of related well-known structures or functions may obscure the subject matter of the present invention, detailed descriptions thereof may be omitted.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are only for distinguishing the component from other components, and the essence, order, order, or number of the component is not limited by the term. When a component is described as being "connected", "coupled" or "connected" to another component, the component may be directly connected to or connected to the other component, but different components between each component It will be understood that the "intervenes" may be, or each component may be "connected", "coupled" or "connected" through other components.

본 발명의 실시예에서 설명하는 생성기(Generator) 및 판별기(Discriminator)는 소프트웨어로 구성되는 모듈이지만, 이들 소프트웨어 모듈이 하드웨어적으로 탑재된 것 역시 일 실시예로 한다. 따라서, 본 명세서에서 각 모듈들을 설명하는 것은 소프트웨어 또는 하드웨어로 구현가능하다. The generator and discriminator described in the embodiment of the present invention are modules composed of software, but it is also an embodiment that these software modules are mounted in hardware. Therefore, the description of each module in this specification may be implemented in software or hardware.

앞서 살펴본 바와 같이, 신경망(Neural Network)을 이용하는 머신 러닝인 딥러닝(Deep learning)의 경우, 학습을 위해서는 입력과 출력 쌍의 데이터를 필요로 한다. 그런데, 이러한 입력-출력 데이터를 산출하는 것에 많은 시간이 투여된다. 예를 들어, 고양이와 개의 이미지를 학습시키기 위해서는 고양이에 관한 많은 이미지와 개에 관한 많은 이미지, 그리고 이들의 라벨링 정보가 필요하다. As described above, in the case of deep learning, which is machine learning using a neural network, data of a pair of inputs and outputs is required for learning. However, much time is devoted to calculating such input-output data. For example, in order to learn images of cats and dogs, many images of cats, many images of dogs, and their labeling information are required.

이를 위해 학습에 필요한 데이터를 생성하는 것이 필요해졌다. For this, it became necessary to generate data necessary for learning.

도 1은 GAN 의 동작 과정을 보여주는 도면이다. 판별기(Discriminator)(30)와 생성기(Generator)(10)는 신경망으로 구성된 네트워크이다. 그리고 데이터베이스(DB)(20)는 실제 데이터(Data_real)가 저장된 구성요소이다. 1 is a view showing the operation process of the GAN. The discriminator 30 and the generator 10 are networks composed of neural networks. In addition, the database (DB) 20 is a component in which actual data (Data_real) is stored.

판별기(30)는 데이터베이스(20) 또는 생성기(10)로부터 데이터를 입력받는다. 그리고 이들 데이터 중에서 데이터베이스(20)에서 제공하는 데이터(data_real)와 생성기(10)로부터 제공된 데이터(data_fake)를 판별하도록 학습한다. The discriminator 30 receives data from the database 20 or the generator 10. And, it is learned to determine the data (data_real) provided by the database 20 and the data (data_fake) provided from the generator 10 among these data.

반면, 생성기(10)는 판별기(30)에게 제공하는 데이터(data_fake)가 data_real로 판별되도록 학습한다. 즉, 판별기(30)가 data_fake를 data_real로 판단하도록 생성기(10)가 학습한다. On the other hand, the generator 10 learns to determine that the data (data_fake) provided to the discriminator 30 is data_real. That is, the generator 10 learns so that the discriminator 30 determines data_fake as data_real.

두 개의 신경망 학습기(판별기와 생성기)의 학습 방향을 정리하면 다음과 같다. 판별기(30)는 실제 데이터와 생성기(10)에 의해 생성된 데이터를 구분하도록 학습하고, 생성기(10)는 판별기(30)가 구분할 수 없는 데이터를 생성하도록 학습한다. 반복된 학습 결과 생성기(10)는 데이터베이스(20)에 저장된 실제 데이터에 유사한 데이터들을 생성할 수 있다. The learning directions of the two neural network learners (identifier and generator) are summarized as follows. The discriminator 30 learns to distinguish actual data from data generated by the generator 10, and the generator 10 learns to generate data that the discriminator 30 cannot distinguish. The repeated learning result generator 10 may generate data similar to actual data stored in the database 20.

도 1은 정상 데이터를 모사하는 데이터를 생성하는 과정을 살펴보았다. 정상 데이터의 모사는 정상 데이터가 가질 수 있는 범위를 산출할 수 있다. 이에 본 명세서에서는 정상 데이터 및 정상 데이터를 모사한 데이터에 기반하여 데이터들의 정상 범위를 산출하여 후속하는 데이터들의 범위를 예측하고 그에 대응하여 정상 및 이상 상태를 판단하는 구성에 대해 살펴본다. 1 has looked at the process of generating data that mimics normal data. The simulation of normal data can calculate the range that normal data can have. Accordingly, in this specification, a configuration for calculating a normal range of data based on normal data and data simulating normal data to predict a range of subsequent data, and to determine a normal and abnormal state in response thereto will be described.

이하, 본 발명의 일 실시예에 의한 정상 밴드 생성장치의 구성 및 이들의 동작 과정을 살펴본다. 정상 밴드란, 시계열 데이터 일부에 기반하여 이후 산출될 데이터들의 정상 범위를 지시하는 것을 의미한다. 일종의 데이터들의 터널 혹은 밴드와 같이 정상 영역의 범위를 지시한다. 정상 밴드를 생성하기 위해서는 두 가지의 데이터 그룹으로 구성되는 학습과정이 필요하다. 제1데이터 그룹은 앵커 데이터로 구성된 그룹으로 시계열 데이터들 중에서 선행하는 데이터들을 지시한다. 제2데이터 그룹은 팔로워 데이터로 구성된 그룹으로 시계열 데이터들 중에서 후행하는 데이터들을 지시한다. Hereinafter, the configuration of the normal band generating apparatus according to an embodiment of the present invention and their operation process will be described. The normal band means indicating a normal range of data to be calculated later based on a part of the time series data. It indicates the range of the normal area, such as a tunnel or band of data. In order to generate a normal band, a learning process consisting of two data groups is required. The first data group is a group consisting of anchor data, and indicates preceding data among time series data. The second data group is a group consisting of follower data, and indicates subsequent data among time series data.

정상 밴드를 생성하기 위해서는 계측되거나 센싱된 데이터에 기반하여 판별기가 구분할 수 없는 많은 데이터를 산출하는데, 이 과정에서 앵커 데이터에 기반하여 팔로워 데이터들을 모사하여 생성한 후, 이들 팔로워 데이터들로 구성된 혹은 이들 팔로워 데이터들로 규정되는 정상 밴드를 생성한다. In order to generate a normal band, based on the measured or sensed data, the discriminator produces a lot of data that cannot be distinguished. In this process, the follower data is simulated and generated based on the anchor data, and then composed of these follower data or these Create a normal band defined by follower data.

그 결과 시계열적으로 입력된 데이터들(앵커 데이터들)을 이용하여 이후 발생할 팔로워들의 데이터를 예측하거나 혹은 팔로워 데이터가 정상 혹은 비정상인지를 확인하여 시계열 데이터에서의 오류를 미리 예측할 수 있다. 이외에도 시계열 데이터에 기반한 컴퓨터 성능의 예측, 주가의 예측, 장치의 이상 상황 예측 등이 가능하다. As a result, errors of the time series data can be predicted in advance by predicting data of followers that will occur later using the time-series input data (anchor data) or by checking whether the follower data is normal or abnormal. In addition, it is possible to predict computer performance based on time-series data, predict stock prices, and predict abnormal conditions of devices.

또한, 시계열 데이터를 구성하는 앵커 데이터와 팔로워 데이터의 밴드를 생성함에 있어서 정확도를 높이기 위해 힌트 데이터를 추가로 제공할 수 있다. 힌트 데이터란 앵커 데이터에 대응하는 비시계열적 데이터를 의미한다. 예를 들어, 컴퓨터의 성능(CPU 속도) 정보를 시계열 상으로 추출하여 앵커 데이터 및 팔로워 데이터를 구성할 경우, CPU 속도에 영향을 미치는 비시계열적 데이터(CPU의 종류, CPU가 수행하는 특수한 프로그램 등)를 힌트 데이터로 구성할 수 있다. 힌트 데이터는 앵커 데이터를 설명하거나 앵커 데이트의 특징을 포착하는 정보를 포함할 수 있다. In addition, hint data may be additionally provided to increase accuracy in generating bands of anchor data and follower data constituting time series data. The hint data means non-time-series data corresponding to the anchor data. For example, when extracting computer performance (CPU speed) information in time series to construct anchor data and follower data, non-time series data (type of CPU, special programs executed by CPU, etc.) ) As hint data. The hint data may include information describing the anchor data or capturing the characteristics of the anchor date.

도 2는 본 발명의 일 실시예에 의한 정상 밴드 생성장치의 구성을 보여주는 도면이다. 정상 밴드 생성장치(100)는 팔로워 생성기(Follower Generator)(110), 데이터베이스(120), 판별기(130), 그리고 밴드 생성기(Tunnel Generator)(150)로 구성된다. 여기서 판별기(130)는 팔로워 생성기(110)가 충분히 학습된 경우 정상 밴드 생성장치(100)에서 제거될 수 있다. 또는 판별기(130)는 정상 밴드 생성장치(100)와 분리하여 구성될 수 있다. 2 is a view showing the configuration of a normal band generating apparatus according to an embodiment of the present invention. The normal band generator 100 is composed of a follower generator 110, a database 120, a discriminator 130, and a band generator 150. Here, when the follower generator 110 is sufficiently learned, the discriminator 130 may be removed from the normal band generator 100. Alternatively, the discriminator 130 may be configured separately from the normal band generating device 100.

시간 순으로 산출되는 데이터가 저장된 데이터베이스(120)는 시계열 데이터와 힌트 데이터를 포함한다. 시계열 데이터는 앵커 데이터와 팔로워 데이터로 나뉘어진다. 또한 데이터베이스는 힌트 데이터를 선택적으로 포함할 수 있는데, 한 쌍의 앵커 데이터-팔로워 데이터에 적용되는 힌트 데이터를 지시한다. The database 120 in which data calculated in chronological order is stored includes time series data and hint data. Time series data is divided into anchor data and follower data. In addition, the database may optionally include hint data, which indicates hint data applied to a pair of anchor data-follower data.

판별기(130)는 신경망을 포함하며, 입력 데이터로 시계열 데이터를 입력받으며 선택적으로 힌트 데이터라는 비시계열 데이터를 입력받는다. 시계열 데이터를 입력받음에 있어서, 앵커 데이터와 팔로워 데이터로 나누어 입력받아 학습을 수행한다. 판별기(130)는 데이터베이스(120)에 저장된 정보를 이용하여 충분히 학습을 수행할 수 있다. The discriminator 130 includes a neural network, receives time series data as input data, and optionally receives non-time series data called hint data. In receiving time-series data, learning is performed by dividing it into anchor data and follower data. The discriminator 130 can sufficiently perform learning using the information stored in the database 120.

팔로워 생성기(110) 역시 신경망을 포함하며 시간 순으로 선행하는 앵커 데이터를 입력받아 이에 대응하여 앵커 데이터에 후행하는 둘 이상의 팔로워 데이터를 산출한다. 주어진 앵커 데이터를 이용하여 팔로워 데이터를 생성한다. The follower generator 110 also includes a neural network and receives an anchor data preceding in chronological order to calculate two or more follower data following the anchor data. Create follower data using the given anchor data.

이 과정에서 힌트 데이터와 노이즈 데이터(Z)를 이용할 수 있다. 생성된 팔로워 데이터는 충분히 학습된 판별기(130)에 입력된다. 팔로워 생성기(110)가 제공하는 팔로워 데이터와 이에 대응한 힌트/앵커 데이터가 판별기(130)에 입력되고, 판별기(110)는 생성된 팔로워 데이터를 판별한다. 이 과정에서 팔로워 생성기(110)는 생성된 팔로워 데이터가 판별기(130)에서 진짜 데이터(DB에서 산출된 데이터)로 판별하도록 신경망을 개선해나간다. In this process, hint data and noise data Z may be used. The generated follower data is input to the sufficiently learned discriminator 130. The follower data provided by the follower generator 110 and the hint / anchor data corresponding thereto are input to the discriminator 130, and the discriminator 110 determines the generated follower data. In this process, the follower generator 110 improves the neural network so that the generated follower data is determined by the discriminator 130 as real data (data calculated from the DB).

그 결과, 팔로워 생성기(110)가 충분히 학습되면, 이후 앵커 데이터가 팔로워 생성기(110)에 입력되면 그에 대응하는 팔로워 데이터를 산출한다.As a result, when the follower generator 110 is sufficiently learned, when anchor data is subsequently input to the follower generator 110, follower data corresponding thereto is calculated.

또한, 팔로워 생성기(110)는 입력받은 앵커 데이터에 대응하는 힌트 데이터를 입력받아 팔로워 데이터를 산출할 수 있다. Further, the follower generator 110 may receive hint data corresponding to the received anchor data and calculate follower data.

밴드 생성기(150)는 팔로워 생성기(110)가 산출한 팔로워 데이터들(팔로워 데이터들)을 이용하여 팔로워 데이터가 배치될 수 있는 범위인 정상 밴드를 생성한다. The band generator 150 uses the follower data (follower data) calculated by the follower generator 110 to generate a normal band in a range in which the follower data can be arranged.

비정상 탐지기(160)는 그리고 이후 산출되는 데이터가 밴드 생성기(150)에서 생성한 정상 밴드 내에 위치하는지를 확인할 수 있다. 그리고 비정상 탐지기(160)는 후속하여 입력되는 시계열 데이터가 정상 밴드를 벗어날 경우, 후속하여 입력된 시계열 데이터는 비정상 데이터로 탐지한다. 탐지된 결과는 출력되거나 표시되거나 알람 등으로 사용자에게 전달될 수 있다. The anomaly detector 160 may then check whether the calculated data is located within the normal band generated by the band generator 150. Then, when the time series data that is subsequently input exceeds the normal band, the abnormality detector 160 detects the time series data that is subsequently input as abnormal data. The detected result can be output, displayed, or delivered to the user through an alarm.

도 2의 구성을 정리하면 다음과 같다. 시계열 데이터를 선행하는 앞부분을 앵커 데이터로, 후행하는 뒷부분을 팔로워 데이터로 나누어, 판별기(130)는 앵커/팔로워를 입력받아 진위 여부를 판별한다. The configuration of FIG. 2 is as follows. By dividing the leading part preceding the time series data into anchor data and the following part following the follower data, the discriminator 130 receives the anchor / follower and determines whether it is authentic.

한편, 팔로워 생성기(110)는 현재의 실측/계측/센싱된 데이터를 앵커로 두고, 이에 대응하여 후행할 것으로 예측되는 데이터의 범위, 즉, 앵커 데이터에 대응하여 정상적인 것으로 판별될 팔로워들(산출된 팔로워들)을 생성하고 이들은 밴드 생성기(150)에 입력되어 정상 밴드를 생성한다. 밴드 생성기(150)는 팔로워 생성기(110)에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성한다. On the other hand, the follower generator 110 puts the current measured / measured / sensed data as an anchor, and a range of data predicted to follow in response to this, that is, followers to be determined to be normal in response to the anchor data (calculated) Followers), which are input to the band generator 150 to generate a normal band. The band generator 150 generates a normal band composed of follower data calculated by the follower generator 110.

그리고, 비정상 탐지기(160)는 이후에 발생하는 데이터가 정상 밴드에 속하는지 확인하여 비정상인지 정상인지를 예측할 수 있다. In addition, the abnormality detector 160 may predict whether the abnormal data is normal by checking whether data generated thereafter belongs to a normal band.

이러한 과정을 보다 상세히 살펴본다. Let's look at this process in more detail.

도 3은 본 발명의 일 실시예에 의한 판별기가 판별하는 과정을 보여주는 도면이다. 판별기(130)는 데이터베이스(120)에서 제공되는 시계열 데이터의 앞부분인 앵커(A)와, 뒷부분인 팔로워(F), 그리고 힌트 데이터(H)를 제공받는다. 3 is a view showing a process of discrimination by the discriminator according to an embodiment of the present invention. The discriminator 130 receives an anchor (A) as a front part of the time series data provided from the database 120, a follower (F) as a rear part, and hint data (H).

그리고 이들 H, A, F의 조합을 통해 데이터의 진위를 판별한다. 진짜 데이터(실제 계측되거나 센싱된 데이터)를 입력받으면 진짜라 판별하고, 가짜 데이터를 입력받으면 가짜라 판별하도록 판별기(130) 내의 신경망을 개선한다. And the authenticity of the data is determined through the combination of these H, A, and F. The neural network in the discriminator 130 is improved so that it is determined to be real when real data (actually measured or sensed data) is received, and if it is received, it is determined to be fake.

도 3에서 설명하는 학습이 완료되면, 판별기(130)는 입력되는 앵커 데이터와 팔로워 데이터, 그리고 선택적으로 힌트 데이터의 조합을 이용하여 정상 데이터와 비정상 데이터, 즉 데이터의 진위를 구분할 수 있다. When learning described in FIG. 3 is completed, the discriminator 130 may distinguish normal data and abnormal data, that is, the authenticity of data, using a combination of input anchor data, follower data, and optionally hint data.

이는 입력된 A/F, 그리고 선택적으로 입력된 H의 조합을 통해 판별기(130)는 A-F로 구성되는 시계열 데이터가 정상적인 시계열 데이터인지 그렇지 않은지를 판별할 수 있음을 의미한다. This means that the discriminator 130 can determine whether the time series data composed of A-F is normal time series data or not through a combination of input A / F and optionally input H.

도 4는 본 발명의 일 실시예에 의한 팔로워 생성기가 팔로워를 생성하는 과정을 보여주는 도면이다. 앞서 판별기(130)에 입력된 힌트 데이터와 앵커 데이터가 팔로워 생성기(110)에 입력된다. 4 is a diagram illustrating a process in which a follower generator according to an embodiment of the present invention generates a follower. Hint data and anchor data previously input to the discriminator 130 are input to the follower generator 110.

그리고 랜덤한 노이즈 데이터(Z) 역시 팔로워 생성기(110)에 입력되고, 팔로워 생성기(110)를 구성하는 신경망을 거쳐 가짜 팔로워, 즉 계측되거나 센싱되지 않은 팔로워가 산출된다. 산출된 팔로워는 판별기(130)에 입력된다. And the random noise data Z is also input to the follower generator 110, and a fake follower, that is, a follower that is not measured or sensed, is calculated through the neural network constituting the follower generator 110. The calculated follower is input to the discriminator 130.

노이즈 데이터(Z)는 팔로워 생성기(110)에 입력되는 앵커 데이터를 다변화시키는데, 이는 데이터베이스(120)에 저장될 수도 있고 팔로워 생성기(110)에서 랜덤하게 산출될 수도 있다. 또는 노이즈 데이터(Z)는 각각의 프로세싱 과정에서 생성될 수 있다. The noise data Z diversifies anchor data input to the follower generator 110, which may be stored in the database 120 or may be randomly calculated by the follower generator 110. Alternatively, the noise data Z may be generated in each processing process.

판별기(130)는 입력된 H/A/F에 대해 진위를 판단하여 Real/Fake의 결과를 산출한다. 그리고 이 결과는 팔로워 생성기(110)에게 제공되어 팔로워 생성기(110)가 학습할 수 있도록 한다. 즉, 팔로워 생성기(110)는 판별기(130)의 진위 판단에 기반하여, 판별기(130)가 진짜 데이터로 판별하도록 신경망을 개선한다. The discriminator 130 determines the authenticity of the input H / A / F and calculates the result of Real / Fake. And this result is provided to the follower generator 110 so that the follower generator 110 can learn. That is, the follower generator 110 improves the neural network so that the discriminator 130 discriminates as real data based on the authenticity determination of the discriminator 130.

도 4의 팔로워 생성기(110)의 학습이 지속될수록, 팔로워 생성기(110)는 판별기(130)가 진짜 데이터라고 판별하도록 신경망을 개선한다. 그 결과 팔로워 생성기(110)는 소정의 앵커 데이터와 힌트가 입력되면 정상 범위에 들어가는 팔로워 데이터를 산출할 수 있다. 그리고 정상에 가까운 U와 L을 사용하여 정상 범위(정상 터널, 또는 정상 밴드)를 만들 수 있다. As the learning of the follower generator 110 of FIG. 4 continues, the follower generator 110 improves the neural network so that the discriminator 130 determines that it is real data. As a result, the follower generator 110 may calculate follower data that enters a normal range when predetermined anchor data and hints are input. And you can make a normal range (normal tunnel, or normal band) using U and L close to the top.

이는 밴드 생성기(150)에 제공되며, 이후 특정한 앵커-팔로워로 구성된 시계열 데이터가 입력되면 입력된 앵커에 대응하는 정상 밴드가 생성된다. 비정상 탐지기(160)는 후행하는 팔로워 데이터가 정상 밴드 내에 포함되는지 확인하여 포함될 경우, 데이터는 정상으로 판단된다. 반면, 비정상 탐지기(160)는 후행하는 팔로워 데이터가 정상 밴드 바깥에 배치될 경우 데이터를 비정상으로 판단된다. This is provided to the band generator 150, and when time series data composed of a specific anchor-follower is input, a normal band corresponding to the input anchor is generated. When the anomaly detector 160 checks whether the follower data that follows is included in the normal band and includes the data, it is determined that the data is normal. On the other hand, the abnormality detector 160 determines that the data is abnormal when the follower data that follows is disposed outside the normal band.

도 2 내지 도 4을 요약하면 다음과 같다. 본 발명에서는 시계열 데이터(앵커, 팔로워)와 비시계열 데이터(힌트)를 동시에 입력받아 사용하면서 시계열 데이터에 기반하여 과거의 패턴을 파악하여 미래를 예측할 수 있도록 정상 밴드를 생성할 수 있다. 또한 동시간대의 N차원의 시계열 데이터를 사용하여 데이터 간의 관계에 기반하여 정상 밴드를 N차원으로 생성할 수 있다. 2 to 4 are summarized as follows. In the present invention, while receiving and using time series data (anchor, follower) and non-time series data (hint) at the same time, it is possible to generate a normal band to understand the past pattern and predict the future based on the time series data. In addition, normal bands can be generated in N-dimensional based on the relationship between data using N-dimensional time-series data of the same time zone.

과거 GAN은 그림, 텍스트와 같이 비시계열 데이터를 사용하여 정보의 진위를 가리는 것에만 집중하였다. 반면, 본원 발명에서는 시계열 데이터에 기반하여 후속할 데이터의 패턴을 일정 범위 내로 예측할 수 있다. In the past, GAN focused only on concealing the authenticity of information using non-time series data such as pictures and text. On the other hand, in the present invention, a pattern of data to be followed can be predicted within a certain range based on time series data.

뿐만 아니라, 데이터의 상태를 지시하는 비시계열 데이터인 힌트 데이터를 이용하여 정확도를 높일 수 있다. 제품 타입, 일자, 변수 등 결과에 영향을 줄 수 있는 비시계열 데이터를 힌트 데이터에 입력하여 정확도를 높일 수 있다. In addition, accuracy can be improved by using hint data, which is non-time series data indicating the state of data. Accuracy can be improved by inputting non-time series data that can affect the results such as product type, date, and variable into hint data.

즉, 본 명세서의 실시예는 팔로워 생성기(120)를 통해 산출된 많은 팔로워 데이터에 기반하여 정상 밴드가 생성되며, 이 정상 밴드에 실제 측정된 팔로워 데이터가 포함되는지 여부를 통해 정상 팔로워 데이터와 비정상 팔로워 데이터로 구분할 수 있다. That is, according to the embodiment of the present specification, a normal band is generated based on a lot of follower data calculated through the follower generator 120, and the normal follower data and the abnormal follower are determined through whether or not the normal band actually includes the measured follower data. It can be classified as data.

왜냐하면 팔로워 생성기(120)가 학습을 완료하면, 주어진 앵커 데이터에 대응하여 판별기(130)가 진짜 데이터로 판단할 수 있는 많은 수의 팔로워 데이터들을 산출할 수 있으며, 이 팔로워 데이터들로 구성된 팔로워 데이터는 하나의 정상 밴드를 생성한다. Because, when the follower generator 120 completes learning, in response to a given anchor data, the discriminator 130 can calculate a large number of follower data that can be determined as real data, and follower data composed of the follower data Creates one normal band.

도 5 내지 도 8은 본 발명의 일 실시예에 의한 정상 밴드와 계측된 팔로워 데이터들의 위치를 보여주는 도면이다. 5 to 8 are views showing the position of the normal band and the measured follower data according to an embodiment of the present invention.

시간축(t) 상에서 변화하는 시계열 데이터가 세로축(y)에 표시된다. 정상 밴드(210)은 이전 시계열 데이터(앵커 데이터)에 의해 팔로워 생성기(130)가 산출한 무수한 팔로워 데이터들이 배치된 범위를 나타낸 것이다. 정상 밴드(210) 내에 매 시점에 측정된 시계열 데이터(220)가 배치되어 있다. Time series data that changes on the time axis t is displayed on the vertical axis y. The normal band 210 represents a range in which a myriad of follower data calculated by the follower generator 130 by previous time series data (anchor data) is arranged. Time-series data 220 measured at each time point are disposed in the normal band 210.

정상 밴드(210)은 새로이 측정된 시계열 데이터(220)를 기준으로 후행하는 시점의 정상 밴드를 만든다. 즉, 도 5에서는 매 시점을 기준으로 앞서 계측 또는 센싱된 데이터를 앵커 데이터로 팔로워 생성기(130)에 입력하면 그에 후행할 데이터들의 범위(팔로워들로 구성된 정상 밴드)이 산출된다. The normal band 210 creates a normal band at a time point that is trailing based on the newly measured time series data 220. That is, in FIG. 5, when the previously measured or sensed data is input to the follower generator 130 as anchor data based on each time point, a range of data to be followed (normal band composed of followers) is calculated.

도 5에서 t1 시점에서 후속할 시점의 정상 밴드를 산출하기 위해 t0~t1 사이의 센싱 또는 계측된 시계열 데이터를 앵커로 입력하면, 도 6과 같이 t1 이후의 정상 밴드(215)이 생성된다. 정상 밴드(215)이 팔로워 생성기(130)에 의해 산출된 후, 계측 또는 센싱된 시계열 데이터가 정상 밴드(215) 내에 포함될 경우 이들 데이터들은 정상적으로 동작하거나 정상 범위라고 판단한다. 도 7은 정상 밴드 내에 후속하는 데이터가 위치함을 보여준다. 215a를 확대하면, 정상 밴드(210a) 내에 데이터(220a)가 배치되어 있음을 확인할 수 있다. In FIG. 5, when the sensed or measured time series data between t0 to t1 is input as an anchor to calculate a normal band at a time t1 to follow, a normal band 215 after t1 is generated as shown in FIG. 6. After the normal band 215 is calculated by the follower generator 130, when the measured or sensed time series data is included in the normal band 215, it is determined that these data operate normally or are in the normal range. 7 shows that the following data is located in the normal band. When 215a is enlarged, it can be confirmed that data 220a is disposed in the normal band 210a.

반면, 도 8은 정상 밴드 바깥으로 후속하는 데이터가 위치함을 보여준다. 215b를 확대하면, 정상 밴드(210b) 바깥으로 데이터(220b)가 배치되어 있음을 확인할 수 있다. 이와 같은 구성에서는 비정상 탐지기(160)는 데이터가 정상 범위를 벗어난 것으로 판단할 수 있다. On the other hand, Fig. 8 shows that the following data is located outside the normal band. When 215b is enlarged, it can be seen that data 220b is disposed outside the normal band 210b. In this configuration, the abnormality detector 160 may determine that the data is outside the normal range.

따라서, 정상 밴드로 출력한 후, 후속하여 입력되는 시계열 데이터가 정상 밴드를 벗어나는 경우 후속하여 입력된 시계열 데이터는 비정상 탐지기(160)에 의해 비정상 데이터로 판단되며, 도 8과 같이 표시할 수 있다. 물론, 다른 방식으로 표시할 수 있다. 또한, 비정상 데이터에 대해 별도의 경고 프로세스를 제공할 수 있다. 주요 관리자인 사용자에게 비정상 데이터가 발생했음을 메일, 문자, 혹은 사용자의 스마트폰의 어플, 혹은 노트북 등에 경고 메시지가 제공될 수 있다. Accordingly, when the time series data that is subsequently input after the output to the normal band deviates from the normal band, the subsequently input time series data is determined as abnormal data by the abnormality detector 160 and may be displayed as shown in FIG. 8. Of course, it can be displayed in different ways. In addition, a separate warning process may be provided for abnormal data. A warning message may be provided to a user who is the main administrator, such as an email, a text message, or a user's smartphone application, or a laptop, that an abnormal data has occurred.

실제 계측 또는 센싱되거나 소정의 시계열 형태로 산출된 데이터의 흐름(220b)이 정상 밴드(210b)을 벗어날 경우 정상 밴드 생성장치(100)는 정상 밴드를 벗어난 데이터가 감지된 것으로 확인하고 이에 대한 알람을 수행할 수 있다. When the flow 220b of data actually measured or sensed or calculated in a predetermined time series is out of the normal band 210b, the normal band generating apparatus 100 confirms that data out of the normal band is detected and alarms the same. It can be done.

도 9는 본 발명의 일 실시예에 의한 도 5에 제시된 시계열 데이터들이 지속하여 누적되며 정상 밴드 내부 혹은 외부에 위치하는 형태를 보여주는 그래프이다. 도 9에서 정상 밴드(210)과 실제 데이터(220)의 관계가 제시되며, 217에서 지시하는 영역을 제외하면, 정상 밴드(210) 내에 실제 데이터(220)가 배치되어 실제 데이터(220)의 범위가 적절히 예측되었음을 보여준다. 9 is a graph showing a form in which the time series data shown in FIG. 5 is continuously accumulated and located inside or outside a normal band according to an embodiment of the present invention. In FIG. 9, the relationship between the normal band 210 and the actual data 220 is presented, and except for the region indicated by 217, the actual data 220 is disposed in the normal band 210 to thereby range the actual data 220 Shows that it is properly predicted.

217과 같이 정상 밴드를 벗어난 경우 비정상 탐지기(160)는 이상 상태인 것으로 판단할 수 있으며, 이에 대해 외부에 경고(alert) 메시지를 제공할 수 있다. When the band is out of the normal band as shown in 217, the abnormality detector 160 may be determined to be in an abnormal state, and an alert message may be provided to the outside.

도 5 내지 도 9에서 밴드 생성기(150)는 실제 데이터인 앵커 데이터가 종료하는 시점 이후 팔로워 생성기(110)가 생성한 팔로워 데이터들의 집합 영역을 정상 밴드(210)로 출력한다. 비정상 탐지기(160)는 후속하여 입력되는 시계열 데이터가 정상 밴드(210) 내에 포함되는지 여부를 확인하여 비정상 데이터를 탐지한다. In FIGS. 5 to 9, the band generator 150 outputs the set region of the follower data generated by the follower generator 110 to the normal band 210 after the anchor data, which is the actual data, ends. The abnormality detector 160 detects abnormality data by checking whether subsequently input time series data is included in the normal band 210.

이하, 팔로워 생성기(110)와 판별기(130)가 동작하는 세부 실시예를 살펴본다. Hereinafter, a detailed embodiment in which the follower generator 110 and the discriminator 130 are operated will be described.

도 10 및 도 11은 본 발명의 일 실시예에 의한 시계열 데이터에서 앵커 데이터와 팔로워 데이터를 설정하여 동작하는 과정을 보여주는 도면이다. 도 10에서 DB(120) 내의 시계열 데이터 중에서 선행하는 데이터들을 앵커 데이터로, 후행하는 데이터를 팔로워 데이터로 구성한다. 그리고 힌트 데이터로는 센서명(Sensor1)과 날짜(2018/04/20)가 제공된다. 10 and 11 are views showing a process of setting and operating anchor data and follower data in time series data according to an embodiment of the present invention. In FIG. 10, among the time series data in the DB 120, preceding data is configured as anchor data, and subsequent data is configured as follower data. In addition, the sensor name (Sensor1) and date (2018/04/20) are provided as hint data.

입력되는 데이터의 예시는 221과 같다. 221과 같은 데이터는 판별기(130)에 입력되어 학습된다. 이와 같은 학습 과정은 DB(120) 내의 다양한 시계열 데이터 및 힌트 정보에 기반하여 학습이 이루어진다. 또한, 221는 Time 0~ 9까지의 앵커-팔로워이며 이후의 시계열 데이터를 기반으로 Time 1~10 까지의 앵커-팔로워를 구축할 수 있으며 이는 222와 같다. 221 및 222는 판별기(130)를 학습시키는 입력 데이터가 된다. 도 10은 최대한 많이 확보한 데이터에 기반하여 판별기(130)를 학습시키는 과정을 반복한다. Examples of input data are as shown in 221. Data such as 221 is input to the discriminator 130 to be learned. The learning process is performed based on various time series data and hint information in the DB 120. In addition, 221 is an anchor follower from Time 0 to 9, and an anchor follower from Time 1 to 10 can be built based on the subsequent time series data, which is equal to 222. 221 and 222 become input data for training the discriminator 130. 10 repeats the process of learning the discriminator 130 based on the data obtained as much as possible.

또한, 도 11과 같이 팔로워 생성기(110)는 주어진 데이터에 기반하여 새로운 팔로워를 생성한다. 도 11에서 앵커 데이터와 힌트 데이터, 그리고 노이즈 데이터(Noise data)를 팔로워 생성기(110)에 입력하여 팔로워를 생성한다(231, 232). 생성된 팔로워(Generated Follower)는 도 10의 221, 222와 같이 판별기(130)에 입력된다. In addition, as shown in FIG. 11, the follower generator 110 creates a new follower based on the given data. 11, anchor data, hint data, and noise data are input to the follower generator 110 to generate a follower (231, 232). The generated follower (Generated Follower) is input to the discriminator 130 as shown in 221, 222 of FIG.

판별기(130)는 이미 도 10의 과정을 통해 학습이 진행된 상태이므로, 학습된 상태에서 입력된 데이터가 가짜(생성된 팔로워)인지 진짜(DB에 저장된 팔로워)인지를 구별한다. 이 과정에서 판별기(130)가 판별한 결과에 기반하여 팔로워 생성기(110)는 신경망을 개선하여 판별기(130)가 진짜로 판별할 수 있는 팔로워를 생성하도록 학습한다. The discriminator 130 discriminates whether the data input in the learned state is a fake (created follower) or a real (follower stored in the DB) since the learning has already been progressed through the process of FIG. 10. In this process, based on the results determined by the discriminator 130, the follower generator 110 learns to improve the neural network to generate a follower that the discriminator 130 can really discriminate.

도 10 및 도 11은 학습 과정을 보여준다. 판별기(130)에는 힌트 데이터가 H에 입력되고, 앵커 데이터(실제 데이터)와 팔로워 데이터가 입력된다. 여기서 팔로워 데이터는 앵커 데이터와 셋트가 되는 실제 데이터가 될 수도 있고 팔로워 생성기(110)가 생성하는 팔로워가 될 수도 있다. H-A-F의 셋은 221 또는 222와 같이 하나의 셋트로 결합되어 데이터 셋이 되며 이를 판별기(130)에 입력할 수 있다. 10 and 11 show a learning process. In the discriminator 130, hint data is input to H, and anchor data (real data) and follower data are input. Here, the follower data may be actual data that is an anchor data and a set, or may be a follower generated by the follower generator 110. The set of H-A-Fs are combined into one set, such as 221 or 222, to form a data set, which can be input to the discriminator 130.

판별기(130)는 데이터가 실제 데이터의 분포를 따르는지에 따라 이를 판별하는데, 힌트 데이터와 앵커데이터는 실제 데이터만 입력되므로, 판별기(130)는 팔로워 데이터가 실제 데이터인지 혹은 생성된 데이터인지를 판별한다. The discriminator 130 determines this according to whether the data conforms to the distribution of the actual data. Hint data and anchor data are input only from the actual data, so the discriminator 130 determines whether the follower data is real data or generated data. Discriminate.

판별기(130)의 학습은 실제 데이터(팔로워 데이터가 앵커 데이터와 함께 데이터베이스에 저장된 경우)에는 참으로 판단하고, 생성된 데이터(팔로워 데이터가 팔로워 생성기가 생성한 경우)에는 거짓으로 판단하여 판별기(130)를 구성하는 네트워크의 가중치 값을 조절하며 학습한다. The learning of the discriminator 130 is judged to be true for actual data (when the follower data is stored in the database together with anchor data), and false for the generated data (when the follower data is generated by the follower generator). Learning by adjusting the weight value of the network constituting (130).

도 11은 팔로워 생성기(110)의 학습을 보여준다. 팔로워 생성기(110)는 힌트 데이터와 실제 시계열 데이터의 앞부분(Anchor), 그리고 랜덤한 노이즈를 입력으로 받는다. 이들 3종류의 데이터를 결합하여 하나의 데이터 셋트로 구성할 수 있다. 11 shows learning of the follower generator 110. The follower generator 110 receives hint data, anchor of real time series data, and random “noise” as input. These three types of data can be combined to form one data set.

팔로워 생성기(110)는 입력 받은 셋트에 기반하여 내부의 학습 모듈을 구성하는 네트워크를 거쳐 "가짜" 반쪽 중 뒷부분(Follower)을 생성합니다. 생성되는 데이터의 크기는 팔로워의 크기와 동일하도록 설정할 수 있다. The follower generator 110 generates a follower of the "fake" halves through the network composing the internal learning module based on the received set. The size of the generated data can be set equal to the size of the follower.

생성하는 과정은 입력값들이 네트워크를 거쳐 가중치에 따라 값이 변화하여, 최종적으로 팔로워의 사이즈와 같은 데이터가 만들어지는데, 초기의 팔로워 생성기(110)는 네트워크의 가중치들의 값이 잘 조절되지 못하여, 이를 거쳐 만들어낸 팔로워 데이터는 진짜로 판별되지 못할 수 있다. In the process of generating the input values, the values change according to the weights through the network, so that the data such as the size of the “follower” is finally created. In the initial follower generator 110, since the values of the weights of the network are not adjusted well, “ The "follower" data created may not be really discernible.

가중치 값의 조절은 판별기(130)가 진짜로 판별하게 만들기 위해 진짜 팔로워 데이터의 분포를 따르도록 모사하는 방향으로 점진적으로 진행된다. 이 과정에서 학습이 진행되며 팔로워 생성기(110)는 진짜 팔로워 데이터의 분포에 근접하여 잘 모사할 수 있게 되다. Adjustment of the weight value is gradually progressed in a direction that simulates to follow the distribution of the real follower data in order to make the discriminator 130 really discriminate. Learning progresses in this process, and the follower generator 110 can closely simulate the distribution of real follower data.

그 결과, 팔로워 생성기(110)는 힌트 데이터 및 앵커 데이터에 대응하는 진짜 같은, 즉 정상으로 판단될 수 있는 팔로워 데이터를 생성할 수 있다. 이때 랜덤한 노이즈는 팔로워 데이터를 "진짜 범위에 속하지만 조금 다양하게 만들어줄 수 있는" 역할을 하여 데이터 밴드를 생성할 수 있도록 한다.As a result, the follower generator 110 may generate authentic follower data corresponding to hint data and anchor data, that is, it can be determined as normal. At this time, the random “noise” acts as a function that can make the follower data "belonging to the real range, but a little different", so that a data band can be generated.

팔로워 생성기(110)와 판별기(130)는 CNN(Convolutional Neural Network )구조를 가질 수 있으며, 각각의 학습 과정은 전술한 판별기(130)는 잘 판별하도록 학습 네트워크의 가중치를 조절하고 팔로워 생성기(110)는 판별기(130)가 구별하지 못하는 팔로워를 잘 생성하도록 가중치 조절을 반복하여 딥러닝을 수행한다. The follower generator 110 and the discriminator 130 may have a convolutional neural network (CNN) structure, and in each learning process, the discriminator 130 described above adjusts the weight of the learning network and discriminates the follower generator ( 110) performs deep learning by repeating weight adjustment so that the discriminator 130 generates a follower that is not distinguishable.

도 12는 본 발명의 일 실시예에 의한 정상 밴드 생성장치가 학습된 팔로워 생성기에 기반하여 입력된 앵커 데이터에 대응하는 정상 밴드를 생성하는 과정을 보여주는 도면이다. 12 is a diagram illustrating a process of generating a normal band corresponding to input anchor data based on a learned follower generator by a normal band generator according to an embodiment of the present invention.

도 10 및 도 11은 시간이 0 인 시점을 기준으로 누적된 데이터를 이용하여 판별기(130) 및 팔로워 생성기(110)를 학습하였다. 충분히 학습된 뒤에는 팔로워 생성기(110)를 이용하여 팔로워를 생성할 수 있다. 10 and 11 learned the discriminator 130 and the follower generator 110 using the accumulated data based on the time point when the time is 0. After sufficiently learned, a follower may be generated using the follower generator 110.

예를 들어, Time이 101~105 인 시점에서 계측 또는 센싱 또는 산출된 데이터들이 앵커 데이터와 같을 때, 이를 팔로워 생성기(110)에 입력한다. 그리고 다양한 노이즈 데이터(Noise Data)를 입력하면 생성된(Generated) 팔로워들이 241과 같이 다수 산출되며 이를 반영하여 정상 데이터 패턴이 242와 같이 산출된다. For example, when the measured or sensed or calculated data is the same as the anchor data at the time when the time is 101 to 105, it is input to the follower generator 110. In addition, when various noise data are input, a number of generated followers are calculated as 241, and the normal data pattern is calculated as 242.

즉, Time이 101~105 인 시점이 입력되면 Time 106인 시점에서 발생 가능한 정상 데이터의 패턴이 산출되며 이는 밴드 생성기(150)에 입력되어 정상 밴드를 생성한다. 그리고 실제로 Time 106에서 산출된 데이터가 정상 밴드 내에 포함되는지 여부에 따라 정상 데이터인지 비정상 데이터인지를 확인할 수 있다. That is, when the time points from 101 to 105 are input, a pattern of normal data that can occur at the time from time 106 is calculated, which is input to the band generator 150 to generate a normal band. In addition, it is possible to check whether the data calculated in Time 106 is normal data or abnormal data according to whether or not it is included in the normal band.

본 명세서에서의 시계열 데이터는 산업 현장에서 산출되는 다양한 데이터들을 일 실시예로 한다. 제조 분야의 공구 또는 기계들에서 산출되는 다양한 데이터들일 시계열 데이터가 될 수 있다. 예를 들어 드릴의 마모도 혹은 드릴의 정상 상태를 확인하기 위해서 드릴을 포함한 센서 데이터가 매시점 산출되고, 이는 시간축에 대응하는 1차원 값을 가지는 시계열 데이터가 된다. Time series data in the present specification is an embodiment of a variety of data calculated in the industrial field. A variety of data produced by tools or machines in the manufacturing field may be time series data. For example, sensor data including a drill is calculated every time to check the wear degree of the drill or the normal state of the drill, and this is time series data having a one-dimensional value corresponding to the time axis.

이 시계열 데이터는 도 2와 같이 판별기(130) 및 팔로워 생성기(110)를 학습하는 데이터가 되고, 일정한 학습이 이루어진 후에는 팔로워 생성기(110)에 입력되는 드릴의 센싱된 정보(센서 데이터)에 대응하여 이후 산출될 데이터의 범위(정상 밴드)이 밴드 생성기(150)에서 출력된다. 또한, 밴드 생성기(150)는 정상 밴드를 벗어난 값이 센싱될 경우 이에 대해 경고 메시지를 생성할 수 있다. 드릴의 경우 시계열 데이터의 예시로는 드릴의 속도, 각도, 전류값 등이 될 수 있다. This time series data becomes data for learning the discriminator 130 and the follower generator 110 as shown in FIG. 2, and after constant learning is performed, the drill sensed information (sensor data) input to the follower generator 110 Correspondingly, a range (normal band) of data to be calculated later is output from the band generator 150. Also, the band generator 150 may generate a warning message for a value outside the normal band when it is sensed. In the case of a drill, examples of time series data may be a speed of a drill, an angle, and a current value.

제조설비에서는 시간에 따라 측정된 센서 값(전류, 속도, 압력, 온도 등)이 시계열 데이터가 되며, 이들 시계열 데이터의 일부는 앵커 데이터가 되며 이에 후속하는 데이터는 판별기(130)를 학습시키는데 필요한 팔로워 데이터가 된다. In manufacturing facilities, sensor values (current, velocity, pressure, temperature, etc.) measured over time become time-series data, and some of these time-series data become anchor data, and subsequent data is required to learn the discriminator 130. It becomes follower data.

또한, 서버 성능 모니터링에서 주기적으로 수집된 성능 값(CPU/메모리 사용량, 데이터 입출력량 등) 역시 시계열 데이터가 될 수 있다. In addition, in the server performance monitoring, performance values periodically collected (CPU / memory usage, data input / output, etc.) can also be time series data.

다양하게 센싱된 값(측정값)은 전술한 바와 같이 정상 데이터의 정상 밴드를 생성하게 되며, 이 정상 밴드를 벗어나는 값이 센싱되면 이에 대해 비정상 여부를 탐지하고 예측할 수 있다. The various sensed values (measured values) generate a normal band of normal data as described above, and when a value outside the normal band is sensed, it is possible to detect and predict an abnormality.

예를 들어 CPU 사용량에 대한 정상 밴드를 생성하고, 실제 CPU 사용량 값이 밴드를 벗어났을 경우 이를 비정상(예를 들어 CPU 과다 사용)으로 판단하여 사용자에게 경고를 해줄 수 있다. 그 외에도 시스템 상에서 변동하는 정보들, 예를 들어 주가의 경우에는 주가나 환율 등, 날씨의 경우에는 온도, 습도 등의 정보가 시계열 데이터로 입력될 수 있다.For example, a normal band for “CPU” usage can be generated, and if the “actual” CPU ”usage value is out of band, it can be determined as abnormal (for example, excessive use of CPU) to warn the user. In addition, information that fluctuates on the system, for example, stock price or exchange rate in the case of stock price, temperature and humidity in case of weather, may be input as time series data.

판별기(130) 및 팔로워 생성기(110)에 적용되는 GAN에 기반하여 일정하게 입력된 시계열 데이터에 대해 후속하는 데이터들이 가질 수 있는 값들로 구성되는 정상 밴드가 팔로워 생성기(110) 및 밴드 생성기(150)에서 산출되므로, 이를 이용하여 데이터들의 경향을 확인할 수 있으며, 미래 데이터를 예측하는 데에 사용할 수 있다. 또한 밴드를 벗어나는 값, 예를 들어 비정상 데이터가 비정상 탐지기(160)에 의해 센싱되면 이에 대해 적절한 경고를 수행할 수 있다. 즉, 정상 밴드가 생성된 후, 후속하여 입력되는 시계열 데이터가 정상 밴드를 벗어날 경우, 비정상 탐지기(160)는 이를 비정상 데이터로 확인할 수 있다. The normal band consisting of values that subsequent data can have for the input time series data based on GAN applied to the discriminator 130 and the follower generator 110 is a follower generator 110 and a band generator 150 ), It can be used to check the trend of data and can be used to predict future data. In addition, when a value out of the band, for example, abnormal data is sensed by the abnormality detector 160, an appropriate warning may be performed. That is, after the normal band is generated, when the subsequently input time series data deviates from the normal band, the abnormality detector 160 may check it as abnormal data.

또한, 시계열 데이터가 아닌 데이터들도 정상 밴드 생성에 적용될 수 있도록 비시계열적 데이터인 힌트 데이터도 팔로워 생성기(110) 및 판별기(130)에 입력된다. In addition, hint data, which is non-time series data, is also input to the follower generator 110 and the discriminator 130 so that non-time series data can be applied to normal band generation.

힌트 데이터는 시계열 데이터와 연관된 "정보"로, 같은 패턴의 시계열 데이터라도(심지어 값마저 같아도) 다른 종류의 힌트 데이터를 통해 그 데이터의 의미를 보다 정교하게 구분할 수 있다. 계절이나 요일, 설비의 종류 등이 힌트 데이터가 될 수 있다. 주가 데이터의 경우에는 힌트 데이터가 해당 회사의 업종 등이 될 수 있으며, 시간에 따른 판매량-재고 시계열 데이터의 힌트 데이터는 상품의 종류, 요일 및 공휴일 여부 등이 될 수 있다. The hint data is "information" associated with the time series data, and even the time series data of the same pattern (even the same value) can be distinguished more precisely by means of different kinds of hint data. Season, day of the week, and type of equipment can be hint data. In the case of stock price data, hint data may be a business type of the corresponding company, and “hint data” of sales volume-inventory time series data according to time may be a product type, “day of the week”, and public holiday.

힌트 데이터는 추상적으로는 시계열 데이터에 해당하는 라벨(label)역할을 할 수 있으며, 시계열 데이터에 결합하여 입력된다. 이를 위해 판별기(130) 및 팔로워 생성기(110)는 "Conditional GAN"을 적용할 수 있다. 이는 추가 값(condition)을 노이즈와 함께 입력시켜 생성하기를 원하는 것을 만들어주는 GAN을 일 실시예로 한다. 이는 팔로워 생성시 하나의 기준 혹은 참조하는 값이 될 수 있다. The hint data may serve as a label corresponding to the time series data abstractly, and is input by being combined with the time series data. To this end, the discriminator 130 and the follower generator 110 may apply “Conditional GAN”. This is an embodiment of the GAN that makes the desired value to be generated by inputting an additional value (condition) with the noise. This may be a reference or a reference value when creating a follower.

도 8에서 살펴본 바와 같이 하나의 시계열 데이터가 주어지는 경우 2차원 평면에서 시계열 데이터의 정상 정상 밴드가 생성될 수 있다. 복수의 시계열 데이터를 사용할 경우 3차원 또는 4차원 이상으로 시계열 데이터의 정상 정상 밴드가 생성될 수 있다.As shown in FIG. 8, when one time series data is given, a normal normal band of time series data may be generated in a two-dimensional plane. When a plurality of time series data is used, a normal normal band of the time series data may be generated in three or more dimensions.

본 발명의 일 실시예에 의한 팔로워 생성기(110)는 실제로 존재하지는 않으나, 이를 모방한 데이터를 생성할 수 있다. 그리고 진짜 데이터와 유사한 가짜 데이터를 무한히 생성할 수 있게 되어 이를 기반으로 정상 밴드를 생성할 수 있다. 데이터의 생성은 랜덤한 노이즈를 입력하여 가능하다. 정상 밴드는 정상 범주에 속하는 데이터들의 범위를 일 실시예로 한다. The follower generator 110 according to an embodiment of the present invention does not actually exist, but may generate data imitating it. In addition, it is possible to infinitely generate fake data similar to real data, and thus a normal band can be generated. Data can be generated by inputting random noise. The normal band is an example of a range of data belonging to the normal category.

도 13은 본 발명의 일 실시예에 의한 판별기와 팔로워 생성기 사이에서 학습을 수행하는 과정을 보여주는 도면이다. 학습을 위해서는 일정량의 학습용 데이터가 준비된다(S310). S310의 학습용 데이터는 시계열 데이터인 앵커 데이터(A)와 팔로워 데이터(F), 그리고 힌트 데이터(H)가 될 수 있다. 여기서 H, A, F는 모두 실제 데이터이며 이들 데이터는 데이터베이스(120)에 저장된 상태이다. 그리고 판별기(130) 및 팔로워 생성기(110) 모두 학습을 위한 신경망을 초기 구성한다(S312, S314). 13 is a diagram illustrating a process of performing learning between a discriminator and a follower generator according to an embodiment of the present invention. For learning, a certain amount of learning data is prepared (S310). The learning data of S310 may be time series data, anchor data (A), follower data (F), and hint data (H). Here, H, A, and F are all actual data, and these data are stored in the database 120. And both the discriminator 130 and the follower generator 110 initially construct a neural network for learning (S312, S314).

판별기(130)는 학습용 데이터(H, A, F)를 입력받는다(S316). 그리고 입력된 데이터가 실제 데이터인지 가짜 데이터(생성기가 제공)인지를 판별하고(S322) 판별 결과가 정확해지도록 신경망을 업데이트하여 학습한다(S326). 다른 실시예에 의하면, 초기 학습 과정에서 판별기(130)는 S322 단계 없이 학습용 데이터(H, A, F)가 입력되고 이것이 진짜 데이터임을 지시받아 학습할 수 있다. The discriminator 130 receives learning data (H, A, F) (S316). Then, it is determined whether the input data is real data or fake data (provided by the generator) (S322), and the neural network is updated and learned to be accurate (S326). According to another embodiment, in the initial learning process, the discriminator 130 may learn by receiving instruction data (H, A, F) without step S322 and instructing that this is real data.

한편 S316에서 판별기(130)에 입력된 데이터 중 일부(H, A)는 팔로워 생성기(110)에 제공되고(S317), 팔로워 생성기(110)는 랜덤한 노이즈 Z를 입력받고, 전달받은 H, A를 입력받아 데이터(Generated Follower)를 생성한다(S318). 팔로워 생성기(110)는 이 생성된 데이터(Generated Follower)가 S310의 "F"를 모사하여 S322에서 진짜로 판별되도록 하는 것을 목표로 한다. On the other hand, some of the data (H, A) input to the discriminator 130 in S316 is provided to the follower generator 110 (S317), and the follower generator 110 receives random noise Z, and the received H, Input A to generate data (Generated Follower) (S318). The follower generator 110 aims to make this generated data (Generated Follower) really discriminate in S322 by simulating "F" of S310.

팔로워 생성기(110)는 (H, A, Generated Follwer)를 판별기(130)에 입력한다(S320). H, A는 전달받은 것이며, 그로부터 팔로워 생성기(110)가 생성한 "Generated Follower"가 판별기(130)에 입력된다. 이후 판별기(130)는 입력된 데이터가 실제 데이터인지 가짜 데이터(판별기가 제공)인지를 판별하고(S322) 판별 결과가 정확해지도록 신경망을 업데이트하여 학습한다(S326). 이 과정에서 판별된 결과가 다시 팔로워 생성기(110)에게 전달되어 팔로워 생성기(110)는 판별기(110)가 판별기가 진짜라 판별하도록 신경망을 업데이트하여 학습한다. The follower generator 110 inputs (H, A, Generated Follwer) to the discriminator 130 (S320). H and A are received, from which the "Generated Follower" generated by the follower generator 110 is input to the discriminator 130. Thereafter, the discriminator 130 determines whether the input data is real data or fake data (provided by a discriminator) (S322), and updates and learns the neural network so that the discrimination result is correct (S326). The result determined in this process is transmitted to the follower generator 110 again, and the follower generator 110 updates and learns the neural network so that the determiner 110 determines that the determiner is real.

S310~S324를 반복하는 과정에서 판별기(130)가 학습되고, 또한 팔로워 생성기(110) 역시 학습된 결과 팔로워 생성기(110)가 정상 정상 밴드를 생성할 수 있을 만큼 학습된 경우, 팔로워 생성기(110)는 판별기(130)와 독립적으로 동작할 수 있다. In the process of repeating S310 to S324, when the discriminator 130 is learned, and the follower generator 110 is also learned, the follower generator 110 is learned to generate a normal normal band, and the follower generator 110 ) May operate independently of the discriminator 130.

판별기(130)의 학습은 데이터베이스(120)에 저장된 실제 데이터들(제1앵커 데이터 및 제1앵커 데이터에 후행하는 제1팔로워 데이터)와 데이터 베이스에 저장된 실제 및 가상 데이터들(데이터베이스에 저장된 제2앵커 데이터 및 상기 제2앵커 데이터에 대응하여 상기 팔로워 생성기가 생성한 제2팔로워 데이터)를 입력받을 수 있으며, 판별기(130)는 제1팔로워 데이터 및 상기 제2팔로워 데이터를 상기 제1앵커 데이터 및 상기 제2앵커 데이터에 대응하여 판별하도록 학습한다. The learning of the discriminator 130 includes actual data stored in the database 120 (first anchor data and first follower data following the first anchor data) and actual and virtual data stored in the database (first stored in the database). The second anchor data and the second anchor data generated by the follower generator corresponding to the second anchor data) may be input, and the discriminator 130 may receive the first follower data and the second follower data from the first anchor Learn to discriminate in response to data and the second anchor data.

즉, 판별기(130)는 제1팔로워 데이터는 실제 데이터로, 제2팔로워 데이터는 팔로워 생성기(110)가 생성한 데이터로 판별하도록 학습을 지속할 수 있다. 물론, 판별기(130)의 초기 학습을 위해 실제 데이터들만 입력하여 초기 네트워크를 구성할 수도 있다. That is, the discriminator 130 may continue learning to discriminate the first follower data as actual data and the second follower data as data generated by the follower generator 110. Of course, the initial network may be configured by inputting only actual data for initial learning of the discriminator 130.

그리고 판별기(130)가 제2팔로워 데이터를 상기 팔로워 생성기가 생성한 데이터로 판단한 경우 이러한 판단 결과는 팔로워 생성기(110)에게 전달되고 팔로워 생성기(110)는 이러한 판단 결과에 대응하여 학습한다(S322~S324). 학습 결과 팔로워 생성기(110)는 판별기가 실제 데이터와 구분하지 못하는 팔로워 데이터를 생성할 수 있다. And when the discriminator 130 determines the second follower data as the data generated by the follower generator, the result of the determination is transmitted to the follower generator 110 and the follower generator 110 learns in response to the determination result (S322) ~ S324). As a result of learning, the follower generator 110 may generate follower data that the discriminator does not distinguish from the actual data.

도 14는 본 발명의 일 실시예에 의한 팔로워 생성기가 정상 정상 밴드를 생성하기 위해 다수의 팔로워를 생성하는 과정과 밴드 생성기가 이에 기반하여 정상/비정상 데이터를 판별하는 과정을 보여주는 도면이다. 팔로워 생성기(110)는 현재 발생한 데이터를 앵커로 둔다(S330). 여기에 힌트 데이터는 선택적으로 주어진다. 그리고 팔로워 생성기(110)는 랜덤한 노이즈 Z와 주어진 힌트 데이터를 입력받아 팔로워 데이터와 U, L을 생성한다(S334). 밴드 생성기(150)는 팔로워 생성기(110)가 생성한 U와 L로 정상 밴드를 구성한다(S342).14 is a view showing a process in which a follower generator according to an embodiment of the present invention generates a plurality of followers to generate a normal normal band and a process in which the band generator determines normal / abnormal data based on this. The follower generator 110 puts the currently generated data as an anchor (S330). Hint data is optionally given here. Then, the follower generator 110 receives random noise Z and the given hint data to generate follower data, U, and L (S334). The band generator 150 configures a normal band with U and L generated by the follower generator 110 (S342).

그리고 앞서 앵커 데이터 이후 실제 발생한 데이터가 정상 밴드 내에 포함되는지, 즉 비정상 탐지기(160)는 실제 발생한 데이터(즉 후속하여 입력되는 시계열 데이터)가 정상 밴드를 지나는지를 확인한다(S346). 그 결과 밴드를 벗어난 경우(S350) 비정상 탐지기(160)는 비정상 탐지를 확인하고 이를 외부에 알린다(S354). 밴드 내에 발생한 데이터가 위치하면 그 다음 발생한 데이터를 이용하여 S342 내지 S354를 수행할 수 있다. 비정상 탐지란 비정상 데이터가 발생하였음을 지시한다. In addition, whether the data actually generated after the anchor data is included in the normal band, that is, the abnormality detector 160 checks whether actual data (ie, time series data that is subsequently input) passes the normal band (S346). As a result, when it is out of the band (S350), the abnormality detector 160 confirms the abnormality detection and notifies it to the outside (S354). When data generated in the band is located, S342 to S354 may be performed using the next generated data. Anomaly detection indicates that abnormal data has occurred.

도 14에서, 그리고 전체를 하나의 루프로 구성하여 비정상 데이터의 탐지를 지속적으로 수행할 수 있다. In FIG. 14, the whole may be configured as one loop to continuously detect abnormal data.

또다른 실시예로 S346에서 S354를 하나의 루프로, 그리고 전체를 하나의 루프로 구성하여 비정상 데이터의 탐지를 지속적으로 수행할 수 있다. 이는, 현재 데이터에 기반한 정상 밴드를 생성하기 위한 팔로워를 반복하여 1차로 생성하는 것을 의미한다.As another embodiment, the detection of abnormal data may be continuously performed by configuring S346 to S354 as one loop and the whole as one loop. This means that a follower for generating a normal band based on current data is repeatedly generated in the first order.

그리고, 정상 밴드의 생성 후 후속하여 입력된 시계열 데이터가 정상 밴드에 배치되는지를 확인한다. Then, after generation of the normal band, it is confirmed whether subsequently input time series data is placed in the normal band.

여기서, 현재의 데이터에 기반하여 매번 정상 밴드를 생성할 경우 S334 후 S342 및 S346 및 S354를 진행하되 S346 내지 S354는 1회 수행하고 바로 S330 단계로 이행한다. Here, if a normal band is generated each time based on the current data, S342 and S346 and S354 are performed after S334, but S346 to S354 are performed once and the process immediately proceeds to step S330.

만약 현재의 데이터에 기반하여 정상 밴드를 생성하고 실제 발생한 데이터에 대해 2회 이상 정상 밴드의 포함 여부를 확인할 경우, S346 내지 S354의 루프를 2회 이상 반복할 수 있다.정리하면, 정상 데이터의 범위인 정상 밴드는 매 순간 생성될 수 있다. 이 경우 S354 단계 이후에 실제 발생한 데이터가 다시 앵커 데이터로 입력될 수 있으며, S330 단계로 진행할 수도 있다. If a normal band is generated based on the current data and it is confirmed that the normal band is included twice or more with respect to the actually generated data, the loops of S346 to S354 may be repeated two or more times. Phosphorus normal bands can be created every moment. In this case, data actually generated after step S354 may be input again as anchor data, or may proceed to step S330.

또한, 정상 데이터는 1회 생성 후 K번의 시계열 데이터를 입력받아 정상 여부를 판별할 수 있다. 이 경우 S346 내지 S354 단계를 K번 반복할 수 있다.In addition, normal data can be determined by receiving K time-series data after generating it once. In this case, steps S346 to S354 may be repeated K times.

도 13 및 도 14를 정리하면 다음과 같다. 13 and 14 are summarized as follows.

정상 밴드 생성 장치(100)의 데이터베이스(120)에 시간 순으로 산출되는 데이터가 저장된다. 이는 S310의 학습용 데이터로 제공된다. 학습을 통해 팔로워 생성기(110) 및 판별기(130)의 신경망이 업데이트 되면(도 13), 이후 팔로워 생성기(110)는 시간 순으로 선행하는 앵커 데이터를 입력받아 이에 대응하여 앵커 데이터에 후행하는 U, L 데이터를 산출한다(S334). 그리고 밴드 생성기(150)가 팔로워 생성기에서 U, L을 사용하여 정상 밴드를 생성한다(S342). 비정상 탐지기(160)는 그 결과 이후 발생하는 실제 데이터가 밴드 내에 위치하는지를 판단하여 비정상을 탐지할 수 있다. Data calculated in chronological order is stored in the database 120 of the normal band generating apparatus 100. This is provided as learning data of S310. When the neural network of the follower generator 110 and the discriminator 130 is updated through learning (FIG. 13), the follower generator 110 receives U anchor data in chronological order and subsequently follows U in response to the anchor data. , L data is calculated (S334). Then, the band generator 150 generates normal bands using U and L in the follower generator (S342). The abnormality detector 160 may detect the abnormality by determining whether actual data generated after the result are located in the band.

도 15는 본 발명의 일 실시예에 의한 팔로워의 경계가 설정되며 팔로워를 산출하는 팔로워 생성기와 판별기의 구성을 보여주는 도면이다. 15 is a view showing a configuration of a follower generator and a discriminator that calculates a follower and a follower boundary is set according to an embodiment of the present invention.

본 발명의 추가적인 실시예로 팔로워 생성기(Follower Generator)(510)가 팔로워의 상하한 경계라는 특수한 결과에 대응하는 팔로워(U, L)와 그 외의 하나 이상의 팔로워 f를 함께 출력하도록 구현할 수 있다. 일 실시예로, 팔로워 생성기(510)는 입력된 H, A, z 등에 대응하여 유효한 최대 값(U)과 유효한 최소값(L), 그리고 하나 이상의 팔로워 f를 출력한다. 그리고 이들 (U, f, L)은 판별기(530)에 각각 입력된다. As a further embodiment of the present invention, the follower generator 510 may be implemented to output the followers U and L corresponding to a special result of the upper and lower boundaries of the follower together with one or more other followers f. In one embodiment, the follower generator 510 outputs a valid maximum value U, a minimum valid value L, and one or more followers f in response to the inputted H, A, z, and the like. And these (U, f, L) are respectively input to the discriminator 530.

이는 U가 밴드의 상한값을 의미하며 L이 밴드의 하한값을 의미한다. This means that U is the upper limit of the band and L is the lower limit of the band.

세 값의 관계는 수학식 1의 관계를 가질 수 있다. The relationship between the three values may have the relationship of Equation 1.

[수학식 1][Equation 1]

L < f, f < U L <f, f <U

팔로워들(U, f, L)이 출력되도록 코스트펑션(515)이 제약 정보를 포함할 수 있다. 또한 U와 L의 차이(간격)이 최대가 되는 제약 역시 코스트 펑션(515)에 포함될 수 있다. The cost function 515 may include constraint information so that the followers U, f, and L are output. Also, the constraint that the difference (interval) between U and L is the maximum may also be included in the cost function 515.

즉, 입력되는 H, A, z에 대응하여 팔로워 생성기(510)는 코스프펑션(515)에 설정된 수학식 1과 같은 제약 조건 및 U와 L의 간격을 증가시키는 제약 조건을 반영하여 팔로워인 U, f, L을 출력한다. That is, in response to the inputted H, A, and z, the follower generator 510 reflects the constraints such as Equation 1 set in the coast function 515 and the constraints that increase the interval between U and L, which is the follower U, f and L are output.

물론 U, f, L은 모두 판별기(530)를 충족시키는 값들이다. Of course, U, f, and L are all values that satisfy the discriminator 530.

코스트펑션(515)에 포함되는 제약 조건을 보다 세분화하면, 수학식 2와 같다. When the constraints included in the cost function 515 are further subdivided, Equation 2 is given.

[수학식 2][Equation 2]

Max (0, f-U) + max(0, L-f)Max (0, f-U) + max (0, L-f)

1/(U-L)^21 / (U-L) ^ 2

이는 팔로워들이 다수 출력되며 출력된 팔로워들에 대해 최대 값과 최소값을 구하는 것이 아니라 팔로워 생성기(510)가 최대값과 최소값을 별도로 U, L로 출력할 수 있도록 한다. 그리고 U와 L 사이의 간격을 최대로 구현한다.This allows a large number of followers to be output, and not the maximum and minimum values for the output followers, but allows the follower generator 510 to output the maximum and minimum values separately in U and L. And the gap between U and L is maximized.

도 15에 제시된 바와 같이, 힌트 데이터(H)와 앵커 데이터(A)는 전술한 실시예와 같이 입력된다. 그리고 노이즈 데이터 z가 입력된다. 생성된 팔로워(U, f, L)들은 개별적으로 판별기(530)에 입력된다. 그리고 판별기(530)를 통해 팔로워 생성기(510) 역시 학습 과정을 통해 업데이트된다. As shown in FIG. 15, hint data H and anchor data A are input as in the above-described embodiment. And noise data z is input. The generated followers U, f, and L are individually input to the discriminator 530. And the follower generator 510 through the discriminator 530 is also updated through the learning process.

도 15에서 f로 다수개의 팔로워들이 산출될 수 있다. In FIG. 15, a number of followers may be calculated with f.

도 16은 도 15의 실시예를 적용한 팔로워들과 U, L 사이의 관계를 보여주는 도면이다. 최대값 U와 최소값 L 사이에 하나 이상의 f 값들이 출력된다. 그리고 이들은 모두 판별기(530)에 각각 입력된다.FIG. 16 is a view showing the relationship between the followers and U and L to which the embodiment of FIG. 15 is applied. One or more f values are output between the maximum value U and the minimum value L. And these are all input to the discriminator 530, respectively.

도 16에서 팔로워 생성기(530)는 U와 L의 간격이 최대가 되도록 출력한다. 16, the follower generator 530 outputs the distance between U and L to be the maximum.

도 15 및 도 16을 정리하면 다음과 같다. 팔로워 생성기(510)는 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출한다. 15 and 16 are summarized as follows. The follower generator 510 receives leading anchor data in chronological order, receives noise data for diversifying the anchor data, and calculates two boundary setting values U, L, and follower data that become the boundary.

또한, U 역시 팔로워 데이터이며, 팔로워 데이터는 U 보다 작은 값을 가진다. L 역시 팔로워 데이터이며, 팔로워 데이터는 L 보다 큰 값을 가진다.Further, U is also follower data, and the follower data has a value smaller than U. L is also follower data, and the follower data has a value greater than L.

또한, 팔로워 생성기(510)는 U 보다 작고 상기 L 보다 큰 팔로워 데이터만 상기 팔로워 생성기에서 출력되도록 제어하는 코스트 펑션(515)을 포함한다. In addition, the follower generator 510 includes a cost function 515 that controls only follower data smaller than U and greater than L to be output from the follower generator.

추가적으로 코스트펑션(515)은 U 및 L의 차이가 가장 크도록 U와 L을 출력할 수 있다. Additionally, the cost function 515 may output U and L so that the difference between U and L is the largest.

전술한 도 2, 도 3, 도 4에 경계 설정값을 출력하는 팔로워 생성기를 적용할 경우의 구성을 살펴본다. The configuration in the case where the follower generator outputting the boundary setting value is applied to the aforementioned FIGS. 2, 3, and 4 will be described.

도 17은 본 발명의 일 실시예에 의한 팔로워 생성기가 경계 설정값인 U, L과 이 U, L 사이의 값들을 출력하는 정상 밴드 생성장치의 구성을 보여주는 도면이다. 팔로워 생성기(510)가 U, L이라는 특수한 팔로워를 출력한다는 차이점이 있다. 판별기(530)는 도 2의 판별기(130)와 기본적으로 동일한 메커니즘으로 동작한다.17 is a view showing a configuration of a normal band generating apparatus for outputting values between U, L and U, L, which are boundary setting values, according to an embodiment of the present invention. The difference is that the follower generator 510 outputs special followers U and L. The discriminator 530 basically operates with the same mechanism as the discriminator 130 of FIG. 2.

팔로워 생성기(510)는 신경망을 포함하며 시간 순으로 선행하는 앵커 데이터와 선택적으로 노이즈 데이터(z)를 입력받아 이에 대응하여 앵커 데이터에 후행하는 팔로워 데이터를 산출한다. 이때, 팔로워 데이터는 최대 설정값 U와 최소 설정값 L, 그리고 U 와 L 사이의 팔로워 데이터들 f가 출력된다. The follower generator 510 includes a neural network and receives the anchor data that precedes the time and optionally noise data z, and calculates follower data that follows the anchor data in response. At this time, the follower data is output with the maximum set value U and the minimum set value L, and the follower data f between U and L.

힌트 데이터와 노이즈 데이터(z)를 이용할 수 있으며, 생성된 팔로워 데이터(U, f, L)는 충분히 학습된 판별기(530)에 입력된다. 팔로워 생성기(510)가 제공하는 팔로워 데이터(U, f, L)와 이에 대응한 힌트/앵커 데이터가 판별기(530)에 입력되고, 판별기(510)는 생성된 팔로워 데이터를 판별한다. 이 과정에서 팔로워 생성기(510)는 생성된 팔로워 데이터가 판별기(530)에서 진짜 데이터(DB에서 산출된 데이터)로 판별하도록 신경망을 개선해나간다. Hint data and noise data z may be used, and the generated follower data U, f, and L are input to the sufficiently learned discriminator 530. The follower data (U, f, L) provided by the follower generator 510 and hint / anchor data corresponding thereto are input to the discriminator 530, and the discriminator 510 discriminates the generated follower data. In this process, the follower generator 510 improves the neural network so that the generated follower data is determined by the discriminator 530 as real data (data calculated from the DB).

그 결과, 팔로워 생성기(510)가 충분히 학습되면, 이후 앵커 데이터가 팔로워 생성기(510)에 입력되면 그에 대응하는 팔로워 데이터를 산출한다.As a result, when the follower generator 510 is sufficiently learned, when anchor data is subsequently input to the follower generator 510, corresponding follower data is calculated.

또한, 팔로워 생성기(510)는 입력받은 앵커 데이터에 대응하는 힌트 데이터를 입력받아 팔로워 데이터를 산출할 수 있다. 또한, 팔로워 생성기(510)는 전술한 노이즈 데이터를 입력받아 팔로워 데이터를 산출할 수 있다. In addition, the follower generator 510 may receive hint data corresponding to the received anchor data and calculate follower data. In addition, the follower generator 510 may receive the above-described noise data and calculate follower data.

도 18은 본 발명의 일 실시예에 의한 판별기가 판별하는 과정을 보여주는 도면이다. 판별기(530)는 데이터베이스(120)에서 제공되는 시계열 데이터의 앞부분인 앵커(A)와, 뒷부분인 팔로워(F), 그리고 힌트 데이터(H)를 제공받는다. 18 is a view showing a process of discrimination by the discriminator according to an embodiment of the present invention. The discriminator 530 receives the anchor A, which is the front part of the time series data provided from the database 120, the follower F, and the hint data H that is the rear part.

그리고 이들 H, A, F의 조합을 통해 데이터의 진위를 판별한다. 진짜 데이터(실제 계측되거나 센싱된 데이터)를 입력받으면 진짜라 판별하고, 가짜 데이터를 입력받으면 가짜라 판별하도록 판별기(530) 내의 신경망을 개선한다. And the authenticity of the data is determined through the combination of these H, A, and F. The neural network in the discriminator 530 is improved to determine that real data (actually measured or sensed data) is received, and fake data is received.

도 10에서 설명하는 학습이 완료되면, 판별기(530)는 입력되는 앵커 데이터와 팔로워 데이터, 그리고 선택적으로 힌트 데이터의 조합을 이용하여 정상 데이터와 비정상 데이터, 즉 데이터의 진위를 구분할 수 있다. When learning described in FIG. 10 is completed, the discriminator 530 may distinguish normal data from abnormal data, that is, the authenticity of data, using a combination of input anchor data, follower data, and optionally hint data.

이는 입력된 A/F, 그리고 선택적으로 입력된 H의 조합을 통해 판별기(530)는 A-F로 구성되는 시계열 데이터가 정상적인 시계열 데이터인지 그렇지 않은지를 판별할 수 있음을 의미하며, 이는 앞서 살펴본 바와 같다. This means that the discriminator 530 can determine whether the time series data composed of AF is normal time series data or not through the combination of input A / F and optionally input H, as described above. .

도 19는 본 발명의 일 실시예에 의한 팔로워 생성기가 팔로워를 생성하는 과정을 보여주는 도면이다. 도 19는 도 4와 비교할 때, 3 종류의 팔로워 데이터(U, f, L)를 출력한다는 점에서 차이가 있다. 19 is a diagram illustrating a process in which a follower generator according to an embodiment of the present invention generates a follower. FIG. 19 differs from FIG. 4 in that it outputs three types of follower data (U, f, L).

앞서 판별기(530)에 입력된 힌트 데이터와 앵커 데이터가 팔로워 생성기(510)에 입력된다. Hint data and anchor data previously input to the discriminator 530 are input to the follower generator 510.

그리고 랜덤한 노이즈 데이터(z) 역시 팔로워 생성기(510)에 입력된다. 팔로워 생성기(510)를 구성하는 신경망을 거쳐 가짜 팔로워, 즉 계측되거나 센싱되지 않은 팔로워가 산출된다. 이들 팔로워들 (U, f, L)는 수학식 1을 충족하도록 출력된다. 산출된 팔로워(U, f, L)는 판별기(130)에 입력된다. In addition, random noise data z is also input to the follower generator 510. Through the neural network constituting the follower generator 510, a fake follower, that is, a follower that is not measured or sensed, is calculated. These followers (U, f, L) are output to satisfy Equation (1). The calculated followers U, f, and L are input to the discriminator 130.

코스트 펑션(515)는 팔로워 생성기(510)가 출력하는 팔로워 데이터인 U, f, L이 수학식 1을 만족시키면서, 또한 U와 L의 간격을 증가시키도록 팔로워 데이터를 다변화시킨다. 다만, U 와 L의 간격은 미리 설정된 기준을 넘지 않도록 코스트펑션(515)에 제약 조건으로 입력될 수 있다. 팔로워 생성기(510)는 수학식 1 또는 수학식 2 등 U, f, L의 수학적 관계를 충족하도록 신경망을 학습시키고 학습된 결과를 제공할 수 있다. The cost function 515 diversifies the follower data so that the follower data U, f, and L output by the follower generator 510 satisfy Equation 1 and also increase the interval between U and L. However, the interval between U and L may be input as a constraint to the cost function 515 so as not to exceed a preset criterion. The follower generator 510 may train a neural network to satisfy mathematical relationships of U, f, and L, such as Equation 1 or Equation 2, and provide the learned results.

그 외 판별기(530)의 동작 및 판별 과정과 학습은 도 4에서 설명한 바와 같다. The operation and discrimination process and learning of the other discriminator 530 are as described in FIG. 4.

도 20 및 도 21은 본 발명의 일 실시예에 의한 팔로워 데이터를 적용한 도면이다. 20 and 21 are diagrams to which follower data according to an embodiment of the present invention is applied.

팔로워 생성기(510)는 주어진 데이터에 기반하여 새로운 팔로워를 생성한다. 도 21에서 앵커 데이터와 힌트 데이터, 그리고 노이즈 데이터(Noise data)들을 팔로워 생성기(510)에 입력하여 팔로워를 생성한다(601, 602). 생성된 팔로워(Generated Follower)는 앞서 도 10의 221, 222와 같이 판별기(130)에 입력된다. 또는 도 21을 참조할 수 있다. The follower generator 510 creates a new follower based on the given data. In FIG. 21, anchor data, hint data, and noise data are input to the follower generator 510 to generate a follower (601, 602). The generated follower (Generated Follower) is previously input to the discriminator 130 as shown in 221, 222 of FIG. Alternatively, reference may be made to FIG. 21.

601에 표시된 바와 같이, 생성된 팔로워는 U, L과 같이 경계 설정값과 그 사이의 값을 가진다. 601에서 앵커 데이터 10에 대응하여 5개의 팔로워들이 생성되는데, 이 중에서 U는 20.1, L은 16.2, 그리고 U와 L 사이의 3개의 팔로워들이 각각 19.9, 18.5, 16.5의 값을 가진다. 이는 602에서도 앵커 데이터 12에 팔로워들이 U/L 사이의 값을 가짐을 확인할 수 있다. As shown in 601, the generated follower has a boundary setting value and values therebetween, such as U and L. At 601, five followers are generated corresponding to the anchor data 10, of which U is 20.1, L is 16.2, and three followers between U and L have values of 19.9, 18.5, and 16.5, respectively. This also confirms that the followers have a value between U / L in the anchor data 12 even at 602.

도 21은 본 발명의 일 실시예에 의한 정상 밴드 생성장치가 학습된 팔로워 생성기에 기반하여 입력된 앵커 데이터에 대응하는 정상 밴드를 생성하는 과정을 보여주는 도면이다. 21 is a diagram illustrating a process of generating a normal band corresponding to input anchor data based on a learned follower generator by the normal band generating apparatus according to an embodiment of the present invention.

도 10 및 도 20은 시간이 0 인 시점을 기준으로 누적된 데이터를 이용하여 판별기(130, 530) 및 팔로워 생성기(510)를 학습하였다. 충분히 학습된 뒤에는 팔로워 생성기(510)를 이용하여 팔로워를 생성할 수 있다. 10 and 20 learned the discriminators 130 and 530 and the follower generator 510 by using the accumulated data based on the time when the time is 0. After sufficiently learned, a follower may be generated using the follower generator 510.

예를 들어, Time이 101~105 인 시점에서 계측 또는 센싱 또는 산출된 데이터들이 앵커 데이터와 같을 때, 이를 팔로워 생성기(510)에 입력한다. 그리고 다수의 노이즈 데이터(Noise Data)가 입력된다.For example, when the measured or sensed or calculated data is the same as the anchor data at the time when Time is 101 to 105, it is input to the follower generator 510. And a number of noise data (Noise Data) is input.

팔로워 생성기(510)는 입력된 값에 대응하여 팔로워의 경계설정값인 U/L 과 U 및 L 사이의 팔로워들을 출력한다. The follower generator 510 outputs followers between U / L and U and L, which are the boundary setting values of the follower, in response to the inputted value.

도 21에서 첫번째 입력되는 노이즈 데이터는 0.6, 1.3, 0.8이며, 순차적으로 입력된다. 그리고, 앵커 데이터, 힌트 데이터, 노이즈 데이터에 대응하여 산출되는 팔로워들은 642에 제시되며 이 중에서 641과 같이 L과 U를 하한값 및 상한값으로 하는 팔로워들이 출력된다. The noise data input first in FIG. 21 is 0.6, 1.3, 0.8, and is sequentially input. In addition, followers calculated in response to anchor data, hint data, and noise data are presented at 642, and among them, followers having L and U as a lower limit and an upper limit as 641 are output.

생성된(Generated) 팔로워들은 641과 같이 5쌍의 팔로워 데이터들로 구성되는데, 이 중에서 U. L을 다수 산출되며 이를 반영하여 정상 데이터 패턴이 642와 같이 산출된다. Generated followers are composed of 5 pairs of follower data, such as 641. Among them, a large number of U.L are calculated, and the normal data pattern is calculated as 642.

즉, Time이 101~105 인 시점이 입력되면 Time 106인 시점에서 발생 가능한 정상 데이터의 패턴이 산출되며 이는 밴드 생성기(150)에 입력되어 정상 밴드를 생성한다. 그리고 실제로 Time 106에서 산출된 데이터가 정상 밴드 내에 포함되는지 여부에 따라 정상 데이터인지 비정상 데이터인지를 확인할 수 있다. That is, when the time points from 101 to 105 are input, a pattern of normal data that can occur at the time from time 106 is calculated, which is input to the band generator 150 to generate a normal band. In addition, it is possible to check whether the data calculated in Time 106 is normal data or abnormal data according to whether or not it is included in the normal band.

본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다. Although all components constituting the embodiments of the present invention are described as being combined or operated as one, the present invention is not necessarily limited to these embodiments, and all elements within the scope of the present invention are one or more. It can also be operated by selectively combining. In addition, although all of the components may be implemented by one independent hardware, a part or all of the components are selectively combined to perform a part or all of functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. The codes and code segments constituting the computer program can be easily deduced by those skilled in the art of the present invention. Such a computer program is stored in a computer readable storage medium (Computer Readable Media) to be read and executed by a computer, thereby implementing an embodiment of the present invention. The storage medium of the computer program includes a magnetic recording medium, an optical recording medium, and a storage medium including a semiconductor recording element. In addition, the computer program implementing the embodiment of the present invention includes a program module that is transmitted in real time through an external device.

전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변환 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It should be understood that the above-described embodiments are illustrative in all respects and not restrictive, and the scope of the present invention will be indicated by the claims below, rather than the detailed description above. And it should be interpreted that the meaning and scope of the claims, as well as all transformable and deformable forms derived from the equivalent concept, are included in the scope of the present invention.

100: 정상 밴드 생성장치
110, 510, 610: 팔로워 생성기
120: 데이터베이스
130, 530: 판별기
150: 밴드 생성기
160: 비정상 탐지기
515: 코스트 펑션
100: normal band generating device
110, 510, 610: follower generator
120: database
130, 530: discriminator
150: band generator
160: anomaly detector
515: cost function

Claims (14)

시간 순으로 산출되는 데이터가 저장된 데이터베이스;
시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 팔로워 생성기; 및
상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함하며, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
A database storing data calculated in chronological order;
A follower generator that receives anchor data preceding in time order, receives noise data for diversifying the anchor data, and calculates two boundary set values U, L, and follower data as a boundary; And
And a band generator for generating a normal band composed of follower data calculated by the follower generator, wherein a follower boundary is set.
제1항에 있어서,
상기 U는 팔로워 데이터이며, 상기 팔로워 데이터는 상기 U 보다 작은 것을 특징으로 하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
According to claim 1,
The U is follower data, and the follower data is smaller than the U, characterized in that the follower boundary is set normal band generating device.
제1항에 있어서,
상기 L은 팔로워 데이터이며, 상기 팔로워 데이터는 상기 L 보다 큰 것을 특징으로 하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
According to claim 1,
The L is follower data, and the follower data is greater than the L, characterized in that the normal band generation device with a follower boundary is set.
제1항에 있어서,
상기 팔로워 생성기는 상기 U 보다 작고 상기 L 보다 큰 팔로워 데이터만 상기 팔로워 생성기에서 출력되도록 제어하는 코스트 펑션을 더 포함하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
According to claim 1,
The follower generator further includes a cost function that controls only the follower data smaller than the U and greater than the L to be output from the follower generator, and the normal band generating apparatus having a follower boundary set.
제4항에 있어서,
상기 코스트펑션은 상기 U 및 상기 L의 차이가 가장 크도록 상기 U와 상기 L을 출력하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
The method of claim 4,
The cost function outputs the U and the L so that the difference between the U and the L is the largest, a normal band generating apparatus with a follower boundary set.
제1항에 있어서,
상기 데이터베이스에 저장된 제1앵커 데이터 및 상기 제1앵커 데이터에 후행하는 제1팔로워 데이터를 입력받으며,
상기 데이터베이스에 저장된 제2앵커 데이터 및 상기 제2앵커 데이터에 대응하여 상기 팔로워 생성기가 생성한 제2팔로워 데이터를 입력받으며,
상기 제1팔로워 데이터 및 상기 제2팔로워 데이터를 상기 제1앵커 데이터 및 상기 제2앵커 데이터에 대응하여 판별하도록 학습된 판별기를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
According to claim 1,
The first anchor data stored in the database and the first follower data following the first anchor data are received,
The second anchor data stored in the database and the second follower data generated by the follower generator corresponding to the second anchor data are received,
And a discriminator trained to discriminate the first follower data and the second follower data corresponding to the first anchor data and the second anchor data, wherein a follower boundary is set.
제6항에 있어서,
상기 판별기가 상기 제2팔로워 데이터를 상기 팔로워 생성기가 생성한 데이터로 판단한 경우,
상기 팔로워 생성기는 상기 판단 결과에 대응하여 학습하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
The method of claim 6,
When the discriminator determines the second follower data as data generated by the follower generator,
The follower generator learns in response to the determination result, a normal band generating device with a follower boundary set.
제1항에 있어서,
상기 밴드 생성기는 상기 앵커 데이터가 종료하는 시점 이후 상기 팔로워 생성기가 생성한 팔로워 데이터들의 집합 영역을 정상 밴드로 출력하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
According to claim 1,
The band generator outputs a set region of the follower data generated by the follower generator as a normal band after the anchor data ends, a normal band generating apparatus having a follower boundary set.
제8항에 있어서,
후속하여 입력되는 시계열 데이터가 상기 정상 밴드를 벗어나는 경우 상기 후속하여 입력된 시계열 데이터는 비정상 데이터로 탐지하는 비정상 탐지기를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
The method of claim 8,
When the time-series data that is subsequently input is outside the normal band, the time-series data that is subsequently input further includes an abnormality detector that detects abnormal data as a normal band generating device with a follower boundary set.
정상 밴드 생성 장치의 데이터베이스에 시간 순으로 산출되는 데이터를 저장하는 단계;
상기 정상 밴드 생성 장치의 팔로워 생성기가 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 단계; 및
상기 정상 밴드 생성 장치의 밴드 생성기가 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 단계를 포함하며, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
Storing data calculated in chronological order in a database of the normal band generating device;
The follower generator of the normal band generating device receives the anchor data that precedes the chronological order, receives the noise data that diversifies the anchor data, and calculates two boundary set values U, L, and follower data that become the boundary. step; And
And a step in which the band generator of the normal band generating device generates a normal band composed of follower data calculated by the follower generator, and generates a normal band with a follower boundary set.
제10항에 있어서,
상기 U는 팔로워 데이터이며, 상기 팔로워 데이터는 상기 U 보다 작은 것을 특징을 하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
The method of claim 10,
The U is follower data, characterized in that the follower data is less than the U, method of generating a normal band with a follower boundary.
제10항에 있어서,
상기 L은 팔로워 데이터이며, 상기 팔로워 데이터는 상기 L 보다 큰 것을 특징을 하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
The method of claim 10,
Wherein L is the follower data, characterized in that the follower data is greater than the L, the method of generating a normal band is set the boundary of the follower.
제10항에 있어서,
상기 팔로워 생성기는 코스트 펑션을 더 포함하며,
상기 코스트펑션이 상기 U 보다 작고 상기 L 보다 큰 팔로워 데이터만 상기 팔로워 생성기에서 출력되도록 제어하는 단계를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
The method of claim 10,
The follower generator further includes a cost function,
And controlling that only the follower data whose cost function is smaller than U and larger than L is output from the follower generator.
제13항에 있어서,
상기 제어하는 단계는
상기 코스트펑션은 상기 U 및 상기 L의 차이가 가장 크도록 상기 U와 상기 L을 출력하는 단계를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.

The method of claim 13,
The controlling step
The cost function further comprises the step of outputting the U and the L so that the difference between the U and the L is the largest, a method of generating a normal band with a follower boundary.

KR1020180142823A 2018-11-19 2018-11-19 Method of generating normal band for abnormal data detecting based on time series data and using follower boundray setting and device implementing thereof KR102133277B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180142823A KR102133277B1 (en) 2018-11-19 2018-11-19 Method of generating normal band for abnormal data detecting based on time series data and using follower boundray setting and device implementing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180142823A KR102133277B1 (en) 2018-11-19 2018-11-19 Method of generating normal band for abnormal data detecting based on time series data and using follower boundray setting and device implementing thereof

Publications (2)

Publication Number Publication Date
KR20200058161A true KR20200058161A (en) 2020-05-27
KR102133277B1 KR102133277B1 (en) 2020-07-13

Family

ID=70911210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180142823A KR102133277B1 (en) 2018-11-19 2018-11-19 Method of generating normal band for abnormal data detecting based on time series data and using follower boundray setting and device implementing thereof

Country Status (1)

Country Link
KR (1) KR102133277B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557151B1 (en) * 2022-11-17 2023-07-19 서울시립대학교 산학협력단 Method and device for improving quality of time series data

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0463331U (en) * 1990-10-08 1992-05-29
JPH0512240A (en) 1991-07-08 1993-01-22 Hitachi Ltd Prediction device
JPH06201398A (en) * 1993-11-16 1994-07-19 Toyota Motor Corp Method and device for detecting abnormality of equipment
JP2008140100A (en) * 2006-12-01 2008-06-19 Mitsubishi Electric Corp Information processor, data determination method and program
JP2017182693A (en) * 2016-03-31 2017-10-05 三菱日立パワーシステムズ株式会社 Apparatus abnormality diagnosis method and apparatus abnormality diagnosis device
KR20180040287A (en) * 2016-10-12 2018-04-20 (주)헬스허브 System for interpreting medical images through machine learnings
KR101843066B1 (en) * 2017-08-23 2018-05-15 주식회사 뷰노 Method for classifying data via data augmentation of the data for machine-learning and apparatus using the same
KR20180120478A (en) * 2017-04-27 2018-11-06 에스케이텔레콤 주식회사 Method for learning Cross-domain Relations based on Generative Adversarial Network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0463331U (en) * 1990-10-08 1992-05-29
JPH0512240A (en) 1991-07-08 1993-01-22 Hitachi Ltd Prediction device
JPH06201398A (en) * 1993-11-16 1994-07-19 Toyota Motor Corp Method and device for detecting abnormality of equipment
JP2008140100A (en) * 2006-12-01 2008-06-19 Mitsubishi Electric Corp Information processor, data determination method and program
JP2017182693A (en) * 2016-03-31 2017-10-05 三菱日立パワーシステムズ株式会社 Apparatus abnormality diagnosis method and apparatus abnormality diagnosis device
KR20180040287A (en) * 2016-10-12 2018-04-20 (주)헬스허브 System for interpreting medical images through machine learnings
KR20180120478A (en) * 2017-04-27 2018-11-06 에스케이텔레콤 주식회사 Method for learning Cross-domain Relations based on Generative Adversarial Network
KR101843066B1 (en) * 2017-08-23 2018-05-15 주식회사 뷰노 Method for classifying data via data augmentation of the data for machine-learning and apparatus using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://dl-ai.blogspot.com/2017/08/gan-adversarial-learning.html 1부. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557151B1 (en) * 2022-11-17 2023-07-19 서울시립대학교 산학협력단 Method and device for improving quality of time series data

Also Published As

Publication number Publication date
KR102133277B1 (en) 2020-07-13

Similar Documents

Publication Publication Date Title
JP6647573B2 (en) Artificial intelligence module development system and artificial intelligence module development integration system
WO2019191002A1 (en) Object movement behavior learning
KR102118670B1 (en) System and method for management of ict infra
CN101989327B (en) Image analyzing apparatus and image analyzing method
US11221617B2 (en) Graph-based predictive maintenance
US11620494B2 (en) Adaptable on-deployment learning platform for driver analysis output generation
CN106789904A (en) Internet of things intrusion detection method and device
EP3866177A1 (en) Abnormal driving state determination device and method using neural network model
CN110471821A (en) Abnormal alteration detection method, server and computer readable storage medium
JP2019159675A (en) Apparatus, method and program for plant operation assistance
US20200393818A1 (en) System and Method for Predicting Industrial Equipment Motor Behavior
WO2019012653A1 (en) Learning system, analysis system, learning method, and storage medium
KR102133277B1 (en) Method of generating normal band for abnormal data detecting based on time series data and using follower boundray setting and device implementing thereof
US11598896B2 (en) Remote vibration detection of submerged equipment using magnetic field sensing
US20220222545A1 (en) Generation method, non-transitory computer-readable storage medium, and information processing device
Anderka et al. Automatic ATM Fraud Detection as a Sequence-based Anomaly Detection Problem.
US20220269248A1 (en) Method and device for automatically determining an optimized process configuration of a process for manufacturing or processing products
KR102133276B1 (en) Method of generating normal band for abnormal data detecting based on time series data and using multiple noise data and device implementing thereof
CN117875724A (en) Purchasing risk management and control method and system based on cloud computing
KR102590525B1 (en) Method and Apparatus for Generating a Control Signal Related to a Signal Phase of an Intersection
CN107563774A (en) A kind of commodity counterfeit prevention and trend analysis based on machine learning
KR20200004032A (en) Method of generating normal band for abnormal data detecting based on time series data and device implementing thereof
AU2020202134A1 (en) Data driven machine learning for modeling aircraft sensors
Toubakh et al. Advanced data mining approach for wind turbines fault prediction
CN109727121A (en) Debt-credit matching process, signal auditing method based on block chain network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant