KR20200141812A - 뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치 - Google Patents

뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치 Download PDF

Info

Publication number
KR20200141812A
KR20200141812A KR1020190068809A KR20190068809A KR20200141812A KR 20200141812 A KR20200141812 A KR 20200141812A KR 1020190068809 A KR1020190068809 A KR 1020190068809A KR 20190068809 A KR20190068809 A KR 20190068809A KR 20200141812 A KR20200141812 A KR 20200141812A
Authority
KR
South Korea
Prior art keywords
layer
output
input
neural network
features
Prior art date
Application number
KR1020190068809A
Other languages
English (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 KR1020190068809A priority Critical patent/KR20200141812A/ko
Priority to US16/781,328 priority patent/US11727279B2/en
Publication of KR20200141812A publication Critical patent/KR20200141812A/ko
Priority to US18/341,996 priority patent/US20230342621A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Abstract

뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 방법 및 장치는, 입력 데이터 신호로부터 입력 피쳐들을 추출하고, 입력 피쳐들을 뉴럴 네트워크로 처리함으로써 뉴럴 네트워크의 출력 피쳐들을 획득하고, 입력 피쳐들과 출력 피쳐들 간의 오차를 임계값과 비교하여 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단한다.

Description

뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치 {Method and apparatus for anomaly detection using neural network}
뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 방법 및 장치에 관한다.
최근 뉴럴 네트워크(neural network) 기술이 발전함에 따라, 다양한 종류의 전자 시스템에서 뉴럴 네트워크를 활용하여 입력 데이터를 분석하고 유효한 정보를 추출하는 연구가 활발히 진행되고 있다. 특히, 사이버 침입 감지(cyber-intrusion detection), 센서 네트워크 이상 탐지(sensor networks anomaly detection), 의학적 이상 감지(medical anomaly detection), 산업 피해 감지(industrial damage detection) 등의 다양한 기술 분야들에서는 대용량의 그리고 연속적인 정상적인 신호들이 발생되는 활동들 중에서 이상 신호(abnormal signal)가 발생하는 상황을 실시간으로 인식 및 판단하기 위한 이상 신호 감지(anomaly detection)를 통해 사건 사고를 미연에 방지하고자, 뉴럴 네트워크 시스템을 도입하여 보다 효율적인 이상 신호 감지를 수행할 수 있는 기술들이 개발되고 있다.
뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 방법 및 장치를 제공하는데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 측면에 따르면, 뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 방법은, 입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행하는 단계; 상기 추출된 입력 피쳐들을 인코더 파트 및 디코더 파트의 레이어들로 구성된 뉴럴 네트워크로 처리함으로써 상기 디코더 파트의 출력에 해당하는 상기 뉴럴 네트워크의 출력 피쳐들을 획득하는 단계; 상기 입력 피쳐들과 상기 출력 피쳐들 간의 오차를 획득하는 단계; 상기 획득된 오차를 임계값과 비교함으로써 상기 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단하는 단계; 및 상기 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력하는 단계를 포함한다.
다른 측면에 따르면, 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 기록매체를 포함할 수 있다.
또 다른 측면에 따르면, 뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 장치는, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 상기 이상 신호 감지를 수행하는 프로세서를 포함하고, 상기 프로세서는 입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행하고, 상기 추출된 입력 피쳐들을 인코더 파트 및 디코더 파트의 레이어들로 구성된 뉴럴 네트워크로 처리함으로써 상기 디코더 파트의 출력에 해당하는 상기 뉴럴 네트워크의 출력 피쳐들을 획득하고, 상기 입력 피쳐들과 상기 출력 피쳐들 간의 오차를 획득하고, 상기 획득된 오차를 임계값과 비교함으로써 상기 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단하고, 상기 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력한다.
도 1은 일 실시예에 따른 이상 신호 감지 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 비지도 학습 뉴럴 네트워크를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 이상 신호 감지 장치의 하드웨어 구성을 설명하기 위한 블록도이다.
도 4는 일 실시예에 따른 프로세서에서 이상 신호 감지를 수행하기 위하여 실행되는 구체적 단계들을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 이상 신호 감지를 수행하기 위한 처리 단계들을 설명하기 위한 도면이다.
도 6은 일 실시예에 따라 도 5의 이상 신호 감지의 수행을 처리하는 뉴럴 네트워크를 구동하기 위한 이상 신호 감지 장치의 프로세서의 회로 구성을 설명하기 위한 도면이다.
도 7a 및 도 7b는 다른 실시예에 따른 도 5의 이상 신호 감지의 수행을 처리하는 뉴럴 네트워크를 구동하기 위한 이상 신호 감지 장치의 프로세서의 회로 구성을 설명하기 위한 도면들이다.
도 8은 일 실시예에 따라 이상 신호 감지를 수행하기 위한 처리 단계들을 수학적 모델들을 이용하여 설명하기 위한 도면이다.
도 9 및 도 10은 일 실시예에 따라 이상 신호 감지 장치를 이용한 EEG 센서 기반 간질질환 판단 시스템에서 간질 발생 여부의 판단에 대한 시뮬레이션 결과를 설명하기 위한 도면이다.
도 11은 일 실시예에 따라 뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 방법의 흐름도이다.
실시예들에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 실시예들에서 사용되는 “구성된다” 또는 “포함한다” 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 상세히 설명한다. 그러나 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 예에 한정되지 않는다.
도 1은 일 실시예에 따른 이상 신호 감지 시스템을 설명하기 위한 도면이다.
도 1을 참고하면, 이상 신호 감지 시스템(anomaly detection system)(10)은 시스템(10) 상에 또는 외부 디바이스에 구비된 센서를 이용하여 측정된 센싱 신호, 네트워크를 통해 수신된 네트워크 데이터, 이미지 처리를 통해 획득된 이미지 데이터 등과 같은 다양한 종류들의 입력 신호 또는 입력 데이터를 수신하여 이상 신호 감지를 수행한다. 이때, 이상 신호 감지 시스템(10)은 비지도 학습 뉴럴 네트워크(15)를 이용하여 입력 신호 또는 입력 데이터가 정상 패턴을 나타내는 신호인지, 아니면 비정상 패턴을 나타내는 신호인지 여부를 판단한다. 만약, 입력 신호 또는 입력 데이터가 비정상 패턴을 나타내는 신호로 판단된 경우에는, 이상 신호 감지 시스템(10)은 이상 신호 감지를 나타내는 정보를 출력한다.
이상 신호 감지 시스템(10)은 사기행위 감지(fraud detection), 사이버 침입 감지(cyber-intrusion detection), 센서 네트워크 이상 감지(sensor networks anomaly detection), 의학적 이상 감지(medical anomaly detection), Internet of Things (IoT) 빅 데이터 이상 감지(Internet Of Things (IoT) big-data anomaly detection), 비디오 감시(video surveillance), 산업 피해 탐지(industrial damage detection) 등의 다양한 기술 분야들에 채용되어 활용 가능한 시스템이다.
예를 들어, 이상 신호 감지 시스템(10)은 환자에 부착된 EEG(electroencephalogram) 또는 ECG(electrocardiogram) 등을 측정하는 디바이스들에 연결되어 환자의 생체 신호를 주기적으로 모니터링하면서 평상시의 생체 신호 패턴들과 다른 비정상 패턴의 생체 신호가 발생되는 경우, 이를 이상 신호로 감지할 수 있다.
이상 신호 감지 시스템(10)은 입력 신호 또는 입력 데이터가 정상 패턴인지 또는 비정상 패턴인지 여부를 판단하기 위하여, 뉴럴 네트워크를 활용한다. 여기서, 뉴럴 네트워크는 비지도 학습(unsupervised learning)에 기반하여 학습되는 뉴럴 네트워크일 수 있다.
뉴럴 네트워크를 학습하는 방식들은, 지도 학습(supervised learning)의 방식과 비지도 학습의 방식으로 구분될 수 있다. 지도 학습은 주어진 학습 목표에 기초하여 뉴럴 네트워크 파라미터들을 학습하는 방식으로서, 주어진 학습 목표 없이 입력 데이터만으로 뉴럴 네트워크 파라미터들을 학습하는 비지도 학습과 차이가 있다.
한편, 의학적 이상 감지의 기술 분야를 예로 들면, 지도 학습의 방식을 이용하는 뉴럴 네트워크를 구축하기 위해서는, 생체 신호와 관련된 많은 데이터들에 대한 개별 의학 전문가들 각각의 진단에 기반하여 학습 목표를 설정하여야 할 필요가 있으므로, 효율적인 지도 학습의 시스템을 구축하기 어려울 수 있다. 반면에, 비지도 학습을 이용하는 뉴럴 네트워크는 입력 신호 또는 입력 데이터만으로도 평상시의 생체 신호 패턴에 해당하는지 또는 평상시와 다른 비정상 생체 신호 패턴에 해당하는지를 구분할 수 있도록 학습될 수 있으므로, 보다 효율적인 학습이 가능할 수 있다.
도 2는 일 실시예에 따른 비지도 학습 뉴럴 네트워크를 설명하기 위한 도면이다.
도 2를 참고하면, 뉴럴 네트워크(20)는 입력 레이어, 히든 레이어 및 출력 레이어의 아키텍쳐로 구성될 수 있다. 뉴럴 네트워크(20)는 도 1에서 설명된 비지도 학습 뉴럴 네트워크(15)에 대응한다.
뉴럴 네트워크(20)의 각 레이어는 적어도 하나 이상의 노드들(또는 뉴런들)을 포함하여 구성되고, 각 레이어에서 노드(또는 뉴런)은 하나 이상의 링크에 의해 다른 레이어의 노드(또는 뉴런)와 상호 연결될 수 있다. 어느 레이어들 간 상호 연결된 노드들 간의 관계에서, 출력 노드는 입력 노드에 입력된 데이터와 해당 노드들 간의 가중치에 기초하여 그 값이 결정될 수 있다.
뉴럴 네트워크(20)는 입력 레이어, 히든 레이어 및 출력 레이어에 기초하여 인코더 파트(encoder part) 및 디코더 파트(decoder part)의 레이어들을 구성하는 오토인코더(autoencoder)에 해당할 수 있다. 예를 들어, 오토인코더에서 인코더 파트는 인지 네트워크(recognition network)라고도 하며 입력 피쳐들을 내부 표현으로 변환(인코딩)하고, 디코더 파트는 생성 네트워크(generative network)라고도 하며 내부 표현을 출력 피쳐들로 변환(디코딩)한다.
오토인코더는 뉴럴 네트워크의 각 레이어들을 단계적으로 학습해 나가면서, 최종 레이어(즉, 출력 레이어)의 출력이 최초 레이어(즉, 입력 레이어)의 입력을 재현하도록 학습하는 기계 학습 모델이다. 따라서, 오토 인코더는 입력 피쳐들을 압축하고, 압축된 결과들을 복원하여 원래의 입력 피쳐들에 근사한 출력 피쳐들을 출력하는 뉴럴 네트워크의 일종이다.
오토인코더의 아키텍쳐에 따르면, 입력 레이어와 출력 레이어 각각의 차원(다시 말하면, 노드 개수 또는 뉴런 개수)은, 히든 레이어의 차원보다 높은 뉴럴 네트워크로 구현될 수 있다. 따라서, 이와 같은 히든 레이어의 존재로 인하여 입력 피쳐가 그대로 출력 피쳐로서 출력될 수 없다. 오코 인코더는 출력 피쳐가 입력 피쳐를 효율적으로 표현할 수 있도록, 출력 피쳐를 이용하여 각 레이어의 파라미터들에 대한 비지도 학습을 수행한다.
즉, 오토인코더는 도 2에 도시된 바와 같이, 입력 피쳐들을 출력 피쳐들로 효율적으로 재구성(reconstruct)할 수 있도록 학습하는 뉴럴 네트워크로서, 입력 피쳐들이 출력 피쳐들로 단순히 복사되지 않도록 히든 레이어를 이용한다. 예를 들어, 오토인코더는 앞서 설명된 바와 같이 히든 레이어의 차원(노드 개수 또는 뉴런 개수)을 입력 레이어의 차원보다 낮게 구성하여 입력 피쳐들을 압축하거나, 또는 오토인코더는 히든 레이어를 통해 입력 피쳐들에 노이즈(noise)를 추가할 수도 있다.
이상 신호 감지 시스템(도 1의 10)은 입력 신호 또는 입력 데이터로부터 추출된 신호 패턴을 이용하여 오토인코더(뉴럴 네트워크(20))를 반복적으로 학습시킴으로써, 오토인코더가 정상 신호 패턴이라 인지할 수 있는 신호 패턴을 구분할(classify) 수 있도록 각 레이어의 파라미터들을 반복적으로 업데이트한다.
이상 신호 감지 시스템(10)은 오토인코더가 입력 피쳐들과 전혀 근사하지 않은 출력 피쳐들을 출력하게 된다면, 이는 입력 신호 또는 입력 데이터가 이상 신호에 해당된다는 것으로 판단할 수 있다.
한편, 뉴럴 네트워크(20) 입력 레이어의 차원(즉, 노드 개수 또는 뉴런 개수)은 출력 레이어의 차원과 동일하거나 또는 동일하지 않을 수 있다. 즉, 오토인코더를 구현하기 위한 뉴럴 네트워크(20)의 아키텍쳐는 어느 하나로 제한되지 않고 다양할 수 있다.
도 3은 일 실시예에 따른 이상 신호 감지 장치의 하드웨어 구성을 설명하기 위한 블록도이다.
도 3을 참고하면, 이상 신호 감지 장치(100)는 앞서 설명된 이상 신호 감지 시스템(10) 상에서 이상 신호 감지를 수행하는 장치에 해당한다. 이상 신호 감지 장치(100)는 I/O 인터페이스(110), 프로세서(120) 및 메모리(130)를 포함한다. 도 3에 도시된 이상 신호 감지 장치(100)에는 본 실시예들와 관련된 구성요소들만이 도시되어 있다. 따라서, 이상 신호 감지 장치(100)에는 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당업자에게 자명하다.
I/O 인터페이스(110)는 이상 신호 감지 장치(100)가 이상 신호 감지 장치(100)에 정보를 입력하기 위한 입력 인터페이스, 이상 신호 감지 장치(100)에서 처리된 정보를 사용자에게 시각적으로 제공하기 위한 디스플레이 인터페이스, 외부 장치들과 네트워크 통신을 수행하기 위한 유/무선 네트워크 인터페이스 등을 포함하는 하드웨어 구성이다.
I/O 인터페이스(110)는 이상 신호 감지를 수행하기 위하여, 외부 장치로부터 수신된 입력 신호 또는 입력 데이터를 수신할 수 있다. 여기서, 외부 장치로부터 수신된 입력 신호 또는 입력 데이터는 앞서 설명된, 사기행위 감지, 사이버 침입 감지, 센서 네트워크 이상 감지, 의학적 이상 감지, Internet of Things (IoT) 빅 데이터 이상 감지, 비디오 감시, 산업 피해 탐지 등과 같이, 다양한 목적들에 의해 생성된 다양한 타입들의 데이터 신호에 해당할 수 있다.
이상 신호 감지 장치(100)는 I/O 인터페이스(110)를 통해 입력 신호 또는 입력 데이터를 수신한 경우, 이상 신호 감지의 프로세스들이 수행되도록 수신된 입력 신호 또는 입력 데이터를 프로세서(120)로 전달한다.
한편, 이상 신호 감지 장치(100)는 이상 신호가 감지된 경우에는 이상 신호가 감지되었음을 나타내는 정보를 I/O 인터페이스(110)를 통해 출력할 수 있다. 예를 들어, I/O 인터페이스(110)는 디스플레이 인터페이스를 통해 사용자에게 해당 정보를 디스플레이하거나, 네트워크 인터페이스를 통해 외부 네트워크로 해당 정보를 전송할 수 있다.
이상 신호 감지 장치(100)는 예를 들어, PC(personal computer), 서버 디바이스, TV(television), 모바일 디바이스(스마트폰, 태블릿 디바이스 등), 임베디드 디바이스, 자율주행 자동차, 웨어러블 디바이스, AR(Augmented Reality) 디바이스, IoT(Internet of Things) 디바이스 등의 다양한 종류의 컴퓨팅 디바이스에 해당될 수 있고, 프로세서(120)는 이와 같은 컴퓨팅 디바이스 내에 구비된 프로세싱 디바이스에 해당할 수 있다. 예를 들어, 프로세서(120)는 CPU(central processing unit), GPU(graphics processing unit), AP(application processor), NPU(neural processing unit) 등과 같은 프로세서에 해당할 수 있으나, 이에 제한되지 않는다.
프로세서(120)는 프로세서(120)가 구비된 이상 신호 감지 장치(100)를 제어하기 위한 전반적인 기능들을 수행하는 역할을 한다. 프로세서(120)는 메모리(130)에 저장된 프로그램들을 실행함으로써, 이상 신호 감지 장치(100)를 전반적으로 제어할 수 있다. 예를 들어, 프로세서(120)는 이상 신호 감지 장치(100)가 입력 신호 또는 입력 데이터가 이상 신호에 해당되는지 여부를 판단하기 위한 다양한 프로세스들을 실행할 수 있다.
앞서, 입력 신호 또는 입력 데이터는 I/O 인터페이스(110)를 통해 수신되는 것으로 설명되었으나, 이에 제한되지 않고 입력 신호 또는 입력 데이터는 프로세서(120)가 직접 수신할 수도 있다. 비록 도시되지 않았으나, 만약 이상 신호 감지 장치(100) 내에 센서 또는 다른 측정 디바이스가 구비된 경우, 프로세서(120)는 센서 또는 다른 측정 디바이스에 의해 센싱된 데이터 신호를 센서 또는 다른 측정 디바이스로부터 직접 입력 신호 또는 입력 데이터로서 수신할 수 있다.
메모리(130)는 프로세서(120) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리(130)는 비지도 학습 뉴럴 네트워크(15)에 관한 뉴럴 네트워크 데이터들, 프로세서(120)가 비지도 학습 뉴럴 네트워크(15)를 학습하는 동안 생성된 데이터들, 학습된 뉴럴 네트워크 데이터들 등을 저장할 수 있다. 또한, 메모리(130)는 프로세서(120)에 의해 구동될 다양한 애플리케이션들, 예를 들어 뉴럴 네트워크 추론 및 학습을 위한 애플리케이션, 이상 신호를 판단하기 위한 알고리즘에 관한 애플리케이션 등을 저장할 수 있다.
메모리(130)는 휘발성 메모리(volatile memory) 또는 불휘발성 메모리(nonvolatile memory) 중 적어도 하나를 포함할 수 있다. 불휘발성 메모리는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등을 포함한다. 휘발성 메모리는 DRAM (Dynamic RAM), SRAM (Static RAM), SDRAM (Synchronous DRAM), PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FeRAM (Ferroelectric RAM) 등을 포함한다. 실시예에 있어서, 메모리(130)는 HDD(Hard Disk Drive), SSD(Solid State Drive), CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 중 적어도 하나로 구현될 수 있다.
이하에서는 프로세서(120)에 의해 이상 신호 감지의 수행에 관한 구체적인 동작들을 설명하기로 한다.
도 4는 일 실시예에 따른 프로세서에서 이상 신호 감지를 수행하기 위하여 실행되는 구체적 단계들을 설명하기 위한 도면이다.
도 4를 참고하면, 1210 단계에서, 프로세서(120)는 입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행한다. 여기서, 피쳐는 입력 데이터 신호로부터 소정의 차원 m을 갖는 피쳐 벡터에 해당할 수 있고, 피쳐 추출은 입력 데이터 신호를 소정의 밴드패스 필터 등을 이용하여 수행될 수 있으나, 이에 제한되지 않고 다양한 방식들에 의해 수행될 수도 있다. 프로세서(120)의 전처리에 의해 생성된 피쳐의 타입은 어느 하나로 제한되지 않고, 당해 기술분야에서 알려진, 입력 데이터 신호에 포함된 데이터 특성, 데이터 표현 등을 나타내는 정보에 해당할 수 있다. 또한, 피쳐 추출의 방식도 마찬가지로 당해 기술분야에서 알려진 방식들을 이용하여 수행될 수 있다.
1220 단계에서, 프로세서(120)는 추출된 입력 피쳐들을 인코더 파트 및 디코더 파트의 레이어들로 구성된 뉴럴 네트워크(도 1의 15)로 처리함으로써, 디코더 파트의 출력에 해당하는, 뉴럴 네트워크(15)의 출력 피쳐들을 획득한다.
1230 단계에서, 프로세서(120)는 입력 피쳐들과 출력 피쳐들 간의 오차를 획득하고, 획득된 오차를 임계값과 비교함으로써 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단한다.
입력 피쳐들과 출력 피쳐들 간의 오차는 입력 피쳐들과 출력 피쳐들 간의 MSE(Mean Squared Error)를 계산함으로써 획득될 수 있다. 예를 들어, 입력 피쳐들과 출력 피쳐들 각각이 m차원 피쳐 벡터에 해당하는 경우, 오차는 m차원 피쳐 벡터들 간의 벡터 차의 MSE에 해당할 수 있다. 다만, 이에 제한되지 않고, 오차는 입력 피쳐들과 출력 피쳐들 간의 통계적 차이를 나타내기 위한 다른 통계량(예를 들어, MSD(mean squared deviation), RMSE(Root Mean Square Error) 등)을 이용하여 계산될 수도 있다.
한편, 임계값은, 이상 신호 감지 장치(100)의 활용 분야, 사용 환경 등에 적합하도록 소정의 값으로 미리 정의될 수 있으며, 다양하게 변경될 수 있다.
프로세서(120)는 획득된 오차와 임계값을 비교하여, 획득된 오차가 임계값을 초과하는 경우, 입력 데이터 신호는 이상 신호에 해당하는 것으로 판단한다.
1240 단계에서, 프로세서(120)는 입력 데이터 신호가 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력한다. 프로세서(120)는 이상 신호가 감지되었을 경우에만 해당 정보를 출력하고, 이상 신호가 감지되지 않았을 경우에는 별도의 정보를 출력하지 않을 수 있다. 이와 같은 경우, 프로세서(120) 및 이상 신호 감지 장치(100)는 이상 신호에 대해서만 선택적으로 정보를 출력함으로서 저전력으로 네트워크 자원을 소비할 수 있으므로, 이상 신호 감지 장치(100)는 에너지 효율적으로 동작될 수 있다.
1250 단계에서, 출력 피쳐들이 획득된 경우, 프로세서(120)는 출력 피쳐들을 이용하여 뉴럴 네트워크(15)에 대한 비지도 학습(unsupervised learning)을 수행함으로써 역전파(backpropagation) 학습을 처리한다.
여기서, 프로세서(120)는 비지도 학습을 통해 입력 피쳐들과 출력 피쳐들 간의 차이의 오차가 감소하는 경향을 갖도록 뉴럴 네트워크(15)의 입력 레이어의 가중치들과 출력 레이어의 가중치들을 업데이트한다. 예를 들어, 비지도 학습은 경사 하강법(Gradient Descent)을 이용하여 오차가 감소하는 경향을 갖도록 학습을 수행함으로써 가중치들을 업데이트하는 것일 수 있다. 이와 같은, 비지도 학습은 자가 학습(self-learning)에 해당할 수 있다.
프로세서(120)는 소정 횟수의 배치 학습(batch learning)을 통해 각 레이어의 가중치들을 업데이트할 수 있다. 예를 들어, 프로세서(120)는 뉴럴 네트워크(15)에 대하여 미리 정해진 횟수만큼만 비지도 학습을 수행하고, 이후에는 최종적으로 학습된 뉴럴 네트워크로 이상 신호 감지를 수행할 수 있다. 여기서 횟수는 다양하게 변경 가능하다. 이와 달리, 프로세서(120)는 온라인 학습(online learning)을 통해 각 레이어의 가중치들을 업데이트할 수 있다. 즉, 프로세서(120)는 출력 패치들이 획득될 경우마다, 계속하여 비지도 학습을 수행함으로써, 가중치들을 업데이트할 수 있다. 다만, 프로세서(120)가 비지도 학습을 수행하는 방식은 어느 하나로 제한되지 않으며, 다양한 방식들로 비지도 학습이 수행될 수 있다.
도 5는 일 실시예에 따른 이상 신호 감지를 수행하기 위한 처리 단계들을 설명하기 위한 도면이다.
도 5를 참고하면, 처리 단계들은 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 5에도 동일하게 적용될 수 있다.
501 단계에서, 프로세서(120)는 입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행한다.
502 단계에서, 추출된 입력 피쳐들은 뉴럴 네트워크(도 1의 15)의 입력 레이어의 입력들로 입력되고, 프로세서(120)는 입력 피쳐들과 입력 레이어-히든 레이어의 가중치 IW 간의 연산을 수행하고, 입력 레이어의 출력을 획득한다.
503 단계에서, 프로세서(120)는 입력 레이어의 출력에 대하여 시그모이드 연산을 수행함으로써 인코더 출력을 획득한다. 시그모이드 연산은 예를 들어, 시그모이드 함수, ReLU(Rectified Linear Unit) 등과 같은 액티베이션 함수(activation function)를 이용한 연산으로서, 입력 레이어의 액티베이션(즉, 인코더 출력)을 획득하기 위한 연산이다.
504 단계에서, 출력은 뉴럴 네트워크(15)의 출력 레이어의 입력들로 입력되고, 프로세서(120)는 인코더 출력과 히든 레이어-출력 레이어의 가중치 DW 간의 연산을 수행하고, 출력 레이어의 출력을 획득한다.
505 단계에서, 프로세서(120)는 출력 레이어의 출력에 대하여 시그모이드 연산을 수행함으로써 디코더 출력을 획득한다. 여기서, 디코더 출력은 앞서 설명된 출력 피쳐들에 해당한다.
한편, 502 단계 내지 503 단계는 도 2에 도시된 입력 레이어-히든 레이어(인코더 파트) 간의 인코딩 프로세스에 해당하고, 504 단계 내지 505 단계는 도 2에 도시된 히든 레이어-출력 레이어(디코더 파트) 간의 디코딩 프로세스에 해당할 수 있다.
506 단계에서, 프로세서(120)는 입력 피쳐들과 출력 피쳐들 간의 오차를 획득한다. 입력 피쳐들과 출력 피쳐들 간의 오차는 입력 피쳐들과 출력 피쳐들 간의 MSE일 수 있으나, 이에 제한되지 않는다.
507 단계에서, 프로세서(120)는 획득된 오차를 임계값과 비교함으로써 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단한다. 프로세서(120)가 판단하고자 하는 입력 데이터 신호가 과거에 드물게 입력된 데이터 신호일수록, 입력 피쳐들과 비지도 학습 뉴럴 네트워크(15)에 의해 출력된 출력 피쳐들 간의 오차는 클 수 있으며, 과거에 빈번히 입력된 데이터 신호일수록 획득된 입력 피쳐들과 비지도 학습 뉴럴 네트워크(15)에 의해 출력된 출력 피쳐들 간의 오차는 작을 수 있다.
508 단계에서, 프로세서(120)는 입력 데이터 신호가 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력한다.
511 단계 및 512 단계에서, 프로세서(120)는 경사 하강법에 의해 획득된 가중치 조정값들에 기초하여 입력 레이어-히든 레이어의 가중치와 히든 레이어-출력 레이어의 가중치를 업데이트함으로써, 뉴럴 네트워크(15)의 역전파 학습을 수행할 수 있다.
도 6은 일 실시예에 따라 도 5의 이상 신호 감지의 수행을 처리하는 뉴럴 네트워크를 구동하기 위한 이상 신호 감지 장치의 프로세서의 회로 구성을 설명하기 위한 도면이다.
도 6을 참고하면, 프로세서(도 3의 120)는 인코더 레이어 연산 회로(601), 시그모이드 연산 회로(602), 인코더 출력 저장 회로(603), 디코더 레이어 연산 회로(604), 시그모이드 연산 회로(605), 디코더 출력 저장 회로(606) 및 가중치 연산 회로(607)를 포함한다. 다만, 도 6에 도시된 프로세서(120)의 회로 구성에는 본 실시예들와 관련된 회로 구성요소들만이 도시되어 있다. 따라서, 이상 신호 감지 장치(100)의 프로세서(120)에는 도 6에 도시된 회로 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당업자에게 자명하다.
인코더 레이어 연산 회로(601)는 도 5의 502 단계에서 설명된, 입력 피쳐들과 입력 레이어-히든 레이어의 가중치 IW 간의 연산을 수행하고, 입력 레이어의 출력을 획득하는 회로부(circuit unit)이다.
시그모이드 연산 회로(602)는 도 5의 503 단계에서 설명된, 입력 레이어의 출력에 대하여 시그모이드 연산을 수행함으로써 인코더 출력을 획득하는 회로부이다.
인코더 출력 저장 회로(603)는 시그모이드 연산 회로(602)에 의해 획득된 인코더 출력을 저장하는 메모리 회로부이다.
디코더 레이어 연산 회로(604)는 도 5의 504 단계에서 설명된, 인코더 출력과 히든 레이어-출력 레이어의 가중치 DW 간의 연산을 수행하고, 출력 레이어의 출력을 획득하는 회로부이다.
시그모이드 연산 회로(605)는 도 5의 505 단계에서 설명된, 출력 레이어의 출력에 대하여 시그모이드 연산을 수행함으로써 디코더 출력을 획득하는 회로부이다.
디코더 출력 저장 회로(606)는 시그모이드 연산 회로(605)에 의해 획득된 디코더 출력을 저장하는 메모리 회로부이다. 한편, 디코더 출력 저장 회로(606)에 저장된 디코더 출력은 출력 피쳐들에 해당되는 것으로서, 이상 신호가 감지되었는지 여부를 판단하기 위하여 다른 회로 구성으로 제공될 수 있으며, 또한 입력 레이어-히든 레이어의 가중치 IW와 히든 레이어-출력 레이어의 가중치 DW의 업데이트를 위하여 가중치 연산 회로(607)로 제공될 수 있다.
일 실시예에 따르면, 앞서 설명된 바와 같이, 이상 신호 감지를 위한 비지도 학습 뉴럴 네트워크의 각각의 레이어에 대한 연산은 프로세서(120) 내에서 별개의 하드웨어 구성들로 구현된 별도의 레이어 연산 회로부들에 의해 독립적으로 처리될 수 있다.
다만, 이에 제한되지 않고, 이하 도 7a 및 도 7b에서 설명될 바와 같이, 뉴럴 네트워크의 각각의 레이어에 대한 연산을 처리하기 위한 하드웨어 회로 구성들은 다양할 수 있다.
도 7a 및 도 7b는 다른 실시예에 따른 도 5의 이상 신호 감지의 수행을 처리하는 뉴럴 네트워크를 구동하기 위한 이상 신호 감지 장치의 프로세서의 회로 구성을 설명하기 위한 도면들이다.
도 7a 및 도 7b를 참고하면, 도 6의 실시예와 달리, 프로세서(도 3의 120)는 인코더 레이어 및 디코더 레이어에 대한 연산들을 처리하기 위한 인코더/디코더 레이어 통합 연산 회로(700)를 구비할 수 있다.
도 7a에 도시된 바와 같이, 인코더/디코더 레이어 통합 연산 회로(700)는 레이어 연산 회로(701), 시그모이드 연산 회로(702), 인코더 가중치 저장 회로(703) 및 디코더 가중치 저장 회로(704)를 포함한다.
도 7b를 참고하면, 레이어 연산 회로(701)는 전처리 데이터(①)를 이용하여 인코더 레이어 MAC 연산(②)을 수행하는 경우에는, 도 6의 인코더 레이어 연산 회로(601)와 같이 동작될 수 있다. 여기서, MAC 연산은 multiply-accumulate operation을 의미한다. 한편, 뉴럴 네트워크(오토인코더)는 N개 뉴런들의 입력 레이어(인코더 레이어), M개 뉴런들의 히든 레이어 및 N개 뉴럴들의 출력 레이어(디코더 레이어)를 갖는 네트워크인 것으로 가정할 수 있다.
레이어 연산 회로(701)에 의해 인코더 레이어에 대한 연산 결과(③ 인코더 레이어 MAC 연산 결과)는 시그모이드 연산 회로(702)로 제공되고, 시그모이드 연산 회로(702)는 인코더 레이어 출력 데이터(④)를 출력한다.
레이어 연산 회로(701)는 인코더 레이어 출력 데이터(④)를 이용하여 디코더 레이어 MAC 연산(⑤)을 수행하고, 디코더 레이어 MAC 연산 결과(⑥)를 출력한다. 즉, 이때 레이어 연산 회로(701)는 도 6의 디코더 레이어 연산 회로(604)와 같이 동작될 수 있다.
시그모이드 연산 회로(702)는 디코더 레이어 MAC 연산 결과(⑥)에 대한 시그모이드 연산을 수행하고, 디코더 레이어 출력 데이터(⑦)를 출력한다.
인코더 가중치 저장 회로(703) 및 디코더 가중치 저장 회로(704) 각각은 입력 레이어-히든 레이어의 가중치 IW와 히든 레이어-출력 레이어의 가중치 DW 각각을 저장하는 메모리 회로부이고, 저장된 가중치들 IW 및 DW 각각은 디코더 레이어 출력 데이터(⑦)에 의해 학습된 가중치들로 업데이트될 수 있다.
도 6에서 설명된 회로 구성과 도 7a 및 도 7b에서 설명된 회로 구성을 비교하면, 인코더/디코더 레이어 통합 연산 회로(700)는 인코더 레이어 연산 회로(601) 및 디코더 출력 저장 회로(606)를 별도로 구현하는 경우와 달리, 인코더 레이어(입력 레이어)와 디코더 레이어(출력 레이어)를 동일한 회로 구성요소들로 처리할 수 있다는 점에서 프로세서(120) 내 회로 구성을 위한 하드웨어 면적이 절감될 수 있고, 데이터 송수신에 따른 코스트가 감소될 수 있다. 또한, 하나의 인코더/디코더 레이어 통합 연산 회로(700)에서 동일한 회로 소자들로 레이어 연산을 수행하므로, 인코더 레이어 연산 회로(601) 및 디코더 출력 저장 회로(606) 간의 서로 다른 회로 소자들의 오차 또는 변이(variation)에 의해 발생될 수 있는 계산 오류의 영향이 줄어들 수 있다.
다만, 앞서 설명된 바와 같이, 이상 신호 감지 장치의 프로세서의 회로 구성은 도 6, 도 7a-7b, 또는 다른 실시예들에 의해 구현될 수 있으며, 어느 하나의 회로 구성의 실시예만으로 제한되지 않는다.
도 8은 일 실시예에 따라 이상 신호 감지를 수행하기 위한 처리 단계들을 수학적 모델들을 이용하여 설명하기 위한 도면이다.
도 8을 참고하면, 처리 단계들은 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 8에도 동일하게 적용될 수 있다.
810 단계에서, 프로세서(120)는 입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행한다.
811 단계에서, 프로세서(120)는 입력 피쳐들
Figure pat00001
과 입력 레이어-히든 레이어의 가중치
Figure pat00002
간의 연산을 수행하고, 입력 레이어의 출력
Figure pat00003
을 획득한다.
812 단계에서, 프로세서(120)는 입력 레이어의 출력
Figure pat00004
에 대하여 시그모이드 연산을 수행함으로써 인코더 출력
Figure pat00005
을 획득한다.
813 단계에서, 인코더 출력
Figure pat00006
은 뉴럴 네트워크(15)의 출력 레이어의 입력들로 입력되고, 프로세서(120)는 인코더 출력
Figure pat00007
과 히든 레이어-출력 레이어의 가중치
Figure pat00008
간의 연산을 수행하고, 출력 레이어의 출력
Figure pat00009
을 획득한다.
814 단계에서, 프로세서(120)는 출력 레이어의 출력
Figure pat00010
에 대하여 시그모이드 연산을 수행함으로써 디코더 출력(출력 피쳐들)
Figure pat00011
을 획득한다.
820 단계에서, 프로세서(120)는 입력 피쳐들
Figure pat00012
과 출력 피쳐들
Figure pat00013
간의 오차
Figure pat00014
를 획득한다.
830 단계에서, 프로세서(120)는 획득된 오차
Figure pat00015
를 임계값
Figure pat00016
과 비교함으로써 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단한다.
840 단계에서, 프로세서(120)는 오차
Figure pat00017
가 임계값
Figure pat00018
을 초과함으로써 입력 데이터 신호가 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력한다.
851 단계, 852 단계, 853 단계 및 854 단계 각각에서, 프로세서(120)는 경사 하강법(gradient descent)에 의해 획득된 가중치 조정값들
Figure pat00019
Figure pat00020
에 기초하여, 입력 레이어-히든 레이어의 가중치
Figure pat00021
와 히든 레이어-출력 레이어의 가중치
Figure pat00022
를 업데이트한다.
도 9 및 도 10은 일 실시예에 따라 이상 신호 감지 장치를 이용한 EEG 센서 기반 간질질환 판단 시스템에서 간질 발생 여부의 판단에 대한 시뮬레이션 결과를 설명하기 위한 도면이다.
도 9를 참고하면, 총 24명의 피험자들을 대상으로 9 ~ 42시간 동안 연속 측정된 간질 발생시 및 정상시의 EEG 데이터에 기반한 입력 데이터로 시뮬레이션이 수행되었고, 각 피험자는 23개의 전극들을 통해 256 samples/s 기록을 제공하였다.
시뮬레이션은 오토인코더 뉴럴 네트워크에 입력된 데이터 신호와 출력된 데이터 신호간의 MSE(loss score)를 계산하여, 정상시와 간질 발생시 간의 구별 가능 여부를 평가하였다.
도 9의 히스토그램(900)에 도시된 바와 같이, 정상시의 데이터 신호(TYPE A)는 loss score가 0에 가깝고, 간질 발생시의 신호(TYPE B)는 제각각의 loss score를 보이고 있으나, 0.01이상의 값을 보이고 있으므로, 서로 구별하기 용이한 상태임을 알 수 있다.
도 10을 참고하면, 피험자 5인(Patients A-E)의 데이터의 정확성 평가에 기반하여, 간질질환의 판단에 대한 성공률을 평가한 결과(1010)를 참고하면, 본 실시예에 따른 이상 신호 감지 장치(100)를 이용하였을 시에는 약 96% 이상의 높은 정확도를 갖는다는 점을 알 수 있다. 또한, 오토인코더의 뉴럴 네트워크에서 노드(즉, 뉴런) 개수를 변경하거나 또는 레이어 개수를 변경한다 할지라도, 본 실시예에 따른 이상 신호 감지 장치(100)를 이용하였을 시에는 약 96% 이상의 높은 정확도(최소 91.5%, 최대 98.8%의 정확도)가 달성될 수 있다.
이와 비교하여, Ref. 1 (P. Thodoroff, J. Pineau, A. Lim, In Machine Learning for Healthcare Conference, pp.178-190, 2016) 및 Ref. 2 (J. Yoo, 전기전자학회논문지 제22권 제4호, 2018.12, 1175-1179 (5 pages))에서 소개된 Seizure Detection Algorithms은 약 90% 정도의 정확도 수준으로서, 본 실시예에 따른 이상 신호 감지 장치(100)를 이용하였을 때 보다는 낮은 정확도 수준을 갖는다는 점을 알 수 있다.
도 11은 일 실시예에 따라 뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 방법의 흐름도이다. 도 11을 참고하면, 이상 신호 감지의 수행 방법은 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 9의 방법에도 적용될 수 있다.
1110 단계에서, 프로세서(120)는 입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행한다.
1120 단계에서, 프로세서(120)는 추출된 입력 피쳐들을 인코더 파트 및 디코더 파트의 레이어들로 구성된 뉴럴 네트워크(15)로 처리함으로써 디코더 파트의 출력에 해당하는 뉴럴 네트워크(15)의 출력 피쳐들을 획득한다.
1130 단계에서, 프로세서(120)는 입력 피쳐들과 출력 피쳐들 간의 오차를 획득한다.
1140 단계에서, 프로세서(120)는 획득된 오차를 임계값과 비교함으로써 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단한다.
1150 단계에서, 프로세서(120)는 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력한다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예들에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 실시예가 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 실시예에 포함된 것으로 해석되어야 할 것이다.

Claims (20)

  1. 뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 방법에 있어서,
    입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행하는 단계;
    상기 추출된 입력 피쳐들을 인코더 파트 및 디코더 파트의 레이어들로 구성된 뉴럴 네트워크로 처리함으로써 상기 디코더 파트의 출력에 해당하는 상기 뉴럴 네트워크의 출력 피쳐들을 획득하는 단계;
    상기 입력 피쳐들과 상기 출력 피쳐들 간의 오차를 획득하는 단계;
    상기 획득된 오차를 임계값과 비교함으로써 상기 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단하는 단계; 및
    상기 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 뉴럴 네트워크는
    입력 레이어, 히든 레이어 및 출력 레이어에 기초하여 상기 인코더 파트 및 디코더 파트의 레이어들을 구성하는 오토인코더(autoencoder)를 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 뉴럴 네트워크는
    상기 입력 레이어의 차원 및 상기 출력 레이어의 차원 각각이 상기 히든 레이어의 차원보다 높은 상기 오토인코더를 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 출력 피쳐들을 이용하여 상기 뉴럴 네트워크에 대한 비지도 학습(unsupervised learning)을 수행하는 단계를 더 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 획득된 오차는
    상기 입력 피쳐들과 상기 출력 피쳐들 간의 MSE(Mean Squared Error)를 계산함으로써 획득되는, 방법.
  6. 제 5 항에 있어서,
    상기 비지도 학습을 수행하는 단계는
    상기 입력 피쳐들과 상기 출력 피쳐들 간의 차이의 상기 오차가 감소하는 경향을 갖도록 상기 뉴럴 네트워크의 입력 레이어의 가중치들과 출력 레이어의 가중치들을 업데이트하는, 방법.
  7. 제 6 항에 있어서,
    상기 비지도 학습은
    경사 하강법(Gradient Descent)을 이용하여 상기 오차가 감소하는 경향을 갖도록 학습을 수행함으로써 상기 가중치들을 업데이트하는, 방법.
  8. 제 4 항에 있어서,
    상기 비지도 학습을 수행하는 단계는
    소정 횟수의 배치 학습(batch learning)을 통해 상기 가중치들을 업데이트하는, 방법.
  9. 제 4 항에 있어서,
    상기 비지도 학습을 수행하는 단계는
    온라인 학습(online learning)을 통해 상기 가중치들을 업데이트하는, 방법.
  10. 제 1 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인(non-transitory) 기록매체.
  11. 뉴럴 네트워크를 이용하여 이상 신호 감지를 수행하는 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 상기 이상 신호 감지를 수행하는 프로세서를 포함하고,
    상기 프로세서는
    입력 데이터 신호로부터 입력 피쳐들을 추출하는 전처리를 수행하고,
    상기 추출된 입력 피쳐들을 인코더 파트 및 디코더 파트의 레이어들로 구성된 뉴럴 네트워크로 처리함으로써 상기 디코더 파트의 출력에 해당하는 상기 뉴럴 네트워크의 출력 피쳐들을 획득하고,
    상기 입력 피쳐들과 상기 출력 피쳐들 간의 오차를 획득하고,
    상기 획득된 오차를 임계값과 비교함으로써 상기 입력 데이터 신호가 이상 신호에 해당하는지 여부를 판단하고,
    상기 이상 신호에 해당되는 것으로 판단된 경우, 이상 신호가 감지되었음을 나타내는 정보를 출력하는, 장치.
  12. 제 11 항에 있어서,
    상기 뉴럴 네트워크는
    입력 레이어, 히든 레이어 및 출력 레이어에 기초하여 상기 인코더 파트 및 디코더 파트의 레이어들을 구성하는 오토인코더(autoencoder)를 포함하는, 장치.
  13. 제 12 항에 있어서,
    상기 뉴럴 네트워크는
    상기 입력 레이어의 차원 및 상기 출력 레이어의 차원 각각이 상기 히든 레이어의 차원보다 높은 상기 오토인코더를 포함하는, 장치.
  14. 제 11 항에 있어서,
    상기 프로세서는
    상기 출력 피쳐들을 이용하여 상기 뉴럴 네트워크에 대한 비지도 학습(unsupervised learning)을 수행하는, 장치.
  15. 제 14 항에 있어서,
    상기 획득된 오차는
    상기 입력 피쳐들과 상기 출력 피쳐들 간의 MSE(Mean Squared Error)를 계산함으로써 획득되는, 장치.
  16. 제 15 항에 있어서,
    상기 프로세서는
    상기 비지도 학습을 통해 상기 입력 피쳐들과 상기 출력 피쳐들 간의 차이의 상기 오차가 감소하는 경향을 갖도록 상기 뉴럴 네트워크의 입력 레이어의 가중치들과 출력 레이어의 가중치들을 업데이트하는, 장치.
  17. 제 16 항에 있어서,
    상기 비지도 학습은
    경사 하강법(Gradient Descent)을 이용하여 상기 오차가 감소하는 경향을 갖도록 학습을 수행함으로써 상기 가중치들을 업데이트하는, 장치.
  18. 제 14 항에 있어서,
    상기 프로세서는
    온라인 학습(online learning) 또는 소정 횟수의 배치 학습(batch learning)을 통해 상기 가중치들을 업데이트하는, 장치.
  19. 제 11 항에 있어서,
    상기 프로세서는
    상기 인코더 파트의 레이어에 대한 연산을 처리하는 인코더 레이어 연산 회로 및 상기 디코더 파트의 레이어에 대한 연산을 처리하는 디코더 레이어 연산 회로를 별도로 구비하는, 장치.
  20. 제 11 항에 있어서,
    상기 프로세서는
    상기 인코더 파트의 레이어에 대한 연산 및 상기 디코더 파트의 레이어에 대한 연산을 동일 회로 구성으로서 처리하기 위한 레이어 연산 회로를 구비하는, 장치.
KR1020190068809A 2019-06-11 2019-06-11 뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치 KR20200141812A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190068809A KR20200141812A (ko) 2019-06-11 2019-06-11 뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치
US16/781,328 US11727279B2 (en) 2019-06-11 2020-02-04 Method and apparatus for performing anomaly detection using neural network
US18/341,996 US20230342621A1 (en) 2019-06-11 2023-06-27 Method and apparatus for performing anomaly detection using neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190068809A KR20200141812A (ko) 2019-06-11 2019-06-11 뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20200141812A true KR20200141812A (ko) 2020-12-21

Family

ID=73746273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190068809A KR20200141812A (ko) 2019-06-11 2019-06-11 뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치

Country Status (2)

Country Link
US (2) US11727279B2 (ko)
KR (1) KR20200141812A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102332740B1 (ko) * 2021-07-28 2021-12-01 주식회사 비플컨설팅 딥러닝을 이용하여 환자의 증상을 진단하는 방법, 장치 및 시스템
KR102440752B1 (ko) * 2022-04-08 2022-09-07 주식회사 알고리고 다중 샘플링 센서 융합을 통한 생체 시그널 정보 이상 모니터링 장치 및 방법
KR102441763B1 (ko) * 2022-04-08 2022-09-14 주식회사 알고리고 주파수 추정과 시그널 재건을 위한 다중 센서의 생체 시그널 정보 처리 장치 및 방법
KR102523458B1 (ko) * 2022-09-27 2023-04-19 주식회사 에이아이비즈 공정 설비의 비정상 동작 감지 방법, 컴퓨팅 장치 및 컴퓨터 프로그램
WO2023176992A1 (ko) * 2022-03-14 2023-09-21 프로메디우스 주식회사 비지도 학습 기반 의료 데이터 분석 장치 및 방법
KR102602516B1 (ko) * 2022-10-24 2023-11-16 주식회사 준다 뉴럴 네트워크를 이용하여 리밸런싱이 수행된 가상 자산에 대한 포트폴리오를 평가하는 방법 및 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11665180B2 (en) * 2020-02-28 2023-05-30 International Business Machines Corporation Artificially intelligent security incident and event management
CN112839059B (zh) * 2021-02-22 2022-08-30 北京六方云信息技术有限公司 Web入侵检测自适应告警过滤处理方法、装置及电子设备
CN113572539B (zh) * 2021-06-24 2022-08-26 西安电子科技大学 存储增强的无监督频谱异常检测方法、系统、设备、介质
JP7332654B2 (ja) 2021-06-29 2023-08-23 株式会社かんでんエンジニアリング 架空線損傷判定システム
WO2023084874A1 (ja) * 2021-11-15 2023-05-19 株式会社Nttドコモ 人口状態判定システム及びモデル生成システム
CN115514620B (zh) * 2022-11-15 2023-03-10 阿里云计算有限公司 一种异常检测的方法和云网络平台

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101350599B1 (ko) 2007-04-24 2014-01-13 삼성전자주식회사 음성패킷 송수신 방법 및 장치
JP6076751B2 (ja) 2013-01-22 2017-02-08 株式会社日立製作所 異常診断方法およびその装置
JPWO2015146082A1 (ja) 2014-03-26 2017-04-13 日本電気株式会社 漏洩検知装置、漏洩検知方法、およびプログラム
US10743821B2 (en) 2016-10-21 2020-08-18 Tata Consultancy Services Limited Anomaly detection by self-learning of sensor signals
CN108375534A (zh) 2018-02-06 2018-08-07 北京工业大学 Mbr膜污染智能预警方法
KR101911061B1 (ko) 2018-03-26 2018-10-23 주식회사 대곤코퍼레이션 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법
US20190302707A1 (en) * 2018-03-28 2019-10-03 Mitsubishi Electric Research Laboratories, Inc. Anomaly Detection in Manufacturing Systems Using Structured Neural Networks
US20200050941A1 (en) * 2018-08-07 2020-02-13 Amadeus S.A.S. Machine learning systems and methods for attributed sequences
US11218498B2 (en) * 2018-09-05 2022-01-04 Oracle International Corporation Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks
JP7103274B2 (ja) * 2019-02-28 2022-07-20 日本電信電話株式会社 検知装置及び検知プログラム
KR20200108523A (ko) * 2019-03-05 2020-09-21 주식회사 엘렉시 이상 패턴 감지 시스템 및 방법
US11301756B2 (en) * 2019-04-08 2022-04-12 MakinaRocks Co., Ltd. Novelty detection using deep learning neural network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102332740B1 (ko) * 2021-07-28 2021-12-01 주식회사 비플컨설팅 딥러닝을 이용하여 환자의 증상을 진단하는 방법, 장치 및 시스템
WO2023176992A1 (ko) * 2022-03-14 2023-09-21 프로메디우스 주식회사 비지도 학습 기반 의료 데이터 분석 장치 및 방법
KR102440752B1 (ko) * 2022-04-08 2022-09-07 주식회사 알고리고 다중 샘플링 센서 융합을 통한 생체 시그널 정보 이상 모니터링 장치 및 방법
KR102441763B1 (ko) * 2022-04-08 2022-09-14 주식회사 알고리고 주파수 추정과 시그널 재건을 위한 다중 센서의 생체 시그널 정보 처리 장치 및 방법
KR102523458B1 (ko) * 2022-09-27 2023-04-19 주식회사 에이아이비즈 공정 설비의 비정상 동작 감지 방법, 컴퓨팅 장치 및 컴퓨터 프로그램
KR102602516B1 (ko) * 2022-10-24 2023-11-16 주식회사 준다 뉴럴 네트워크를 이용하여 리밸런싱이 수행된 가상 자산에 대한 포트폴리오를 평가하는 방법 및 장치

Also Published As

Publication number Publication date
US11727279B2 (en) 2023-08-15
US20200394526A1 (en) 2020-12-17
US20230342621A1 (en) 2023-10-26

Similar Documents

Publication Publication Date Title
KR20200141812A (ko) 뉴럴 네트워크를 이용하여 이상 신호를 감지하는 방법 및 장치
Khan et al. Review of fall detection techniques: A data availability perspective
Li et al. Fall detection for elderly person care using convolutional neural networks
US20150272509A1 (en) Diagnostic apparatus and method
KR101163834B1 (ko) 세미 마르코프 조건부 랜덤 필드 모델 기반의 행동 인식 방법
Hnoohom et al. An Efficient ResNetSE Architecture for Smoking Activity Recognition from Smartwatch.
JP7070255B2 (ja) 異常判別プログラム、異常判別方法および異常判別装置
WO2018070935A1 (en) Determining sleep stages
US11381583B1 (en) Systems and methods for detecting anomalous system or network behavior
EP3555815A1 (en) Unsupervised learning techniques for temporal difference models
JP6950504B2 (ja) 異常候補抽出プログラム、異常候補抽出方法および異常候補抽出装置
US20220406036A1 (en) Analysis apparatus, analysis method, and computer-readable storage medium storing an analysis program
WO2019121655A1 (en) A probability-based detector and controller apparatus, method, computer program
CN111161883A (zh) 基于变分自编码器的疾病预测系统及其电子设备
Elshwemy et al. A New Approach for Thermal Vision based Fall Detection Using Residual Autoencoder.
CN114343585B (zh) 认知和行为障碍的预警方法、装置、设备及存储介质
EP3985574A1 (en) Method and apparatus with neural network pruning
KR20210155655A (ko) 이상 온도를 나타내는 객체를 식별하는 방법 및 장치
CN116189800B (zh) 基于气体检测的模式识别方法、装置、设备及存储介质
Ramzan et al. Automatic Unusual Activities Recognition Using Deep Learning in Academia.
CN111311466A (zh) 安全控制方法及装置
CN115840774A (zh) 多元时序异常检测方法及装置、计算机设备和存储介质
Hamdi et al. Deep Learning and Uniform LBP Histograms for Position Recognition of Elderly People with Privacy Preservation.
Akbari et al. A deep learning assisted method for measuring uncertainty in activity recognition with wearable sensors
Nia et al. The Power of ANN-Random Forest Algorithm in Human Activities Recognition Using IMU Data

Legal Events

Date Code Title Description
A201 Request for examination