KR102133277B1 - 팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 - Google Patents
팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 Download PDFInfo
- Publication number
- KR102133277B1 KR102133277B1 KR1020180142823A KR20180142823A KR102133277B1 KR 102133277 B1 KR102133277 B1 KR 102133277B1 KR 1020180142823 A KR1020180142823 A KR 1020180142823A KR 20180142823 A KR20180142823 A KR 20180142823A KR 102133277 B1 KR102133277 B1 KR 102133277B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- follower
- generator
- normal band
- anchor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
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
본 발명은 팔로원 경계설정과 시계열 데이터에 기반하여 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치에 관한 것으로, 본 발명의 일 실시예에 의한 정상 밴드 생성 장치는 시간 순으로 산출되는 데이터가 저장된 데이터베이스와, 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 U, L, 팔로워 데이터를 산출하며, 상기 노이즈 데이터들 사이에 설정된 수학적 관계를 적용시켜 상기 노이즈 데이터에 대응하도록 팔로워 데이터를 산출하는 팔로워 생성기와, 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함한다.
Description
본 발명은 팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치에 관한 것이다.
최근 기계학습을 위한 알고리즘과 방법론이 다양하게 제시되고 있다. 기계학습에서 필요한 것은 무엇보다도 많은 데이터를 이용하여 학습을 수행하는 것이다. 그런데, 데이터를 확보하기 위해서는 수많은 데이터들 중에서 학습에 적합한 데이터를 선정하고 이를 학습의 결과값과 연결시키는 것이 필요하다. 딥러닝은 이러한 학습에 기반한 기술이며, 수많은 데이터에 기반한 지도 학습 방식으로 컨볼루셔널 신경망(CNN, Convolutional Neural Network)이나 재귀신경망(RNN, Reccurrent Neural Network) 등이 있다.
따라서 많은 수의 학습 데이터를 통한 학습 과정 없이 데이터 자체에서 정보를 산출하는 비지도 학습 기술에 대한 관심이 증가하고 있다. 최근 GAN(Generative Adversarial Network)는 정답에 대한 정보를 제공하지 않으면서 진짜 같은 데이터를 생성하는 것을 목표로 한다.
그러나, 데이터를 생성하여 진짜 데이터와 구별할 수 없게 만들기 위해서는 데이터를 모조품으로 만들어야 하는 역할(생성기)과 이 데이터가 모조품인지 아닌지를 구별하는 역할(판별기)가 주어져야 한다. 그리고 생성기와 판별기 간의 상호 작용을 통해 적은 수의 데이터를 기반으로 많은 수의 만들어진 데이터를 산출할 수 있다.
이하, GAN 과 같은 구성에서 생성기와 판별기에 기반하여 시계열상의 데이터를 새로운 데이터들로 구성하는 방법과 장치에 대해 살펴본다. 특히, 팔로워 데이터의 범위나 조건을 세밀하게 조정하기 위해 팔로워의 경계 설정을 이용하여 팔로워 데이터의 생성의 정밀도를 높이는 방법과 장치에 대해 살펴본다.
본 발명은 시계열 데이터들을 이용하여 학습된 팔로워 생성기를 산출하여 시계열 데이터의 후속하는 데이터들을 예측하고자 한다.
본 발명은 시계열 데이터의 후속하는 데이터들의 범위인 정상 밴드를 생성하여 후속하여 산출된 시계열 데이터가 정상 데이터인지를 판별할 수 있도록 한다.
본 발명은 시계열 데이터들에 기반하여 학습된 장치가 시계열 데이터가 입력되면 후속하는 시계열 데이터를 실제 시계열 데이터에 근접하게 산출하여 시계열 데이터들의 예측 정확도 및 정상판단 정확도를 높이고자 한다.
본 발명은 팔로워 데이터의 범위나 조건을 세밀하게 조정하기 위해 코스트 펑션을 적용하여 팔로워 데이터의 생성의 정밀도를 높이고자 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 정상 밴드 생성 장치는 시간 순으로 산출되는 데이터가 저장된 데이터베이스와, 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 팔로워 생성기와, 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함한다. 본 발명의 일 실시예에 의한 정상 밴드 생성 장치가 정상 밴드를 생성하는 방법은 정상 밴드 생성 장치의 데이터베이스에 시간 순으로 산출되는 데이터를 저장하는 단계와, 상기 정상 밴드 생성 장치의 팔로워 생성기가 시간 순으로 선행하는 m개의 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 단계와, 상기 정상 밴드 생성 장치의 밴드 생성기가 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 단계를 포함한다.
본 발명을 구현할 경우 시계열 데이터들을 이용하여 학습된 팔로워 생성기를 산출하여 시계열 데이터의 후속하는 데이터들을 예측할 수 있다.
본 발명을 구현할 경우 시계열 데이터의 후속하는 데이터들의 정상 밴드를 밴드와 같이 일정한 범위를 가지도록 생성하여 후속하여 산출된 시계열 데이터가 정상 데이터인지를 판별할 수 있다.
본 발명을 구현할 경우 시계열 데이터들에 기반하여 학습된 장치가 시계열 데이터가 입력되면 후속하는 시계열 데이터를 실제 시계열 데이터에 근접하게 산출하여 시계열 데이터들의 예측 정확도 및 정상판단 정확도를 높일 수 있다.
본 발명을 구현할 경우 팔로워 데이터의 범위나 조건을 세밀하게 조정하기 위해 팔로워의 경계를 설정하여 팔로워 데이터의 생성의 정밀도를 높일 수 있다.
본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 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은 본 발명의 일 실시예에 의한 팔로워 데이터를 적용한 도면이다.
도 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, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 발명의 실시예에서 설명하는 생성기(Generator) 및 판별기(Discriminator)는 소프트웨어로 구성되는 모듈이지만, 이들 소프트웨어 모듈이 하드웨어적으로 탑재된 것 역시 일 실시예로 한다. 따라서, 본 명세서에서 각 모듈들을 설명하는 것은 소프트웨어 또는 하드웨어로 구현가능하다.
앞서 살펴본 바와 같이, 신경망(Neural Network)을 이용하는 머신 러닝인 딥러닝(Deep learning)의 경우, 학습을 위해서는 입력과 출력 쌍의 데이터를 필요로 한다. 그런데, 이러한 입력-출력 데이터를 산출하는 것에 많은 시간이 투여된다. 예를 들어, 고양이와 개의 이미지를 학습시키기 위해서는 고양이에 관한 많은 이미지와 개에 관한 많은 이미지, 그리고 이들의 라벨링 정보가 필요하다.
이를 위해 학습에 필요한 데이터를 생성하는 것이 필요해졌다.
도 1은 GAN 의 동작 과정을 보여주는 도면이다. 판별기(Discriminator)(30)와 생성기(Generator)(10)는 신경망으로 구성된 네트워크이다. 그리고 데이터베이스(DB)(20)는 실제 데이터(Data_real)가 저장된 구성요소이다.
판별기(30)는 데이터베이스(20) 또는 생성기(10)로부터 데이터를 입력받는다. 그리고 이들 데이터 중에서 데이터베이스(20)에서 제공하는 데이터(data_real)와 생성기(10)로부터 제공된 데이터(data_fake)를 판별하도록 학습한다.
반면, 생성기(10)는 판별기(30)에게 제공하는 데이터(data_fake)가 data_real로 판별되도록 학습한다. 즉, 판별기(30)가 data_fake를 data_real로 판단하도록 생성기(10)가 학습한다.
두 개의 신경망 학습기(판별기와 생성기)의 학습 방향을 정리하면 다음과 같다. 판별기(30)는 실제 데이터와 생성기(10)에 의해 생성된 데이터를 구분하도록 학습하고, 생성기(10)는 판별기(30)가 구분할 수 없는 데이터를 생성하도록 학습한다. 반복된 학습 결과 생성기(10)는 데이터베이스(20)에 저장된 실제 데이터에 유사한 데이터들을 생성할 수 있다.
도 1은 정상 데이터를 모사하는 데이터를 생성하는 과정을 살펴보았다. 정상 데이터의 모사는 정상 데이터가 가질 수 있는 범위를 산출할 수 있다. 이에 본 명세서에서는 정상 데이터 및 정상 데이터를 모사한 데이터에 기반하여 데이터들의 정상 범위를 산출하여 후속하는 데이터들의 범위를 예측하고 그에 대응하여 정상 및 이상 상태를 판단하는 구성에 대해 살펴본다.
이하, 본 발명의 일 실시예에 의한 정상 밴드 생성장치의 구성 및 이들의 동작 과정을 살펴본다. 정상 밴드란, 시계열 데이터 일부에 기반하여 이후 산출될 데이터들의 정상 범위를 지시하는 것을 의미한다. 일종의 데이터들의 터널 혹은 밴드와 같이 정상 영역의 범위를 지시한다. 정상 밴드를 생성하기 위해서는 두 가지의 데이터 그룹으로 구성되는 학습과정이 필요하다. 제1데이터 그룹은 앵커 데이터로 구성된 그룹으로 시계열 데이터들 중에서 선행하는 데이터들을 지시한다. 제2데이터 그룹은 팔로워 데이터로 구성된 그룹으로 시계열 데이터들 중에서 후행하는 데이터들을 지시한다.
정상 밴드를 생성하기 위해서는 계측되거나 센싱된 데이터에 기반하여 판별기가 구분할 수 없는 많은 데이터를 산출하는데, 이 과정에서 앵커 데이터에 기반하여 팔로워 데이터들을 모사하여 생성한 후, 이들 팔로워 데이터들로 구성된 혹은 이들 팔로워 데이터들로 규정되는 정상 밴드를 생성한다.
그 결과 시계열적으로 입력된 데이터들(앵커 데이터들)을 이용하여 이후 발생할 팔로워들의 데이터를 예측하거나 혹은 팔로워 데이터가 정상 혹은 비정상인지를 확인하여 시계열 데이터에서의 오류를 미리 예측할 수 있다. 이외에도 시계열 데이터에 기반한 컴퓨터 성능의 예측, 주가의 예측, 장치의 이상 상황 예측 등이 가능하다.
또한, 시계열 데이터를 구성하는 앵커 데이터와 팔로워 데이터의 밴드를 생성함에 있어서 정확도를 높이기 위해 힌트 데이터를 추가로 제공할 수 있다. 힌트 데이터란 앵커 데이터에 대응하는 비시계열적 데이터를 의미한다. 예를 들어, 컴퓨터의 성능(CPU 속도) 정보를 시계열 상으로 추출하여 앵커 데이터 및 팔로워 데이터를 구성할 경우, CPU 속도에 영향을 미치는 비시계열적 데이터(CPU의 종류, CPU가 수행하는 특수한 프로그램 등)를 힌트 데이터로 구성할 수 있다. 힌트 데이터는 앵커 데이터를 설명하거나 앵커 데이트의 특징을 포착하는 정보를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 의한 정상 밴드 생성장치의 구성을 보여주는 도면이다. 정상 밴드 생성장치(100)는 팔로워 생성기(Follower Generator)(110), 데이터베이스(120), 판별기(130), 그리고 밴드 생성기(Tunnel Generator)(150)로 구성된다. 여기서 판별기(130)는 팔로워 생성기(110)가 충분히 학습된 경우 정상 밴드 생성장치(100)에서 제거될 수 있다. 또는 판별기(130)는 정상 밴드 생성장치(100)와 분리하여 구성될 수 있다.
시간 순으로 산출되는 데이터가 저장된 데이터베이스(120)는 시계열 데이터와 힌트 데이터를 포함한다. 시계열 데이터는 앵커 데이터와 팔로워 데이터로 나뉘어진다. 또한 데이터베이스는 힌트 데이터를 선택적으로 포함할 수 있는데, 한 쌍의 앵커 데이터-팔로워 데이터에 적용되는 힌트 데이터를 지시한다.
판별기(130)는 신경망을 포함하며, 입력 데이터로 시계열 데이터를 입력받으며 선택적으로 힌트 데이터라는 비시계열 데이터를 입력받는다. 시계열 데이터를 입력받음에 있어서, 앵커 데이터와 팔로워 데이터로 나누어 입력받아 학습을 수행한다. 판별기(130)는 데이터베이스(120)에 저장된 정보를 이용하여 충분히 학습을 수행할 수 있다.
팔로워 생성기(110) 역시 신경망을 포함하며 시간 순으로 선행하는 앵커 데이터를 입력받아 이에 대응하여 앵커 데이터에 후행하는 둘 이상의 팔로워 데이터를 산출한다. 주어진 앵커 데이터를 이용하여 팔로워 데이터를 생성한다.
이 과정에서 힌트 데이터와 노이즈 데이터(Z)를 이용할 수 있다. 생성된 팔로워 데이터는 충분히 학습된 판별기(130)에 입력된다. 팔로워 생성기(110)가 제공하는 팔로워 데이터와 이에 대응한 힌트/앵커 데이터가 판별기(130)에 입력되고, 판별기(110)는 생성된 팔로워 데이터를 판별한다. 이 과정에서 팔로워 생성기(110)는 생성된 팔로워 데이터가 판별기(130)에서 진짜 데이터(DB에서 산출된 데이터)로 판별하도록 신경망을 개선해나간다.
그 결과, 팔로워 생성기(110)가 충분히 학습되면, 이후 앵커 데이터가 팔로워 생성기(110)에 입력되면 그에 대응하는 팔로워 데이터를 산출한다.
또한, 팔로워 생성기(110)는 입력받은 앵커 데이터에 대응하는 힌트 데이터를 입력받아 팔로워 데이터를 산출할 수 있다.
밴드 생성기(150)는 팔로워 생성기(110)가 산출한 팔로워 데이터들(팔로워 데이터들)을 이용하여 팔로워 데이터가 배치될 수 있는 범위인 정상 밴드를 생성한다.
비정상 탐지기(160)는 그리고 이후 산출되는 데이터가 밴드 생성기(150)에서 생성한 정상 밴드 내에 위치하는지를 확인할 수 있다. 그리고 비정상 탐지기(160)는 후속하여 입력되는 시계열 데이터가 정상 밴드를 벗어날 경우, 후속하여 입력된 시계열 데이터는 비정상 데이터로 탐지한다. 탐지된 결과는 출력되거나 표시되거나 알람 등으로 사용자에게 전달될 수 있다.
도 2의 구성을 정리하면 다음과 같다. 시계열 데이터를 선행하는 앞부분을 앵커 데이터로, 후행하는 뒷부분을 팔로워 데이터로 나누어, 판별기(130)는 앵커/팔로워를 입력받아 진위 여부를 판별한다.
한편, 팔로워 생성기(110)는 현재의 실측/계측/센싱된 데이터를 앵커로 두고, 이에 대응하여 후행할 것으로 예측되는 데이터의 범위, 즉, 앵커 데이터에 대응하여 정상적인 것으로 판별될 팔로워들(산출된 팔로워들)을 생성하고 이들은 밴드 생성기(150)에 입력되어 정상 밴드를 생성한다. 밴드 생성기(150)는 팔로워 생성기(110)에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성한다.
그리고, 비정상 탐지기(160)는 이후에 발생하는 데이터가 정상 밴드에 속하는지 확인하여 비정상인지 정상인지를 예측할 수 있다.
이러한 과정을 보다 상세히 살펴본다.
도 3은 본 발명의 일 실시예에 의한 판별기가 판별하는 과정을 보여주는 도면이다. 판별기(130)는 데이터베이스(120)에서 제공되는 시계열 데이터의 앞부분인 앵커(A)와, 뒷부분인 팔로워(F), 그리고 힌트 데이터(H)를 제공받는다.
그리고 이들 H, A, F의 조합을 통해 데이터의 진위를 판별한다. 진짜 데이터(실제 계측되거나 센싱된 데이터)를 입력받으면 진짜라 판별하고, 가짜 데이터를 입력받으면 가짜라 판별하도록 판별기(130) 내의 신경망을 개선한다.
도 3에서 설명하는 학습이 완료되면, 판별기(130)는 입력되는 앵커 데이터와 팔로워 데이터, 그리고 선택적으로 힌트 데이터의 조합을 이용하여 정상 데이터와 비정상 데이터, 즉 데이터의 진위를 구분할 수 있다.
이는 입력된 A/F, 그리고 선택적으로 입력된 H의 조합을 통해 판별기(130)는 A-F로 구성되는 시계열 데이터가 정상적인 시계열 데이터인지 그렇지 않은지를 판별할 수 있음을 의미한다.
도 4는 본 발명의 일 실시예에 의한 팔로워 생성기가 팔로워를 생성하는 과정을 보여주는 도면이다. 앞서 판별기(130)에 입력된 힌트 데이터와 앵커 데이터가 팔로워 생성기(110)에 입력된다.
그리고 랜덤한 노이즈 데이터(Z) 역시 팔로워 생성기(110)에 입력되고, 팔로워 생성기(110)를 구성하는 신경망을 거쳐 가짜 팔로워, 즉 계측되거나 센싱되지 않은 팔로워가 산출된다. 산출된 팔로워는 판별기(130)에 입력된다.
노이즈 데이터(Z)는 팔로워 생성기(110)에 입력되는 앵커 데이터를 다변화시키는데, 이는 데이터베이스(120)에 저장될 수도 있고 팔로워 생성기(110)에서 랜덤하게 산출될 수도 있다. 또는 노이즈 데이터(Z)는 각각의 프로세싱 과정에서 생성될 수 있다.
판별기(130)는 입력된 H/A/F에 대해 진위를 판단하여 Real/Fake의 결과를 산출한다. 그리고 이 결과는 팔로워 생성기(110)에게 제공되어 팔로워 생성기(110)가 학습할 수 있도록 한다. 즉, 팔로워 생성기(110)는 판별기(130)의 진위 판단에 기반하여, 판별기(130)가 진짜 데이터로 판별하도록 신경망을 개선한다.
도 4의 팔로워 생성기(110)의 학습이 지속될수록, 팔로워 생성기(110)는 판별기(130)가 진짜 데이터라고 판별하도록 신경망을 개선한다. 그 결과 팔로워 생성기(110)는 소정의 앵커 데이터와 힌트가 입력되면 정상 범위에 들어가는 팔로워 데이터를 산출할 수 있다. 그리고 정상에 가까운 U와 L을 사용하여 정상 범위(정상 터널, 또는 정상 밴드)를 만들 수 있다.
이는 밴드 생성기(150)에 제공되며, 이후 특정한 앵커-팔로워로 구성된 시계열 데이터가 입력되면 입력된 앵커에 대응하는 정상 밴드가 생성된다. 비정상 탐지기(160)는 후행하는 팔로워 데이터가 정상 밴드 내에 포함되는지 확인하여 포함될 경우, 데이터는 정상으로 판단된다. 반면, 비정상 탐지기(160)는 후행하는 팔로워 데이터가 정상 밴드 바깥에 배치될 경우 데이터를 비정상으로 판단된다.
도 2 내지 도 4을 요약하면 다음과 같다. 본 발명에서는 시계열 데이터(앵커, 팔로워)와 비시계열 데이터(힌트)를 동시에 입력받아 사용하면서 시계열 데이터에 기반하여 과거의 패턴을 파악하여 미래를 예측할 수 있도록 정상 밴드를 생성할 수 있다. 또한 동시간대의 N차원의 시계열 데이터를 사용하여 데이터 간의 관계에 기반하여 정상 밴드를 N차원으로 생성할 수 있다.
과거 GAN은 그림, 텍스트와 같이 비시계열 데이터를 사용하여 정보의 진위를 가리는 것에만 집중하였다. 반면, 본원 발명에서는 시계열 데이터에 기반하여 후속할 데이터의 패턴을 일정 범위 내로 예측할 수 있다.
뿐만 아니라, 데이터의 상태를 지시하는 비시계열 데이터인 힌트 데이터를 이용하여 정확도를 높일 수 있다. 제품 타입, 일자, 변수 등 결과에 영향을 줄 수 있는 비시계열 데이터를 힌트 데이터에 입력하여 정확도를 높일 수 있다.
즉, 본 명세서의 실시예는 팔로워 생성기(120)를 통해 산출된 많은 팔로워 데이터에 기반하여 정상 밴드가 생성되며, 이 정상 밴드에 실제 측정된 팔로워 데이터가 포함되는지 여부를 통해 정상 팔로워 데이터와 비정상 팔로워 데이터로 구분할 수 있다.
왜냐하면 팔로워 생성기(120)가 학습을 완료하면, 주어진 앵커 데이터에 대응하여 판별기(130)가 진짜 데이터로 판단할 수 있는 많은 수의 팔로워 데이터들을 산출할 수 있으며, 이 팔로워 데이터들로 구성된 팔로워 데이터는 하나의 정상 밴드를 생성한다.
도 5 내지 도 8은 본 발명의 일 실시예에 의한 정상 밴드와 계측된 팔로워 데이터들의 위치를 보여주는 도면이다.
시간축(t) 상에서 변화하는 시계열 데이터가 세로축(y)에 표시된다. 정상 밴드(210)은 이전 시계열 데이터(앵커 데이터)에 의해 팔로워 생성기(130)가 산출한 무수한 팔로워 데이터들이 배치된 범위를 나타낸 것이다. 정상 밴드(210) 내에 매 시점에 측정된 시계열 데이터(220)가 배치되어 있다.
정상 밴드(210)은 새로이 측정된 시계열 데이터(220)를 기준으로 후행하는 시점의 정상 밴드를 만든다. 즉, 도 5에서는 매 시점을 기준으로 앞서 계측 또는 센싱된 데이터를 앵커 데이터로 팔로워 생성기(130)에 입력하면 그에 후행할 데이터들의 범위(팔로워들로 구성된 정상 밴드)이 산출된다.
도 5에서 t1 시점에서 후속할 시점의 정상 밴드를 산출하기 위해 t0~t1 사이의 센싱 또는 계측된 시계열 데이터를 앵커로 입력하면, 도 6과 같이 t1 이후의 정상 밴드(215)이 생성된다. 정상 밴드(215)이 팔로워 생성기(130)에 의해 산출된 후, 계측 또는 센싱된 시계열 데이터가 정상 밴드(215) 내에 포함될 경우 이들 데이터들은 정상적으로 동작하거나 정상 범위라고 판단한다. 도 7은 정상 밴드 내에 후속하는 데이터가 위치함을 보여준다. 215a를 확대하면, 정상 밴드(210a) 내에 데이터(220a)가 배치되어 있음을 확인할 수 있다.
반면, 도 8은 정상 밴드 바깥으로 후속하는 데이터가 위치함을 보여준다. 215b를 확대하면, 정상 밴드(210b) 바깥으로 데이터(220b)가 배치되어 있음을 확인할 수 있다. 이와 같은 구성에서는 비정상 탐지기(160)는 데이터가 정상 범위를 벗어난 것으로 판단할 수 있다.
따라서, 정상 밴드로 출력한 후, 후속하여 입력되는 시계열 데이터가 정상 밴드를 벗어나는 경우 후속하여 입력된 시계열 데이터는 비정상 탐지기(160)에 의해 비정상 데이터로 판단되며, 도 8과 같이 표시할 수 있다. 물론, 다른 방식으로 표시할 수 있다. 또한, 비정상 데이터에 대해 별도의 경고 프로세스를 제공할 수 있다. 주요 관리자인 사용자에게 비정상 데이터가 발생했음을 메일, 문자, 혹은 사용자의 스마트폰의 어플, 혹은 노트북 등에 경고 메시지가 제공될 수 있다.
실제 계측 또는 센싱되거나 소정의 시계열 형태로 산출된 데이터의 흐름(220b)이 정상 밴드(210b)을 벗어날 경우 정상 밴드 생성장치(100)는 정상 밴드를 벗어난 데이터가 감지된 것으로 확인하고 이에 대한 알람을 수행할 수 있다.
도 9는 본 발명의 일 실시예에 의한 도 5에 제시된 시계열 데이터들이 지속하여 누적되며 정상 밴드 내부 혹은 외부에 위치하는 형태를 보여주는 그래프이다. 도 9에서 정상 밴드(210)과 실제 데이터(220)의 관계가 제시되며, 217에서 지시하는 영역을 제외하면, 정상 밴드(210) 내에 실제 데이터(220)가 배치되어 실제 데이터(220)의 범위가 적절히 예측되었음을 보여준다.
217과 같이 정상 밴드를 벗어난 경우 비정상 탐지기(160)는 이상 상태인 것으로 판단할 수 있으며, 이에 대해 외부에 경고(alert) 메시지를 제공할 수 있다.
도 5 내지 도 9에서 밴드 생성기(150)는 실제 데이터인 앵커 데이터가 종료하는 시점 이후 팔로워 생성기(110)가 생성한 팔로워 데이터들의 집합 영역을 정상 밴드(210)로 출력한다. 비정상 탐지기(160)는 후속하여 입력되는 시계열 데이터가 정상 밴드(210) 내에 포함되는지 여부를 확인하여 비정상 데이터를 탐지한다.
이하, 팔로워 생성기(110)와 판별기(130)가 동작하는 세부 실시예를 살펴본다.
도 10 및 도 11은 본 발명의 일 실시예에 의한 시계열 데이터에서 앵커 데이터와 팔로워 데이터를 설정하여 동작하는 과정을 보여주는 도면이다. 도 10에서 DB(120) 내의 시계열 데이터 중에서 선행하는 데이터들을 앵커 데이터로, 후행하는 데이터를 팔로워 데이터로 구성한다. 그리고 힌트 데이터로는 센서명(Sensor1)과 날짜(2018/04/20)가 제공된다.
입력되는 데이터의 예시는 221과 같다. 221과 같은 데이터는 판별기(130)에 입력되어 학습된다. 이와 같은 학습 과정은 DB(120) 내의 다양한 시계열 데이터 및 힌트 정보에 기반하여 학습이 이루어진다. 또한, 221는 Time 0~ 9까지의 앵커-팔로워이며 이후의 시계열 데이터를 기반으로 Time 1~10 까지의 앵커-팔로워를 구축할 수 있으며 이는 222와 같다. 221 및 222는 판별기(130)를 학습시키는 입력 데이터가 된다. 도 10은 최대한 많이 확보한 데이터에 기반하여 판별기(130)를 학습시키는 과정을 반복한다.
또한, 도 11과 같이 팔로워 생성기(110)는 주어진 데이터에 기반하여 새로운 팔로워를 생성한다. 도 11에서 앵커 데이터와 힌트 데이터, 그리고 노이즈 데이터(Noise data)를 팔로워 생성기(110)에 입력하여 팔로워를 생성한다(231, 232). 생성된 팔로워(Generated Follower)는 도 10의 221, 222와 같이 판별기(130)에 입력된다.
판별기(130)는 이미 도 10의 과정을 통해 학습이 진행된 상태이므로, 학습된 상태에서 입력된 데이터가 가짜(생성된 팔로워)인지 진짜(DB에 저장된 팔로워)인지를 구별한다. 이 과정에서 판별기(130)가 판별한 결과에 기반하여 팔로워 생성기(110)는 신경망을 개선하여 판별기(130)가 진짜로 판별할 수 있는 팔로워를 생성하도록 학습한다.
도 10 및 도 11은 학습 과정을 보여준다. 판별기(130)에는 힌트 데이터가 H에 입력되고, 앵커 데이터(실제 데이터)와 팔로워 데이터가 입력된다. 여기서 팔로워 데이터는 앵커 데이터와 셋트가 되는 실제 데이터가 될 수도 있고 팔로워 생성기(110)가 생성하는 팔로워가 될 수도 있다. H-A-F의 셋은 221 또는 222와 같이 하나의 셋트로 결합되어 데이터 셋이 되며 이를 판별기(130)에 입력할 수 있다.
판별기(130)는 데이터가 실제 데이터의 분포를 따르는지에 따라 이를 판별하는데, 힌트 데이터와 앵커데이터는 실제 데이터만 입력되므로, 판별기(130)는 팔로워 데이터가 실제 데이터인지 혹은 생성된 데이터인지를 판별한다.
판별기(130)의 학습은 실제 데이터(팔로워 데이터가 앵커 데이터와 함께 데이터베이스에 저장된 경우)에는 참으로 판단하고, 생성된 데이터(팔로워 데이터가 팔로워 생성기가 생성한 경우)에는 거짓으로 판단하여 판별기(130)를 구성하는 네트워크의 가중치 값을 조절하며 학습한다.
도 11은 팔로워 생성기(110)의 학습을 보여준다. 팔로워 생성기(110)는 힌트 데이터와 실제 시계열 데이터의 앞부분(Anchor), 그리고 랜덤한 노이즈를 입력으로 받는다. 이들 3종류의 데이터를 결합하여 하나의 데이터 셋트로 구성할 수 있다.
팔로워 생성기(110)는 입력 받은 셋트에 기반하여 내부의 학습 모듈을 구성하는 네트워크를 거쳐 "가짜" 반쪽 중 뒷부분(Follower)을 생성합니다. 생성되는 데이터의 크기는 팔로워의 크기와 동일하도록 설정할 수 있다.
생성하는 과정은 입력값들이 네트워크를 거쳐 가중치에 따라 값이 변화하여, 최종적으로 팔로워의 사이즈와 같은 데이터가 만들어지는데, 초기의 팔로워 생성기(110)는 네트워크의 가중치들의 값이 잘 조절되지 못하여, 이를 거쳐 만들어낸 팔로워 데이터는 진짜로 판별되지 못할 수 있다.
가중치 값의 조절은 판별기(130)가 진짜로 판별하게 만들기 위해 진짜 팔로워 데이터의 분포를 따르도록 모사하는 방향으로 점진적으로 진행된다. 이 과정에서 학습이 진행되며 팔로워 생성기(110)는 진짜 팔로워 데이터의 분포에 근접하여 잘 모사할 수 있게 되다.
그 결과, 팔로워 생성기(110)는 힌트 데이터 및 앵커 데이터에 대응하는 진짜 같은, 즉 정상으로 판단될 수 있는 팔로워 데이터를 생성할 수 있다. 이때 랜덤한 노이즈는 팔로워 데이터를 "진짜 범위에 속하지만 조금 다양하게 만들어줄 수 있는" 역할을 하여 데이터 밴드를 생성할 수 있도록 한다.
팔로워 생성기(110)와 판별기(130)는 CNN(Convolutional Neural Network )구조를 가질 수 있으며, 각각의 학습 과정은 전술한 판별기(130)는 잘 판별하도록 학습 네트워크의 가중치를 조절하고 팔로워 생성기(110)는 판별기(130)가 구별하지 못하는 팔로워를 잘 생성하도록 가중치 조절을 반복하여 딥러닝을 수행한다.
도 12는 본 발명의 일 실시예에 의한 정상 밴드 생성장치가 학습된 팔로워 생성기에 기반하여 입력된 앵커 데이터에 대응하는 정상 밴드를 생성하는 과정을 보여주는 도면이다.
도 10 및 도 11은 시간이 0 인 시점을 기준으로 누적된 데이터를 이용하여 판별기(130) 및 팔로워 생성기(110)를 학습하였다. 충분히 학습된 뒤에는 팔로워 생성기(110)를 이용하여 팔로워를 생성할 수 있다.
예를 들어, Time이 101~105 인 시점에서 계측 또는 센싱 또는 산출된 데이터들이 앵커 데이터와 같을 때, 이를 팔로워 생성기(110)에 입력한다. 그리고 다양한 노이즈 데이터(Noise Data)를 입력하면 생성된(Generated) 팔로워들이 241과 같이 다수 산출되며 이를 반영하여 정상 데이터 패턴이 242와 같이 산출된다.
즉, Time이 101~105 인 시점이 입력되면 Time 106인 시점에서 발생 가능한 정상 데이터의 패턴이 산출되며 이는 밴드 생성기(150)에 입력되어 정상 밴드를 생성한다. 그리고 실제로 Time 106에서 산출된 데이터가 정상 밴드 내에 포함되는지 여부에 따라 정상 데이터인지 비정상 데이터인지를 확인할 수 있다.
본 명세서에서의 시계열 데이터는 산업 현장에서 산출되는 다양한 데이터들을 일 실시예로 한다. 제조 분야의 공구 또는 기계들에서 산출되는 다양한 데이터들일 시계열 데이터가 될 수 있다. 예를 들어 드릴의 마모도 혹은 드릴의 정상 상태를 확인하기 위해서 드릴을 포함한 센서 데이터가 매시점 산출되고, 이는 시간축에 대응하는 1차원 값을 가지는 시계열 데이터가 된다.
이 시계열 데이터는 도 2와 같이 판별기(130) 및 팔로워 생성기(110)를 학습하는 데이터가 되고, 일정한 학습이 이루어진 후에는 팔로워 생성기(110)에 입력되는 드릴의 센싱된 정보(센서 데이터)에 대응하여 이후 산출될 데이터의 범위(정상 밴드)이 밴드 생성기(150)에서 출력된다. 또한, 밴드 생성기(150)는 정상 밴드를 벗어난 값이 센싱될 경우 이에 대해 경고 메시지를 생성할 수 있다. 드릴의 경우 시계열 데이터의 예시로는 드릴의 속도, 각도, 전류값 등이 될 수 있다.
제조설비에서는 시간에 따라 측정된 센서 값(전류, 속도, 압력, 온도 등)이 시계열 데이터가 되며, 이들 시계열 데이터의 일부는 앵커 데이터가 되며 이에 후속하는 데이터는 판별기(130)를 학습시키는데 필요한 팔로워 데이터가 된다.
또한, 서버 성능 모니터링에서 주기적으로 수집된 성능 값(CPU/메모리 사용량, 데이터 입출력량 등) 역시 시계열 데이터가 될 수 있다.
다양하게 센싱된 값(측정값)은 전술한 바와 같이 정상 데이터의 정상 밴드를 생성하게 되며, 이 정상 밴드를 벗어나는 값이 센싱되면 이에 대해 비정상 여부를 탐지하고 예측할 수 있다.
예를 들어 CPU 사용량에 대한 정상 밴드를 생성하고, 실제 CPU 사용량 값이 밴드를 벗어났을 경우 이를 비정상(예를 들어 CPU 과다 사용)으로 판단하여 사용자에게 경고를 해줄 수 있다. 그 외에도 시스템 상에서 변동하는 정보들, 예를 들어 주가의 경우에는 주가나 환율 등, 날씨의 경우에는 온도, 습도 등의 정보가 시계열 데이터로 입력될 수 있다.
판별기(130) 및 팔로워 생성기(110)에 적용되는 GAN에 기반하여 일정하게 입력된 시계열 데이터에 대해 후속하는 데이터들이 가질 수 있는 값들로 구성되는 정상 밴드가 팔로워 생성기(110) 및 밴드 생성기(150)에서 산출되므로, 이를 이용하여 데이터들의 경향을 확인할 수 있으며, 미래 데이터를 예측하는 데에 사용할 수 있다. 또한 밴드를 벗어나는 값, 예를 들어 비정상 데이터가 비정상 탐지기(160)에 의해 센싱되면 이에 대해 적절한 경고를 수행할 수 있다. 즉, 정상 밴드가 생성된 후, 후속하여 입력되는 시계열 데이터가 정상 밴드를 벗어날 경우, 비정상 탐지기(160)는 이를 비정상 데이터로 확인할 수 있다.
또한, 시계열 데이터가 아닌 데이터들도 정상 밴드 생성에 적용될 수 있도록 비시계열적 데이터인 힌트 데이터도 팔로워 생성기(110) 및 판별기(130)에 입력된다.
힌트 데이터는 시계열 데이터와 연관된 "정보"로, 같은 패턴의 시계열 데이터라도(심지어 값마저 같아도) 다른 종류의 힌트 데이터를 통해 그 데이터의 의미를 보다 정교하게 구분할 수 있다. 계절이나 요일, 설비의 종류 등이 힌트 데이터가 될 수 있다. 주가 데이터의 경우에는 힌트 데이터가 해당 회사의 업종 등이 될 수 있으며, 시간에 따른 판매량-재고 시계열 데이터의 힌트 데이터는 상품의 종류, 요일 및 공휴일 여부 등이 될 수 있다.
힌트 데이터는 추상적으로는 시계열 데이터에 해당하는 라벨(label)역할을 할 수 있으며, 시계열 데이터에 결합하여 입력된다. 이를 위해 판별기(130) 및 팔로워 생성기(110)는 "Conditional GAN"을 적용할 수 있다. 이는 추가 값(condition)을 노이즈와 함께 입력시켜 생성하기를 원하는 것을 만들어주는 GAN을 일 실시예로 한다. 이는 팔로워 생성시 하나의 기준 혹은 참조하는 값이 될 수 있다.
도 8에서 살펴본 바와 같이 하나의 시계열 데이터가 주어지는 경우 2차원 평면에서 시계열 데이터의 정상 정상 밴드가 생성될 수 있다. 복수의 시계열 데이터를 사용할 경우 3차원 또는 4차원 이상으로 시계열 데이터의 정상 정상 밴드가 생성될 수 있다.
본 발명의 일 실시예에 의한 팔로워 생성기(110)는 실제로 존재하지는 않으나, 이를 모방한 데이터를 생성할 수 있다. 그리고 진짜 데이터와 유사한 가짜 데이터를 무한히 생성할 수 있게 되어 이를 기반으로 정상 밴드를 생성할 수 있다. 데이터의 생성은 랜덤한 노이즈를 입력하여 가능하다. 정상 밴드는 정상 범주에 속하는 데이터들의 범위를 일 실시예로 한다.
도 13은 본 발명의 일 실시예에 의한 판별기와 팔로워 생성기 사이에서 학습을 수행하는 과정을 보여주는 도면이다. 학습을 위해서는 일정량의 학습용 데이터가 준비된다(S310). S310의 학습용 데이터는 시계열 데이터인 앵커 데이터(A)와 팔로워 데이터(F), 그리고 힌트 데이터(H)가 될 수 있다. 여기서 H, A, F는 모두 실제 데이터이며 이들 데이터는 데이터베이스(120)에 저장된 상태이다. 그리고 판별기(130) 및 팔로워 생성기(110) 모두 학습을 위한 신경망을 초기 구성한다(S312, S314).
판별기(130)는 학습용 데이터(H, A, F)를 입력받는다(S316). 그리고 입력된 데이터가 실제 데이터인지 가짜 데이터(생성기가 제공)인지를 판별하고(S322) 판별 결과가 정확해지도록 신경망을 업데이트하여 학습한다(S326). 다른 실시예에 의하면, 초기 학습 과정에서 판별기(130)는 S322 단계 없이 학습용 데이터(H, A, F)가 입력되고 이것이 진짜 데이터임을 지시받아 학습할 수 있다.
한편 S316에서 판별기(130)에 입력된 데이터 중 일부(H, A)는 팔로워 생성기(110)에 제공되고(S317), 팔로워 생성기(110)는 랜덤한 노이즈 Z를 입력받고, 전달받은 H, A를 입력받아 데이터(Generated Follower)를 생성한다(S318). 팔로워 생성기(110)는 이 생성된 데이터(Generated Follower)가 S310의 "F"를 모사하여 S322에서 진짜로 판별되도록 하는 것을 목표로 한다.
팔로워 생성기(110)는 (H, A, Generated Follwer)를 판별기(130)에 입력한다(S320). H, A는 전달받은 것이며, 그로부터 팔로워 생성기(110)가 생성한 "Generated Follower"가 판별기(130)에 입력된다. 이후 판별기(130)는 입력된 데이터가 실제 데이터인지 가짜 데이터(판별기가 제공)인지를 판별하고(S322) 판별 결과가 정확해지도록 신경망을 업데이트하여 학습한다(S326). 이 과정에서 판별된 결과가 다시 팔로워 생성기(110)에게 전달되어 팔로워 생성기(110)는 판별기(110)가 판별기가 진짜라 판별하도록 신경망을 업데이트하여 학습한다.
S310~S324를 반복하는 과정에서 판별기(130)가 학습되고, 또한 팔로워 생성기(110) 역시 학습된 결과 팔로워 생성기(110)가 정상 정상 밴드를 생성할 수 있을 만큼 학습된 경우, 팔로워 생성기(110)는 판별기(130)와 독립적으로 동작할 수 있다.
판별기(130)의 학습은 데이터베이스(120)에 저장된 실제 데이터들(제1앵커 데이터 및 제1앵커 데이터에 후행하는 제1팔로워 데이터)와 데이터 베이스에 저장된 실제 및 가상 데이터들(데이터베이스에 저장된 제2앵커 데이터 및 상기 제2앵커 데이터에 대응하여 상기 팔로워 생성기가 생성한 제2팔로워 데이터)를 입력받을 수 있으며, 판별기(130)는 제1팔로워 데이터 및 상기 제2팔로워 데이터를 상기 제1앵커 데이터 및 상기 제2앵커 데이터에 대응하여 판별하도록 학습한다.
즉, 판별기(130)는 제1팔로워 데이터는 실제 데이터로, 제2팔로워 데이터는 팔로워 생성기(110)가 생성한 데이터로 판별하도록 학습을 지속할 수 있다. 물론, 판별기(130)의 초기 학습을 위해 실제 데이터들만 입력하여 초기 네트워크를 구성할 수도 있다.
그리고 판별기(130)가 제2팔로워 데이터를 상기 팔로워 생성기가 생성한 데이터로 판단한 경우 이러한 판단 결과는 팔로워 생성기(110)에게 전달되고 팔로워 생성기(110)는 이러한 판단 결과에 대응하여 학습한다(S322~S324). 학습 결과 팔로워 생성기(110)는 판별기가 실제 데이터와 구분하지 못하는 팔로워 데이터를 생성할 수 있다.
도 14는 본 발명의 일 실시예에 의한 팔로워 생성기가 정상 정상 밴드를 생성하기 위해 다수의 팔로워를 생성하는 과정과 밴드 생성기가 이에 기반하여 정상/비정상 데이터를 판별하는 과정을 보여주는 도면이다. 팔로워 생성기(110)는 현재 발생한 데이터를 앵커로 둔다(S330). 여기에 힌트 데이터는 선택적으로 주어진다. 그리고 팔로워 생성기(110)는 랜덤한 노이즈 Z와 주어진 힌트 데이터를 입력받아 팔로워 데이터와 U, L을 생성한다(S334). 밴드 생성기(150)는 팔로워 생성기(110)가 생성한 U와 L로 정상 밴드를 구성한다(S342).
그리고 앞서 앵커 데이터 이후 실제 발생한 데이터가 정상 밴드 내에 포함되는지, 즉 비정상 탐지기(160)는 실제 발생한 데이터(즉 후속하여 입력되는 시계열 데이터)가 정상 밴드를 지나는지를 확인한다(S346). 그 결과 밴드를 벗어난 경우(S350) 비정상 탐지기(160)는 비정상 탐지를 확인하고 이를 외부에 알린다(S354). 밴드 내에 발생한 데이터가 위치하면 그 다음 발생한 데이터를 이용하여 S342 내지 S354를 수행할 수 있다. 비정상 탐지란 비정상 데이터가 발생하였음을 지시한다.
도 14에서, 그리고 전체를 하나의 루프로 구성하여 비정상 데이터의 탐지를 지속적으로 수행할 수 있다.
또다른 실시예로 S346에서 S354를 하나의 루프로, 그리고 전체를 하나의 루프로 구성하여 비정상 데이터의 탐지를 지속적으로 수행할 수 있다. 이는, 현재 데이터에 기반한 정상 밴드를 생성하기 위한 팔로워를 반복하여 1차로 생성하는 것을 의미한다.
그리고, 정상 밴드의 생성 후 후속하여 입력된 시계열 데이터가 정상 밴드에 배치되는지를 확인한다.
여기서, 현재의 데이터에 기반하여 매번 정상 밴드를 생성할 경우 S334 후 S342 및 S346 및 S354를 진행하되 S346 내지 S354는 1회 수행하고 바로 S330 단계로 이행한다.
만약 현재의 데이터에 기반하여 정상 밴드를 생성하고 실제 발생한 데이터에 대해 2회 이상 정상 밴드의 포함 여부를 확인할 경우, S346 내지 S354의 루프를 2회 이상 반복할 수 있다.정리하면, 정상 데이터의 범위인 정상 밴드는 매 순간 생성될 수 있다. 이 경우 S354 단계 이후에 실제 발생한 데이터가 다시 앵커 데이터로 입력될 수 있으며, S330 단계로 진행할 수도 있다.
또한, 정상 데이터는 1회 생성 후 K번의 시계열 데이터를 입력받아 정상 여부를 판별할 수 있다. 이 경우 S346 내지 S354 단계를 K번 반복할 수 있다.
도 13 및 도 14를 정리하면 다음과 같다.
정상 밴드 생성 장치(100)의 데이터베이스(120)에 시간 순으로 산출되는 데이터가 저장된다. 이는 S310의 학습용 데이터로 제공된다. 학습을 통해 팔로워 생성기(110) 및 판별기(130)의 신경망이 업데이트 되면(도 13), 이후 팔로워 생성기(110)는 시간 순으로 선행하는 앵커 데이터를 입력받아 이에 대응하여 앵커 데이터에 후행하는 U, L 데이터를 산출한다(S334). 그리고 밴드 생성기(150)가 팔로워 생성기에서 U, L을 사용하여 정상 밴드를 생성한다(S342). 비정상 탐지기(160)는 그 결과 이후 발생하는 실제 데이터가 밴드 내에 위치하는지를 판단하여 비정상을 탐지할 수 있다.
도 15는 본 발명의 일 실시예에 의한 팔로워의 경계가 설정되며 팔로워를 산출하는 팔로워 생성기와 판별기의 구성을 보여주는 도면이다.
본 발명의 추가적인 실시예로 팔로워 생성기(Follower Generator)(510)가 팔로워의 상하한 경계라는 특수한 결과에 대응하는 팔로워(U, L)와 그 외의 하나 이상의 팔로워 f를 함께 출력하도록 구현할 수 있다. 일 실시예로, 팔로워 생성기(510)는 입력된 H, A, z 등에 대응하여 유효한 최대 값(U)과 유효한 최소값(L), 그리고 하나 이상의 팔로워 f를 출력한다. 그리고 이들 (U, f, L)은 판별기(530)에 각각 입력된다.
이는 U가 밴드의 상한값을 의미하며 L이 밴드의 하한값을 의미한다.
세 값의 관계는 수학식 1의 관계를 가질 수 있다.
[수학식 1]
L < f, f < U
팔로워들(U, f, L)이 출력되도록 코스트펑션(515)이 제약 정보를 포함할 수 있다. 또한 U와 L의 차이(간격)이 최대가 되는 제약 역시 코스트 펑션(515)에 포함될 수 있다.
즉, 입력되는 H, A, z에 대응하여 팔로워 생성기(510)는 코스프펑션(515)에 설정된 수학식 1과 같은 제약 조건 및 U와 L의 간격을 증가시키는 제약 조건을 반영하여 팔로워인 U, f, L을 출력한다.
물론 U, f, L은 모두 판별기(530)를 충족시키는 값들이다.
코스트펑션(515)에 포함되는 제약 조건을 보다 세분화하면, 수학식 2와 같다.
[수학식 2]
Max (0, f-U) + max(0, L-f)
1/(U-L)^2
이는 팔로워들이 다수 출력되며 출력된 팔로워들에 대해 최대 값과 최소값을 구하는 것이 아니라 팔로워 생성기(510)가 최대값과 최소값을 별도로 U, L로 출력할 수 있도록 한다. 그리고 U와 L 사이의 간격을 최대로 구현한다.
도 15에 제시된 바와 같이, 힌트 데이터(H)와 앵커 데이터(A)는 전술한 실시예와 같이 입력된다. 그리고 노이즈 데이터 z가 입력된다. 생성된 팔로워(U, f, L)들은 개별적으로 판별기(530)에 입력된다. 그리고 판별기(530)를 통해 팔로워 생성기(510) 역시 학습 과정을 통해 업데이트된다.
도 15에서 f로 다수개의 팔로워들이 산출될 수 있다.
도 16은 도 15의 실시예를 적용한 팔로워들과 U, L 사이의 관계를 보여주는 도면이다. 최대값 U와 최소값 L 사이에 하나 이상의 f 값들이 출력된다. 그리고 이들은 모두 판별기(530)에 각각 입력된다.
도 16에서 팔로워 생성기(530)는 U와 L의 간격이 최대가 되도록 출력한다.
도 15 및 도 16을 정리하면 다음과 같다. 팔로워 생성기(510)는 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출한다.
또한, U 역시 팔로워 데이터이며, 팔로워 데이터는 U 보다 작은 값을 가진다. L 역시 팔로워 데이터이며, 팔로워 데이터는 L 보다 큰 값을 가진다.
또한, 팔로워 생성기(510)는 U 보다 작고 상기 L 보다 큰 팔로워 데이터만 상기 팔로워 생성기에서 출력되도록 제어하는 코스트 펑션(515)을 포함한다.
추가적으로 코스트펑션(515)은 U 및 L의 차이가 가장 크도록 U와 L을 출력할 수 있다.
전술한 도 2, 도 3, 도 4에 경계 설정값을 출력하는 팔로워 생성기를 적용할 경우의 구성을 살펴본다.
도 17은 본 발명의 일 실시예에 의한 팔로워 생성기가 경계 설정값인 U, L과 이 U, L 사이의 값들을 출력하는 정상 밴드 생성장치의 구성을 보여주는 도면이다. 팔로워 생성기(510)가 U, L이라는 특수한 팔로워를 출력한다는 차이점이 있다. 판별기(530)는 도 2의 판별기(130)와 기본적으로 동일한 메커니즘으로 동작한다.
팔로워 생성기(510)는 신경망을 포함하며 시간 순으로 선행하는 앵커 데이터와 선택적으로 노이즈 데이터(z)를 입력받아 이에 대응하여 앵커 데이터에 후행하는 팔로워 데이터를 산출한다. 이때, 팔로워 데이터는 최대 설정값 U와 최소 설정값 L, 그리고 U 와 L 사이의 팔로워 데이터들 f가 출력된다.
힌트 데이터와 노이즈 데이터(z)를 이용할 수 있으며, 생성된 팔로워 데이터(U, f, L)는 충분히 학습된 판별기(530)에 입력된다. 팔로워 생성기(510)가 제공하는 팔로워 데이터(U, f, L)와 이에 대응한 힌트/앵커 데이터가 판별기(530)에 입력되고, 판별기(510)는 생성된 팔로워 데이터를 판별한다. 이 과정에서 팔로워 생성기(510)는 생성된 팔로워 데이터가 판별기(530)에서 진짜 데이터(DB에서 산출된 데이터)로 판별하도록 신경망을 개선해나간다.
그 결과, 팔로워 생성기(510)가 충분히 학습되면, 이후 앵커 데이터가 팔로워 생성기(510)에 입력되면 그에 대응하는 팔로워 데이터를 산출한다.
또한, 팔로워 생성기(510)는 입력받은 앵커 데이터에 대응하는 힌트 데이터를 입력받아 팔로워 데이터를 산출할 수 있다. 또한, 팔로워 생성기(510)는 전술한 노이즈 데이터를 입력받아 팔로워 데이터를 산출할 수 있다.
도 18은 본 발명의 일 실시예에 의한 판별기가 판별하는 과정을 보여주는 도면이다. 판별기(530)는 데이터베이스(120)에서 제공되는 시계열 데이터의 앞부분인 앵커(A)와, 뒷부분인 팔로워(F), 그리고 힌트 데이터(H)를 제공받는다.
그리고 이들 H, A, F의 조합을 통해 데이터의 진위를 판별한다. 진짜 데이터(실제 계측되거나 센싱된 데이터)를 입력받으면 진짜라 판별하고, 가짜 데이터를 입력받으면 가짜라 판별하도록 판별기(530) 내의 신경망을 개선한다.
도 10에서 설명하는 학습이 완료되면, 판별기(530)는 입력되는 앵커 데이터와 팔로워 데이터, 그리고 선택적으로 힌트 데이터의 조합을 이용하여 정상 데이터와 비정상 데이터, 즉 데이터의 진위를 구분할 수 있다.
이는 입력된 A/F, 그리고 선택적으로 입력된 H의 조합을 통해 판별기(530)는 A-F로 구성되는 시계열 데이터가 정상적인 시계열 데이터인지 그렇지 않은지를 판별할 수 있음을 의미하며, 이는 앞서 살펴본 바와 같다.
도 19는 본 발명의 일 실시예에 의한 팔로워 생성기가 팔로워를 생성하는 과정을 보여주는 도면이다. 도 19는 도 4와 비교할 때, 3 종류의 팔로워 데이터(U, f, L)를 출력한다는 점에서 차이가 있다.
앞서 판별기(530)에 입력된 힌트 데이터와 앵커 데이터가 팔로워 생성기(510)에 입력된다.
그리고 랜덤한 노이즈 데이터(z) 역시 팔로워 생성기(510)에 입력된다. 팔로워 생성기(510)를 구성하는 신경망을 거쳐 가짜 팔로워, 즉 계측되거나 센싱되지 않은 팔로워가 산출된다. 이들 팔로워들 (U, f, L)는 수학식 1을 충족하도록 출력된다. 산출된 팔로워(U, f, L)는 판별기(130)에 입력된다.
코스트 펑션(515)는 팔로워 생성기(510)가 출력하는 팔로워 데이터인 U, f, L이 수학식 1을 만족시키면서, 또한 U와 L의 간격을 증가시키도록 팔로워 데이터를 다변화시킨다. 다만, U 와 L의 간격은 미리 설정된 기준을 넘지 않도록 코스트펑션(515)에 제약 조건으로 입력될 수 있다. 팔로워 생성기(510)는 수학식 1 또는 수학식 2 등 U, f, L의 수학적 관계를 충족하도록 신경망을 학습시키고 학습된 결과를 제공할 수 있다.
그 외 판별기(530)의 동작 및 판별 과정과 학습은 도 4에서 설명한 바와 같다.
도 20 및 도 21은 본 발명의 일 실시예에 의한 팔로워 데이터를 적용한 도면이다.
팔로워 생성기(510)는 주어진 데이터에 기반하여 새로운 팔로워를 생성한다. 도 21에서 앵커 데이터와 힌트 데이터, 그리고 노이즈 데이터(Noise data)들을 팔로워 생성기(510)에 입력하여 팔로워를 생성한다(601, 602). 생성된 팔로워(Generated Follower)는 앞서 도 10의 221, 222와 같이 판별기(130)에 입력된다. 또는 도 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 사이의 값을 가짐을 확인할 수 있다.
도 21은 본 발명의 일 실시예에 의한 정상 밴드 생성장치가 학습된 팔로워 생성기에 기반하여 입력된 앵커 데이터에 대응하는 정상 밴드를 생성하는 과정을 보여주는 도면이다.
도 10 및 도 20은 시간이 0 인 시점을 기준으로 누적된 데이터를 이용하여 판별기(130, 530) 및 팔로워 생성기(510)를 학습하였다. 충분히 학습된 뒤에는 팔로워 생성기(510)를 이용하여 팔로워를 생성할 수 있다.
예를 들어, Time이 101~105 인 시점에서 계측 또는 센싱 또는 산출된 데이터들이 앵커 데이터와 같을 때, 이를 팔로워 생성기(510)에 입력한다. 그리고 다수의 노이즈 데이터(Noise Data)가 입력된다.
팔로워 생성기(510)는 입력된 값에 대응하여 팔로워의 경계설정값인 U/L 과 U 및 L 사이의 팔로워들을 출력한다.
도 21에서 첫번째 입력되는 노이즈 데이터는 0.6, 1.3, 0.8이며, 순차적으로 입력된다. 그리고, 앵커 데이터, 힌트 데이터, 노이즈 데이터에 대응하여 산출되는 팔로워들은 642에 제시되며 이 중에서 641과 같이 L과 U를 하한값 및 상한값으로 하는 팔로워들이 출력된다.
생성된(Generated) 팔로워들은 641과 같이 5쌍의 팔로워 데이터들로 구성되는데, 이 중에서 U. L을 다수 산출되며 이를 반영하여 정상 데이터 패턴이 642와 같이 산출된다.
즉, Time이 101~105 인 시점이 입력되면 Time 106인 시점에서 발생 가능한 정상 데이터의 패턴이 산출되며 이는 밴드 생성기(150)에 입력되어 정상 밴드를 생성한다. 그리고 실제로 Time 106에서 산출된 데이터가 정상 밴드 내에 포함되는지 여부에 따라 정상 데이터인지 비정상 데이터인지를 확인할 수 있다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변환 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 정상 밴드 생성장치
110, 510, 610: 팔로워 생성기
120: 데이터베이스
130, 530: 판별기
150: 밴드 생성기
160: 비정상 탐지기
515: 코스트 펑션
110, 510, 610: 팔로워 생성기
120: 데이터베이스
130, 530: 판별기
150: 밴드 생성기
160: 비정상 탐지기
515: 코스트 펑션
Claims (14)
- 시간 순으로 산출되는 데이터가 저장된 데이터베이스;
시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 팔로워 생성기; 및
상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함하며,
상기 U는 팔로워 데이터이며, 상기 팔로워 데이터는 상기 U 보다 작은 것을 특징으로 하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 제1항에 있어서,
상기 팔로워 생성기는 상기 U 보다 작고 상기 L 보다 큰 팔로워 데이터만 상기 팔로워 생성기에서 출력되도록 제어하는 코스트 펑션을 더 포함하며,
상기 코스트펑션은 상기 U 및 상기 L의 차이가 가장 크도록 상기 U와 상기 L을 출력하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 시간 순으로 산출되는 데이터가 저장된 데이터베이스;
시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 팔로워 생성기; 및
상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함하며,
상기 L은 팔로워 데이터이며, 상기 팔로워 데이터는 상기 L 보다 큰 것을 특징으로 하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 제3항에 있어서,
상기 팔로워 생성기는 상기 U 보다 작고 상기 L 보다 큰 팔로워 데이터만 상기 팔로워 생성기에서 출력되도록 제어하는 코스트 펑션을 더 포함하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 제4항에 있어서,
상기 코스트펑션은 상기 U 및 상기 L의 차이가 가장 크도록 상기 U와 상기 L을 출력하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 시간 순으로 산출되는 데이터가 저장된 데이터베이스;
시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 팔로워 생성기; 및
상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함하며,
상기 데이터베이스에 저장된 제1앵커 데이터 및 상기 제1앵커 데이터에 후행하는 제1팔로워 데이터를 입력받으며,
상기 데이터베이스에 저장된 제2앵커 데이터 및 상기 제2앵커 데이터에 대응하여 상기 팔로워 생성기가 생성한 제2팔로워 데이터를 입력받으며,
상기 제1팔로워 데이터 및 상기 제2팔로워 데이터를 상기 제1앵커 데이터 및 상기 제2앵커 데이터에 대응하여 판별하도록 학습된 판별기를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 제6항에 있어서,
상기 판별기가 상기 제2팔로워 데이터를 상기 팔로워 생성기가 생성한 데이터로 판단한 경우,
상기 팔로워 생성기는 상기 판단 결과에 대응하여 학습하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 시간 순으로 산출되는 데이터가 저장된 데이터베이스;
시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 팔로워 생성기; 및
상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 밴드 생성기를 포함하며,
상기 밴드 생성기는 상기 앵커 데이터가 종료하는 시점 이후 상기 팔로워 생성기가 생성한 팔로워 데이터들의 집합 영역을 정상 밴드로 출력하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 제8항에 있어서,
후속하여 입력되는 시계열 데이터가 상기 정상 밴드를 벗어나는 경우 상기 후속하여 입력된 시계열 데이터는 비정상 데이터로 탐지하는 비정상 탐지기를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드 생성 장치.
- 정상 밴드 생성 장치의 데이터베이스에 시간 순으로 산출되는 데이터를 저장하는 단계;
상기 정상 밴드 생성 장치의 팔로워 생성기가 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 단계; 및
상기 정상 밴드 생성 장치의 밴드 생성기가 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 단계를 포함하며,
상기 U는 팔로워 데이터이며, 상기 팔로워 데이터는 상기 U 보다 작은 것을 특징을 하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
- 삭제
- 정상 밴드 생성 장치의 데이터베이스에 시간 순으로 산출되는 데이터를 저장하는 단계;
상기 정상 밴드 생성 장치의 팔로워 생성기가 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 단계; 및
상기 정상 밴드 생성 장치의 밴드 생성기가 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 단계를 포함하며,
상기 L은 팔로워 데이터이며, 상기 팔로워 데이터는 상기 L 보다 큰 것을 특징을 하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
- 정상 밴드 생성 장치의 데이터베이스에 시간 순으로 산출되는 데이터를 저장하는 단계;
상기 정상 밴드 생성 장치의 팔로워 생성기가 시간 순으로 선행하는 앵커 데이터를 입력받고, 상기 앵커 데이터를 다변화시키는 노이즈 데이터를 입력받아 경계가 되는 두 개의 경계 설정값인 U, L과, 팔로워 데이터를 산출하는 단계; 및
상기 정상 밴드 생성 장치의 밴드 생성기가 상기 팔로워 생성기에서 산출된 팔로워 데이터들로 구성된 정상 밴드를 생성하는 단계를 포함하며,
상기 팔로워 생성기는 코스트 펑션을 더 포함하며,
상기 코스트펑션이 상기 U 보다 작고 상기 L 보다 큰 팔로워 데이터만 상기 팔로워 생성기에서 출력되도록 제어하는 단계를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
- 제13항에 있어서,
상기 제어하는 단계는
상기 코스트펑션은 상기 U 및 상기 L의 차이가 가장 크도록 상기 U와 상기 L을 출력하는 단계를 더 포함하는, 팔로워의 경계가 설정된 정상 밴드를 생성하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180142823A KR102133277B1 (ko) | 2018-11-19 | 2018-11-19 | 팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180142823A KR102133277B1 (ko) | 2018-11-19 | 2018-11-19 | 팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200058161A KR20200058161A (ko) | 2020-05-27 |
KR102133277B1 true KR102133277B1 (ko) | 2020-07-13 |
Family
ID=70911210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180142823A KR102133277B1 (ko) | 2018-11-19 | 2018-11-19 | 팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102133277B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102557151B1 (ko) * | 2022-11-17 | 2023-07-19 | 서울시립대학교 산학협력단 | 시계열 데이터의 품질을 개선하는 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008140100A (ja) | 2006-12-01 | 2008-06-19 | Mitsubishi Electric Corp | 情報処理装置及びデータ判定方法及びプログラム |
JP2017182693A (ja) | 2016-03-31 | 2017-10-05 | 三菱日立パワーシステムズ株式会社 | 機器の異常診断方法及び機器の異常診断装置 |
KR101843066B1 (ko) | 2017-08-23 | 2018-05-15 | 주식회사 뷰노 | 기계 학습에 있어서 데이터 확대를 이용하여 데이터의 분류를 수행하는 방법 및 이를 이용한 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0463331U (ko) * | 1990-10-08 | 1992-05-29 | ||
JPH0512240A (ja) | 1991-07-08 | 1993-01-22 | Hitachi Ltd | 予測装置 |
JP2673656B2 (ja) * | 1993-11-16 | 1997-11-05 | トヨタ自動車 株式会社 | 機器の異常検出方法およびその装置 |
KR101880678B1 (ko) * | 2016-10-12 | 2018-07-20 | (주)헬스허브 | 기계학습을 통한 의료영상 판독 및 진단 통합 시스템 |
KR102403494B1 (ko) * | 2017-04-27 | 2022-05-27 | 에스케이텔레콤 주식회사 | 생성적 대립 네트워크에 기반한 도메인 간 관계를 학습하는 방법 |
-
2018
- 2018-11-19 KR KR1020180142823A patent/KR102133277B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008140100A (ja) | 2006-12-01 | 2008-06-19 | Mitsubishi Electric Corp | 情報処理装置及びデータ判定方法及びプログラム |
JP2017182693A (ja) | 2016-03-31 | 2017-10-05 | 三菱日立パワーシステムズ株式会社 | 機器の異常診断方法及び機器の異常診断装置 |
KR101843066B1 (ko) | 2017-08-23 | 2018-05-15 | 주식회사 뷰노 | 기계 학습에 있어서 데이터 확대를 이용하여 데이터의 분류를 수행하는 방법 및 이를 이용한 장치 |
Non-Patent Citations (1)
Title |
---|
http://dl-ai.blogspot.com/2017/08/gan-adversarial-learning.html 1부. |
Also Published As
Publication number | Publication date |
---|---|
KR20200058161A (ko) | 2020-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190391574A1 (en) | Early anomaly prediction on multi-variate time series data | |
GB2567850A (en) | Determining operating state from complex sensor data | |
TWI768584B (zh) | 解釋在循環神經網路的決策決定的方法及提高循環神經網路對於對抗式攻擊的抵禦性的方法 | |
CN109818976A (zh) | 一种异常流量检测方法及装置 | |
US20080201116A1 (en) | Surveillance system and methods | |
KR20180108446A (ko) | Ict 인프라 관리 시스템 및 이를 이용한 ict 인프라 관리 방법 | |
US11221617B2 (en) | Graph-based predictive maintenance | |
JP7188979B2 (ja) | 異常検知装置、異常検知方法および異常検知プログラム | |
EP3866177A1 (en) | Abnormal driving state determination device and method using neural network model | |
CN106789904A (zh) | 物联网入侵检测方法及装置 | |
JP2019159675A (ja) | プラント運転支援装置、プラント運転支援方法、およびプラント運転支援プログラム | |
CN106663086A (zh) | 用于核回归模型的集体的设备和方法 | |
KR20220062547A (ko) | 센서 애그나스틱 기계적 기계 결함 식별 | |
KR102133277B1 (ko) | 팔로워의 경계 설정과 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 | |
CN117875724A (zh) | 一种基于云计算的采购风险管控方法及系统 | |
Anderka et al. | Automatic ATM Fraud Detection as a Sequence-based Anomaly Detection Problem. | |
US11348013B2 (en) | Determining, encoding, and transmission of classification variables at end-device for remote monitoring | |
KR102133276B1 (ko) | 복수의 노이즈 데이터와 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 | |
KR102590525B1 (ko) | 교차로의 현시와 관련된 제어신호를 생성하는 방법 및 장치 | |
EP3748450B1 (en) | Data driven machine learning for modeling aircraft sensors | |
CN107563774A (zh) | 一种基于机器学习的商品防伪及趋势分析方法 | |
KR20200004032A (ko) | 시계열 데이터에 기반하여 비정상 데이터 탐지가 가능한 정상 밴드를 생성하는 방법 및 이를 구현하는 정상 밴드 생성 장치 | |
Toubakh et al. | Advanced data mining approach for wind turbines fault prediction | |
CN113835973B (zh) | 一种模型训练方法及相关装置 | |
CN112798955B (zh) | 一种特种电机的故障检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |