KR102600745B1 - 신경망 분석 기반의 소리 분류용 이상 탐지 방법 - Google Patents

신경망 분석 기반의 소리 분류용 이상 탐지 방법 Download PDF

Info

Publication number
KR102600745B1
KR102600745B1 KR1020180140186A KR20180140186A KR102600745B1 KR 102600745 B1 KR102600745 B1 KR 102600745B1 KR 1020180140186 A KR1020180140186 A KR 1020180140186A KR 20180140186 A KR20180140186 A KR 20180140186A KR 102600745 B1 KR102600745 B1 KR 102600745B1
Authority
KR
South Korea
Prior art keywords
vector
data
abnormal
normal
relationship
Prior art date
Application number
KR1020180140186A
Other languages
English (en)
Other versions
KR20200056183A (ko
Inventor
류명훈
박한
오홍석
이수지
Original Assignee
주식회사 디플리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디플리 filed Critical 주식회사 디플리
Priority to KR1020180140186A priority Critical patent/KR102600745B1/ko
Publication of KR20200056183A publication Critical patent/KR20200056183A/ko
Application granted granted Critical
Publication of KR102600745B1 publication Critical patent/KR102600745B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

본 발명의 일 실시예에 따른 이상 탐지 방법은 정상 데이터(10)를 입력으로 하여 사전 결정된 차원의 벡터를 출력하도록 오토 인코더(E)(auto encoder)를 학습시키는 준비 단계(S100), 상기 준비 단계에서 훈련된 오토 인코더(TE)에 훈련용 데이터를 입력하여 획득한 벡터 정보를 가공한 후, 가공된 훈련용 데이터 벡터 정보를 활용하여 분류기(S)를 학습시킴으로써 상기 분류기(S)가 정상 데이터와 이상 데이터를 구분하는 능력을 향상시키는 분류기(S) 생성 단계(S200)를 포함한다. 본 발명의 일 실시예에 따르면, 확보된 이상 데이터가 적더라도 임의의 외부 데이터가 정상 데이터인지 이상 징후를 나타내는 이상 데이터인지 쉽게 분류할 수 있다.

Description

신경망 분석 기반의 소리 분류용 이상 탐지 방법{Anomaly Detection Method for Sound Classification Based on Neural Network Analysis}
본 발명은 이상 탐지 방법에 관한 것으로, 더 상세하게는 정상 데이터와 이상 데이터를 가공한 벡터를 활용하여 보다 빠르게 이상 징후에 관한 데이터를 학습하는 이상 탐지 방법에 관한 것이다.
이상 탐지(Anomaly Detection)란, 대다수의 데이터와 크게 다른 데이터 또는 특이한 데이터를 탐지하는 것을 말한다. 여기서 이상(Anomaly)은 은행 사기, 구조적 결함, 텍스트의 오류 또는 의학적 문제일 수 있고, 잡음, 편차, 또는 예외라고 표현될 수도 있다.
이상 탐지는 예를 들면 일상적인 심박동 외에 발생되는 '평소에 발생하지 않던 심박동'일 수 있다. 즉, 심장병으로 진단될 환자가 스스로 징후를 느끼기 전에 상기 '평소에 발생하지 않던 심박동'이 발생할 수 있고, 이러한 '이상(Anomaly)'의 징후를 검출하는 것이 본 명세서에서 다루고자 하는 이상 탐지다.
본 명세서에서는 이렇게 예외적인 경우에 획득되는 데이터를 '이상 데이터(Anomalous Data)'라고 정의하고, 일상적인 상황에서 획득되는 데이터를 '정상 데이터(Normal Data)'라고 정의한다.
정상 데이터는 항상 발생하고 획득하기 쉬운 데이터지만, 이상 데이터는 그것이 예외적인 경우에 해당하므로 획득하기가 매우 어렵다. 즉, 이상 데이터를 한번 획득하려면 매우 오랜 시간을 기다려야 하거나, 일부러 이상 상태(Anomalous Condition)를 조성해야 한다.
한편, 종래에 데이터 분석에 기반하여 이상 징후를 탐지하려는 시도들이 있었으나, 단순히 사전 결정된 기준을 정의하고 그 기준에 벗어난 것인지 아닌지를 판단하는 수준이었다. 이러한 종래의 데이터 분석에 의한 이상 탐지는 유용해 보일 수 있으나, 사용자가 미리 데이터를 학습 및 분석해야 하고 이를 기반으로 기준을 세우는 것이므로 사전 준비에 시간이 많이 소요된다. 또한, 인간에 의한 분석이므로 정확성이 떨어질 가능성도 내포한다.
이와 같은 문제를 해결하기 위해 인공지능에 기반한 이상 탐지 방법들이 개시되어 왔으나, 데이터의 양이 극히 적은 이상 데이터를 학습함에 있어서 소량의 이상 데이터만으로도 분류 성능을 높일 수 있는 방안은 확보되지 않은 수준이다. 즉, 머신 러닝으로 학습할 데이터가 1,000개 중 1개의 비율로 이상 데이터를 포함하는 경우에, 분류기가 정상 데이터와 이상 데이터를 구분할 만큼 훈련되기는 어렵다는 문제가 있다.
대한민국 공개특허 제10-2018-0081437호 (2018년 7월 16일 공개)
본 발명은 위와 같은 문제점을 해결하기 위하여 제안된 것으로, 이상 데이터가 소량만 확보된 상태에서 분류기를 훈련시킴에도 불구하고 분류기의 이상 데이터 탐지 성능을 높일 수 있는 이상 탐지 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 이상 탐지 방법은 정상 데이터(10)를 입력으로 하여 사전 결정된 차원의 벡터를 출력하도록 오토 인코더(E)(auto encoder)를 학습시키는 준비 단계(S100), 상기 준비 단계에서 훈련된 오토 인코더(TE)에 훈련용 데이터를 입력하여 획득한 벡터 정보를 가공한 후, 가공된 훈련용 데이터 벡터 정보를 활용하여 분류기(S)를 학습시킴으로써 상기 분류기(S)가 정상 데이터와 이상 데이터를 구분하는 능력을 향상시키는 분류기(S) 생성 단계(S200)를 포함한다.
오토 인코더(E)는 부호화 모듈 및 복호화 모듈로 구성된다. 예를 들면 부호화 모듈은 입력된 정보에 대하여 압축된 정보를 출력한다. 구체적으로, 부호화 모듈은 입력된 벡터에 대하여 차원이 축소된 벡터를 출력한다. 복호화 모듈은 상기 부호화 모듈에서 출력된 차원이 축소된 벡터를 다시 본래의 정보로 되돌린다. 즉, 오토 인코더(E)는 '입력 - 부호화 모듈(신경망) - 중간 정보(축소된 차원) - 복호화 모듈(신경망) - 입력'의 구조로 형성된다.
부호화 모듈의 출력이자 복호화 모듈의 입력이 되는 중간 정보의 형태는 사전 결정될 수 있고, 오토 인코더(E)가 머신 러닝의 방식으로 학습될 수 있다.
입력된 데이터는 차원이 축소되거나 압축된 형태로 가공됨으로써 연산이 용이한 상태가 된다.
본 발명의 일 실시예에서, 상기 분류기 생성 단계(S200)는 상기 준비 단계에서 훈련된 오토 인코더(TE)에 훈련용 정상 데이터(11)(training normal data)를 입력하여 정상 벡터(21)를 생성하는 단계(S210)를 포함할 수 있다. 훈련된 오토 인코더(TE)는 필연적으로 훈련된 부호화 모듈을 포함하고, 훈련된 부호화 모듈에 훈련용 정상 데이터(11)를 입력하면 사전 결정된 차원의 벡터의 형태로 정상 벡터(21)가 생성될 수 있다. 입력되는 데이터는 예를 들면 시간 프레임(time frame) 별로 구분되어 입력될 수 있고, 따라서 정상 벡터(21)는 복수 개일 수 있다. 정상 벡터(21)는 이상 징후에 관련된 데이터가 아닌 이상이 없을 때, 즉 일상(usual)에 관한 정보를 담고 있다.
본 발명의 일 실시예에서, 상기 분류기 생성 단계(S200)는 상기 정상 벡터(21)를 대표하는 기준 벡터(20)를 결정하는 단계(S220)를 포함할 수 있다. 정상 벡터(21)는 일상에 관한 정보를 담고 있고, 이상 징후에 관한 데이터는 일상에서 얻을 수 있는 데이터와 차이가 있으므로 정상 벡터(21)는 일종의 기준이 될 수 있다. 그러나 정상 벡터(21)가 모두 동일한 정보를 담고 있을 수는 없으므로 이들을 대표하는 기준 벡터(20)를 정의하는 것이 바람직하다.
상기 기준 벡터(20)는 충분히 많은, 정상 벡터(21)를 대표할 수 있도록 정의되는 것이 바람직하다. 예를 들면 정상 벡터(21)들의 평균일 수 있다.
본 발명의 일 실시예에서, 상기 분류기 생성 단계(S200)는 상기 학습 단계에서 훈련된 오토 인코더(TE)에 훈련용 이상 데이터(12)(training anomaly data)를 입력하여 이상 벡터(22)를 생성하는 단계(S230)를 포함할 수 있다. 훈련된 오토 인코더(TE)는 필연적으로 훈련된 부호화 모듈을 포함하고, 훈련된 부호화 모듈에 훈련용 이상 데이터(12)를 입력하면 사전 결정된 차원의 벡터의 형태로 이상 벡터(22)가 생성될 수 있다. 입력되는 데이터는 예를 들면 시간 프레임(time frame) 별로 구분되어 입력될 수 있고, 따라서 이상 벡터(22)는 복수 개일 수 있다. 이상 벡터(22)는 이상 징후에 관한 정보를 담고 있다.
본 발명의 일 실시예에서, 상기 분류기 생성 단계(S200)는 상기 기준 벡터(20)와 상기 정상 벡터(21)사이의 상관관계를 계산하여 정상 관계 벡터(31)를 생성하는 단계(S240) 및 상기 기준 벡터(20)와 상기 이상 벡터(22) 사이의 상관관계를 계산하여 이상 관계 벡터(32)를 생성하는 단계(S250)를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 정상 관계 벡터(31) 및 이상 관계 벡터(32)를 입력으로 하고 상기 정상 관계 벡터(31)에 대한 출력은 "정상 데이터"로, 상기 이상 관계 벡터(32)에 대한 출력은 "이상 데이터(anomalous data)"로 설정하여 분류기(S)를 학습하는 단계(S260)를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 분류기 학습 단계(S260)에서 상기 정상 관계 벡터(31)의 개수는 상기 이상 관계 벡터(32)의 개수와 동일하게 설정되는 것이 바람직하다.
이상 데이터를 직접 머신 러닝에 의해 학습함으로써 분류기(S)의 성능을 향상시킬 수도 있으나, 이상 데이터가 매우 소량만 확보될 것이기 때문에 정상 데이터를 대표하는 기준 벡터(20)를 정의하고 상기 기준 벡터(20)와의 관계(또는 차이)를 나타내는 관계 벡터를 구하여 이를 학습의 대상으로 삼는 것이 바람직하다. 구체적으로, 이상 데이터가 소량 포함된 데이터를 단순히 머신 러닝에 의해 학습시키는 경우를 검토한다. 이 경우 소량의 이상 데이터와 다량의 정상 데이터가 입력되므로 매우 가끔 이상 데이터를 정상 데이터로 판단한다 하더라도 정확도는 매우 높게 나타나고, 분류기(S)는 잘못 판단한 부분에 대해 수정 학습하기 어렵다. 이상 데이터를 학습하는 데에는 데이터가 너무 적어 학습 자체가 어렵다.
본 발명의 일 실시예에 의하면, 정상 데이터를 대표하는 기준 벡터(20) - 예를 들면 정상 벡터(21) 중 정규 분포의 중심에 위치하는 벡터 - 를 구하면 이상 벡터(22)와 기준 벡터(20) 간의 차이가 명확해진다. 즉, 정상 상태를 벗어나는 데이터들에 대해서는 기준 벡터(20)와 명확한 차이가 발생할 것이고, '개별 정상 벡터(21)들과 기준 벡터(20)의 상관관계' 및 '이상 벡터(22)들과 기준 벡터(20)의 상관관계'를 동일한 개수로 설정하여 분류기(S)를 학습시키면 분류기(S)는 명확히 이들을 구분해내도록 빠르게 학습할 수 있다.
본 발명의 일 실시예에서, 상기 이상 탐지 방법은 상기 훈련된 오토 인코더(TE)에 외부 데이터(13)(external data)를 입력하여 획득한 벡터 정보를 가공한 후, 가공된 외부 데이터(13) 벡터 정보를 분류기(S)에 입력하면, 상기 분류기(S)는 상기 외부 데이터(13)가 정상 데이터인지 이상 데이터인지 분류하는 데이터 분류 단계(S300)를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 데이터 분류 단계(S300)는 상기 훈련된 오토 인코더(TE)에 외부 데이터(13)(external data)를 입력하여 추론용 비교 벡터(23)를 생성하는 단계(S310), 상기 기준 벡터(20)와 상기 추론용 비교 벡터(23)의 상관관계를 계산하여 추론용 관계 벡터(33)를 생성하는 단계(S320), 및 상기 분류기(S)에 상기 추론용 관계 벡터(33)를 입력하여 상기 외부 데이터(13)가 정상 데이터인지 이상 데이터인지 분류하는 단계(S330)를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 이상 탐지 방법은 새로운 이상 데이터가 수집되면 상기 분류기(S)를 추가로 학습시키는 재학습 단계(S400)를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 이상 데이터는 서로 다른 특성을 갖는 복수 개의 종류로 구성될 수 있고, 상기 단계들 중 상기 이상 데이터에 대해 적용되는 단계들은 각 종류의 이상 데이터에 적용될 수 있다.
본 발명의 일 실시예에 따른 이상 탐지 방법은 정상 데이터를 입력으로 하여 사전 결정된 차원의 벡터를 출력하도록 오토 인코더(auto encoder; AE)를 학습시키는 단계(S100), 상기 학습 단계에서 훈련된 오토 인코더(TE)에 훈련용 정상 데이터(11)(training normal data)를 입력하여 정상 벡터(21)를 생성하는 단계(S210), 상기 정상 벡터(21)를 대표하는 기준 벡터(20)를 결정하는 단계(S220), 상기 학습 단계에서 훈련된 오토 인코더(TE)에 훈련용 이상 데이터(12)(training anomaly data)를 입력하여 이상 벡터(22)를 생성하는 단계(S230), 상기 기준 벡터(20)와 상기 정상 벡터(21)사이의 상관관계를 계산하여 정상 관계 벡터(31)를 생성하는 단계(S240), 상기 기준 벡터(20)와 상기 이상 벡터(22) 사이의 상관관계를 계산하여 이상 관계 벡터(32)를 생성하는 단계(S250), 상기 정상 관계 벡터(31) 및 이상 관계 벡터(32)를 입력으로 하고 상기 정상 관계 벡터(31)에 대한 출력은 "정상 데이터"로, 상기 이상 관계 벡터(32)에 대한 출력은 "이상 데이터(anomalous data)"로 설정하여 분류기(S)를 학습하는 단계(S260)를 포함한다.
본 발명의 일 실시예에서, 상기 이상 탐지 방법은 상기 훈련된 오토 인코더(TE)에 외부 데이터(13)(external data)를 입력하여 추론용 비교 벡터(23)를 생성하는 단계(S310), 상기 기준 벡터(20)와 상기 추론용 비교 벡터(23)의 상관관계를 계산하여 추론용 관계 벡터(33)를 생성하는 단계(S320) 및 상기 분류기(S)에 상기 추론용 관계 벡터(33)를 입력하여 상기 외부 데이터(13)가 정상 데이터인지 이상 데이터인지 분류하는 단계(S330)를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 이상 데이터는 서로 다른 특성을 갖는 복수 개의 종류로 구성될 수 있고, 상기 단계들 중 상기 이상 데이터에 대해 적용되는 단계들은 각 종류의 이상 데이터에 적용될 수 있다.
예를 들면, 상기 이상 벡터(22) 생성 단계(S230)는 훈련용 제1 이상 데이터를 입력하여 제1 이상 벡터(22)를 생성하는 단계(S231) 및 훈련용 제2 이상 데이터를 입력하여 제1 이상 벡터(22)를 생성하는 단계(S232)를 포함할 수 있다.
예를 들면, 상기 이상 관계 벡터(32) 생성 단계(S250)는 상기 기준 벡터(20)와 상기 제1 이상 벡터(22) 사이의 상관관계를 계산하여 제1 이상 관계 벡터를 생성하는 단계(S251) 및 상기 기준 벡터(20)와 상기 제2 이상 벡터(22) 사이의 상관관계를 계산하여 제2 이상 관계 벡터를 생성하는 단계(S252)를 포함할 수 있다.
예를 들면, 상기 학습 단계(S260)는 상기 제1 이상 관계 벡터에 대한 출력은 "제1 이상 데이터"로 설정하여 분류기(S)를 학습하는 단계(S261); 및 상기 제2 이상 관계 벡터에 대한 출력은 "제2 이상 데이터"로 설정하여 분류기(S)를 학습하는 단계(S262)를 포함할 수 있다.
예를 들면, 상기 결정 단계(S330)는 상기 외부 데이터(13)가 정상 데이터인지 제1 이상 데이터인지 제2 이상 데이터인지 분류하는 단계를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 이상 탐지 방법은 새로운 이상 데이터가 수집되면 상기 분류기(S)를 추가로 학습시키는 재학습 단계(S400)를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 확보된 이상 데이터가 적더라도 임의의 외부 데이터가 정상 데이터인지 이상 징후를 나타내는 이상 데이터인지 쉽게 분류할 수 있다.
도 1은 본 발명과 관련된 이상 탐지 방법에 따라 데이터가 가공되고 분류되는 전체 흐름을 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 이상 탐지 방법의 단계에 관한 블록도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명과 관련된 이상 탐지 방법에 따라 데이터가 가공되고 분류되는 흐름을 설명하기 위한 개념도이다.
정상 데이터란, 특정 상황에서 일반적으로 발생하는 상황 정보에 대한 데이터이다. 예를 들면 인간의 심박동에 관한 정보의 경우 시간의 흐름에 따라 일정한 심박수가 검출되는데, 간혹 심박동이 빨라지거나 불규칙적으로 변할 수 있다. 이 때 일정한 심박수는 정상 데이터다. 반면, 빨리진 심박동 또는 불규칙적인 심박동은 이상 데이터다.
오토 인코더란 다차원 입력 데이터를 저차원 부호로 바꾸는 부호화 모듈 및 저차원 부호를 처음 입력한 다차원 데이터로 바꾸는 복호화 모듈을 포함한다. 이 과정 속에서 입력 데이터의 특징을 효율적으로 찾을 수 있고, 정보의 차원이 감소하여 노이즈를 제거하는 용도로 사용되기도 한다.
정상 데이터는 일반적으로 확보하기가 용이하여 다량으로 확보할 수 있다. 다량으로 확보된 정상 데이터를 입력으로 설정하고 축소된 차원을 결정하여 저차원 부호의 형태를 지정해주고 오토 인코더를 학습시키면 정상 데이터를 입력했을 때 사전 결정된 차원의 저차원 부호가 출력되는 부호화 모듈이 형성된다. 즉, 학습된 부호화 모듈에 임의의 정상 데이터의 특징 벡터를 입력하면 유사한 벡터가 출력으로 얻어진다. 학습된 부호화 모듈의 신경망이 형성된 것이다. 이렇게 학습된 부호화 모듈을 훈련된 부호화 모듈(trained encoder module)이라 명명한다.
준비 단계(S100)는 훈련용 데이터를 가공할 수 있도록 오토 인코더를 학습시키는 과정이다. 정상 데이터를 시간 프레임으로 분할하여 하나의 프레임에 대해 고속 푸리에 변환(Fast Fourier Transform; FFT)을 실행하여 특징 벡터를 얻어낼 수 있다. 획득한 특징 벡터로 오토 인코더를 학습시킨다.
준비 단계(S100)에서 훈련된 오토 인코더(TE)는 정상 데이터에 관하여 학습되었다. 따라서 임의의 정상 데이터를 훈련된 부호화 모듈에 입력하면 대개 유사한 벡터들이 출력된다. 그러나 임의의 이상 데이터를 훈련된 부호화 모듈에 입력하면 정상 데이터를 입력했을 때의 벡터들과는 전혀 다른 벡터들이 출력된다.
본 발명은 훈련용 데이터 중 훈련용 정상 데이터(11)를 상기 훈련된 부호화 모듈에 입력하였을 때 생성되는 출력과 훈련용 이상 데이터(12)를 상기 훈련된 부호화 모듈에 입력하였을 때 생성되는 출력이 확연히 다를 것이라는 점에 착안하였다.
훈련용 정상 데이터(11)를 훈련된 오토 인코더(TE)(특히 부호화 모듈)에 입력했을 때 얻어지는 벡터를 정상 벡터(21)라고 하고, 훈련용 정상 이상 데이터를 훈련된 오토 인코더(TE)(특히 부호화 모듈)에 입력했을 때 얻어지는 벡터를 이상 벡터(22)라고 정의한다. 정상 벡터(21)들 각각은 정확히 동일하지는 않지만 유사한 값이나 규칙을 가지게 되고, 통계적으로는 대개 정규 분포의 중앙에 가깝다.
분류기 생성 단계(S200)에서는 이상 벡터(22)와 정상 벡터(21)의 차이점을 명확히 규정하기 위해 정상 벡터(21)들을 대표하는 기준 벡터(20)를 구한다. 기준 벡터(20)는 정상 벡터(21)들의 평균일 수도 있고, 다른 수학적 방법으로 정해질 수도 있다.
하나의 기준 벡터(20)가 정해졌다면 각각의 정상 벡터(21), 각각의 이상 벡터(22)와 기준 벡터(20) 사이의 상관관계들을 구할 수 있다. 예를 들면 벡터의 차 또는 벡터의 합이다. 경우에 따라 벡터곱이 될 수도 있다.
벡터의 차를 예로 들면, 각각의 정상 벡터(21)에서 기준 벡터(20)를 빼면 0벡터에 가까운 벡터들이 구해진다. 각각의 이상 벡터(22)에서 기준 벡터(20)를 빼면 0벡터와는 매우 다른 형태의 벡터들이 구해진다. 이렇게 구해진 결과값 중 정상 벡터(21)와 기준 벡터(20)의 상관관계를 나타내는 것을 정상 관계 벡터(31)라고 하고, 이상 벡터(22)와 기준 벡터(20)의 상관관계를 나타내는 것을 이상 관계 벡터(32)라고 한다.
두 관계 벡터가 구해졌다면 복수의 정상 관계 벡터(31)에 "정상 데이터"로 레이블링(labeling)하고, 복수의 이상 관계 벡터(32)에 "이상 데이터"로 레이블링(labeling)하여 분류기(S)를 학습시킨다. 이 때 분류기(S)에 입력하는 정상 관계 벡터(31)의 개수는 이상 관계 벡터(32)의 개수에 맞게 맞추는 것이 바람직하다. 이상 감지를 위해서는 이상 데이터를 검출하는 것이 목표이므로 정상 데이터의 양이 많다고 정상 관계 벡터(31)를 지나치게 많이 입력하는 것은 바람직하지 않다. 이상 데이터의 종류가 2개 이상으로 설정될 경우에는 여러 종류의 이상 데이터 중 데이터 개수가 적은 쪽에 맞추어 정상 관계 벡터(31) 및 다른 이상 관계 벡터(32)의 개수를 설정하는 것이 바람직하다.
레이블 된(labeled) 정상 관계 벡터(31) 및 이상 관계 벡터(32)로 분류기(S)를 학습하면 분류기(S)는 입력되는 벡터의 형태에 따라 입력된 데이터가 정상 데이터인지 이상 데이터인지 분류하게 된다.
데이터 분류 단계(S300)에서는 상기 분류기(S)를 활용하여 결과를 출력할 수 있다. 외부 데이터(13)에 고속 푸리에 변환을 실행하여 특징 벡터를 추출한 후 이를 훈련된 오토 인코더(TE)에 입력할 수 있다. 그 결과 출력된 벡터는 추론용 비교 벡터(23)라고 정의한다. 이 추론용 비교 벡터(23)는 아직 정상 데이터에 관한 것인지 이상 데이터에 관한 것인지 알 수 없지만, 기준 벡터(20)와의 상관관계를 나타내는 관계 벡터를 구하여 분류기(S)에 입력한다면 데이터를 적절히 분류할 수 있다.
즉, 외부 데이터(13)가 이상 데이터라면, 추론용 비교 벡터(23)는 필연적으로 기준 벡터(20)와 0벡터가 아닌 관계에 있을 것이다. 잘 훈련된 분류기(S)는 추론용 비교 벡터(23)와 기준 벡터(20)의 차를 나타낼 수 있는 추론용 관계 벡터(33)를 입력받아 데이터의 형태를 구분할 수 있다.
확보한 이상 데이터가 많아지고 학습량이 많아질수록 분류기(S)의 성능은 향상되므로, 분류기 재학습 단계(S400)에서는 추가 이상 데이터(14)에 대하여 훈련된 오토 인코더(TE)에 의해 추가 이상 벡터(24)를 추론하고 이를 기준 벡터(20)와 비교하여 추가 이상 관계 벡터(34)를 구하여 분류기(S)를 추가 학습시킬 수 있다. 분류기(S)의 추가 학습 회수가 늘어날수록 분류기(S)의 성능은 향상된다.
요컨대, 다량의 정상 데이터로 오토 인코더를 학습시킨 후 일정량의 정상 데이터와 이상 데이터를 훈련된 오토 인코더(TE)를 통해 정상 벡터(21) 및 이상 벡터(22)로 추론한다. 이들 정상 벡터(21)와 이상 벡터(22)를 정상 벡터(21)를 대표하는 기준 벡터(20)와 비교하여 구한 정상 관계 벡터(31) 및 이상 관계 벡터(32)를 레이블링 하여 분류기(S)를 훈련하면 이상 데이터에 관하여 훨씬 수월하게 학습하고 검출할 수 있는 분류기(S)를 얻을 수 있다.
도 2는 본 발명의 일 실시예에 따른 이상 탐지 방법의 단계에 관한 블록도이다.
이상 탐지 방법은 크게 준비 단계(S100), 분류기 생성 단계(S200), 데이터 분류 단계(S300) 및 재학습 단계(S400)로 구성된다. 이 중 분류기 생성 단계(S200)는 정상 벡터(21) 생성 단계(S210), 기준 벡터 결정 단계(S220), 이상 벡터 생성 단계(S230), 정상 관계 벡터(31) 생성 단계(S240), 이상 관계 벡터 생성 단계(S250) 및 분류기 학습 단계(S260)를 포함한다. 정상 관계 벡터(31)와 이상 관계 벡터를 구하여 분류기를 학습시키는 것이 본 발명의 목적 달성에 중요하다.
또한, 데이터 분류 단계(S300)는 추론용 비교 벡터 생성 단계(S310), 추론용 관계 벡터 생성 단계(S320) 및 데이터 분류 단계(S330)를 포함한다. 데이터 분류 단계(S300)에서는 정상 데이터인지 이상 데이터인지 알 수 없는 임의의 데이터에 대하여 추론용 관계 벡터(33)를 추출함으로써 데이터 형태가 구분될 수 있다.

Claims (13)

  1. 정상 데이터를 입력으로 하여 사전 결정된 차원의 벡터를 출력하도록 오토 인코더(auto encoder)를 학습시키는 준비 단계(S100); 및
    상기 준비 단계에서 훈련된 오토 인코더에 훈련용 데이터를 입력하여 획득한 벡터 정보를 가공한 후, 가공된 훈련용 데이터 벡터 정보를 활용하여 분류기를 학습시킴으로써 상기 분류기가 정상 데이터와 이상 데이터를 구분하는 능력을 향상시키는 분류기 생성 단계(S200)를 포함하고,
    상기 분류기 생성 단계(S200)는
    상기 준비 단계에서 훈련된 오토 인코더(TE)에 훈련용 정상 데이터(training normal data)를 입력하여 정상 벡터를 생성하는 단계(S210);
    상기 정상 벡터를 대표하는 기준 벡터를 결정하는 단계(S220);
    상기 준비 단계에서 훈련된 오토 인코더에 훈련용 이상 데이터(training anomaly data)를 입력하여 이상 벡터를 생성하는 단계(S230);
    상기 기준 벡터와 상기 정상 벡터 사이의 상관관계를 계산하여 정상 관계 벡터를 생성하는 단계(S240);
    상기 기준 벡터와 상기 이상 벡터 사이의 상관관계를 계산하여 이상 관계 벡터를 생성하는 단계(S250); 및
    상기 정상 관계 벡터 및 이상 관계 벡터를 입력으로 하고 상기 정상 관계 벡터에 대한 출력은 "정상 데이터"로, 상기 이상 관계 벡터에 대한 출력은 "이상 데이터(anomalous data)"로 설정하여 분류기를 학습하는 단계(S260)를 포함하며,
    상기 훈련된 오토 인코더에 외부 데이터(external data)를 입력하여 획득한 벡터 정보를 가공한 후, 가공된 외부 데이터 벡터 정보를 분류기에 입력하면, 상기 분류기는 상기 외부 데이터가 정상 데이터인지 이상 데이터인지 분류하는 데이터 분류 단계(S300)를 더 포함하는,
    이상 탐지 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 분류기 학습 단계(S260)에서, 상기 정상 관계 벡터의 개수는 상기 이상 관계 벡터의 개수와 동일하게 설정되는,
    이상 탐지 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 데이터 분류 단계(S300)는
    상기 훈련된 오토 인코더에 외부 데이터(external data)를 입력하여 추론용 비교 벡터를 생성하는 단계(S310);
    상기 기준 벡터와 상기 추론용 비교 벡터의 상관관계를 계산하여 추론용 관계 벡터를 생성하는 단계(S320); 및
    상기 분류기에 상기 추론용 관계 벡터를 입력하여 상기 외부 데이터가 정상 데이터인지 이상 데이터인지 분류하는 단계(S330)를 포함하는,
    이상 탐지 방법.
  6. 제1항에 있어서,
    새로운 이상 데이터가 수집되면 상기 분류기를 추가로 학습시키는 재학습 단계(S400)를 더 포함하는 이상 탐지 방법.
  7. 제1항 또는 제6항에 있어서,
    상기 이상 데이터는 서로 다른 특성을 갖는 복수 개의 종류로 구성될 수 있고,
    상기 단계들 중 상기 이상 데이터에 대해 적용되는 단계들은 각 종류의 이상 데이터에 적용되는,
    이상 탐지 방법.
  8. 정상 데이터를 입력으로 하여 사전 결정된 차원의 벡터를 출력하도록 오토 인코더(auto encoder)를 학습시키는 준비 단계(S100);
    상기 준비 단계에서 훈련된 오토 인코더에 훈련용 정상 데이터(training normal data)를 입력하여 정상 벡터를 생성하는 단계(S210);
    상기 정상 벡터를 대표하는 기준 벡터를 결정하는 단계(S220);
    상기 준비 단계에서 훈련된 오토 인코더에 훈련용 이상 데이터(training anomaly data)를 입력하여 이상 벡터를 생성하는 단계(S230);
    상기 기준 벡터와 상기 정상 벡터 사이의 상관관계를 계산하여 정상 관계 벡터를 생성하는 단계(S240);
    상기 기준 벡터와 상기 이상 벡터 사이의 상관관계를 계산하여 이상 관계 벡터를 생성하는 단계(S250); 및
    상기 정상 관계 벡터 및 이상 관계 벡터를 입력으로 하고 상기 정상 관계 벡터에 대한 출력은 "정상 데이터"로, 상기 이상 관계 벡터에 대한 출력은 "이상 데이터(anomalous data)"로 설정하여 분류기를 학습하는 단계(S260)를 포함하고,
    상기 훈련된 오토 인코더에 외부 데이터(external data)를 입력하여 추론용 비교 벡터를 생성하는 단계(S310);
    상기 기준 벡터와 상기 추론용 비교 벡터의 상관관계를 계산하여 추론용 관계 벡터를 생성하는 단계(S320); 및
    상기 분류기에 상기 추론용 관계 벡터를 입력하여 상기 외부 데이터가 정상 데이터인지 이상 데이터인지 분류하는 단계(S330)를 더 포함하는,
    이상 탐지 방법.
  9. 제8항에 있어서,
    상기 분류기 학습 단계(S260)에서, 상기 정상 관계 벡터의 개수는 상기 이상 관계 벡터의 개수와 동일하게 설정되는,
    이상 탐지 방법.
  10. 삭제
  11. 제8항에 있어서,
    상기 이상 데이터는 서로 다른 특성을 갖는 복수 개의 종류로 구성될 수 있고,
    상기 단계들 중 상기 이상 데이터에 대해 적용되는 단계들은 각 종류의 이상 데이터에 적용되는,
    이상 탐지 방법.
  12. 제11항에 있어서,
    상기 이상 벡터 생성 단계(S230)는
    훈련용 제1 이상 데이터를 입력하여 제1 이상 벡터를 생성하는 단계(S231); 및
    훈련용 제2 이상 데이터를 입력하여 제2 이상 벡터를 생성하는 단계(S232)를 포함하고,
    상기 이상 관계 벡터 생성 단계(S250)는
    상기 기준 벡터와 상기 제1 이상 벡터 사이의 상관관계를 계산하여 제1 이상 관계 벡터를 생성하는 단계(S251); 및
    상기 기준 벡터와 상기 제2 이상 벡터 사이의 상관관계를 계산하여 제2 이상 관계 벡터를 생성하는 단계(S252)를 포함하고,
    상기 학습 단계(S260)는
    상기 제1 이상 관계 벡터에 대한 출력은 "제1 이상 데이터"로 설정하여 분류기를 학습하는 단계(S261); 및
    상기 제2 이상 관계 벡터에 대한 출력은 "제2 이상 데이터"로 설정하여 분류기를 학습하는 단계(S262)를 포함하고,
    상기 데이터 분류 단계(S330)는 상기 외부 데이터가 정상 데이터인지 제1 이상 데이터인지 제2 이상 데이터인지 분류하는 단계를 포함하는,
    이상 탐지 방법.
  13. 제8항에 있어서,
    새로운 이상 데이터가 수집되면 상기 분류기를 추가로 학습시키는 재학습 단계(S400)를 더 포함하는,
    이상 탐지 방법.
KR1020180140186A 2018-11-14 2018-11-14 신경망 분석 기반의 소리 분류용 이상 탐지 방법 KR102600745B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180140186A KR102600745B1 (ko) 2018-11-14 2018-11-14 신경망 분석 기반의 소리 분류용 이상 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180140186A KR102600745B1 (ko) 2018-11-14 2018-11-14 신경망 분석 기반의 소리 분류용 이상 탐지 방법

Publications (2)

Publication Number Publication Date
KR20200056183A KR20200056183A (ko) 2020-05-22
KR102600745B1 true KR102600745B1 (ko) 2023-11-10

Family

ID=70913795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180140186A KR102600745B1 (ko) 2018-11-14 2018-11-14 신경망 분석 기반의 소리 분류용 이상 탐지 방법

Country Status (1)

Country Link
KR (1) KR102600745B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102466716B1 (ko) 2020-08-18 2022-11-11 연세대학교 산학협력단 특징 벡터 분산에 기반한 손실 함수를 통한 이상 탐지 장치 및 방법
CN112379269B (zh) * 2020-10-14 2024-03-05 武汉蔚来能源有限公司 电池异常检测模型训练及其检测方法、装置
KR102546598B1 (ko) 2020-11-17 2023-06-21 연세대학교 산학협력단 이상 상황 감지 장치 및 방법
SG10202100813PA (en) * 2021-01-26 2021-02-25 Ensign Infosecurity Pte Ltd A SYSTEM AND METHOD FOR DETECTING DOMAIN GENERATION ALGORITHMS (DGAs) USING DEEP LEARNING AND SIGNAL PROCESSING TECHNIQUES
KR102302341B1 (ko) * 2021-02-19 2021-09-16 주식회사 트윔 자기지도 학습에 기반한 제품 검사 방법 및 장치
KR102525187B1 (ko) * 2021-05-12 2023-04-24 네이버클라우드 주식회사 시계열 기반 이상 탐지 방법 및 시스템
KR20230165543A (ko) 2022-05-27 2023-12-05 국민대학교산학협력단 멀티모달 딥러닝 기반 이상 상황 탐지 장치 및 방법
KR20230171704A (ko) 2022-06-14 2023-12-21 한국전자통신연구원 오토인코더 모델 기반의 다변량 데이터 이상 진단 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880628B1 (ko) * 2017-11-27 2018-08-16 한국인터넷진흥원 기계 학습 데이터셋에 대한 레이블링 방법 및 그 장치
JP2018147172A (ja) * 2017-03-03 2018-09-20 日本電信電話株式会社 異常検知装置、異常検知方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977214B1 (ko) 2017-01-06 2019-05-10 한양대학교 산학협력단 이상치 탐지 방법, 이를 이용하는 장치 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018147172A (ja) * 2017-03-03 2018-09-20 日本電信電話株式会社 異常検知装置、異常検知方法及びプログラム
KR101880628B1 (ko) * 2017-11-27 2018-08-16 한국인터넷진흥원 기계 학습 데이터셋에 대한 레이블링 방법 및 그 장치

Also Published As

Publication number Publication date
KR20200056183A (ko) 2020-05-22

Similar Documents

Publication Publication Date Title
KR102600745B1 (ko) 신경망 분석 기반의 소리 분류용 이상 탐지 방법
Cacheux et al. Modeling inter and intra-class relations in the triplet loss for zero-shot learning
Sheehan et al. Deep learning for population genetic inference
Nti et al. Performance of machine learning algorithms with different K values in K-fold CrossValidation
Saegusa et al. Joint estimation of precision matrices in heterogeneous populations
JP6828807B2 (ja) データ解析装置、データ解析方法およびデータ解析プログラム
CN110827265B (zh) 基于深度学习的图片异常检测方法
EP3916597A1 (en) Detecting malware with deep generative models
CN115617614A (zh) 基于时间间隔感知自注意力机制的日志序列异常检测方法
Bhattacharjee et al. Autoencoder based novelty detection for generalized zero shot learning
CN114970751A (zh) 基于自编码器的自适应目标分类方法、系统及电子设备
CN112632000B (zh) 日志文件聚类方法、装置、电子设备和可读存储介质
CN105224954B (zh) 一种基于Single-pass去除小话题影响的话题发现方法
CN113947209A (zh) 基于云边协同的集成学习方法、系统及存储介质
EP3499429A1 (en) Behavior inference model building apparatus and method
Clark et al. Performance characterization in computer vision a tutorial
Manning-Dahan PCA and Autoencoders
CN110941542A (zh) 基于弹性网络的序列集成高维数据异常检测系统及方法
CN115567224A (zh) 一种用于检测区块链交易异常的方法及相关产品
Balega et al. IoT Anomaly Detection Using a Multitude of Machine Learning Algorithms
Yu et al. Adaptive Negative Evidential Deep Learning for Open-set Semi-supervised Learning
CA3097731A1 (en) System and method for deep learning recommender
RU2819348C1 (ru) Способ графовой нейросетевой классификации на отсутствие или наличие большого депрессивного расстройства по данным фмрт
OZGUMUS Adversarially learned anomaly detection using generative adversarial networks
CN111738455A (zh) 一种基于集成域自适应的故障诊断方法及系统

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant