KR102506987B1 - 슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법 - Google Patents

슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법 Download PDF

Info

Publication number
KR102506987B1
KR102506987B1 KR1020220126942A KR20220126942A KR102506987B1 KR 102506987 B1 KR102506987 B1 KR 102506987B1 KR 1020220126942 A KR1020220126942 A KR 1020220126942A KR 20220126942 A KR20220126942 A KR 20220126942A KR 102506987 B1 KR102506987 B1 KR 102506987B1
Authority
KR
South Korea
Prior art keywords
windows
target
size
neural network
partial
Prior art date
Application number
KR1020220126942A
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 KR1020220126942A priority Critical patent/KR102506987B1/ko
Application granted granted Critical
Publication of KR102506987B1 publication Critical patent/KR102506987B1/ko
Priority to PCT/KR2023/010697 priority patent/WO2023229448A1/ko

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/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/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10036Multispectral image; Hyperspectral image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10072Tomographic images
    • G06T2207/10084Hybrid tomography; Concurrent acquisition with multiple different tomographic modalities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Quality & Reliability (AREA)

Abstract

일 실시예에 따른 이상 탐지(anomaly detection) 장치는 초분광 이미지(hyperspectral image)를 수신하는 수신기, 및 상기 초분광 이미지에 포함된 복수의 대역(band)에 대응하는 복수의 타깃 부분 오토인코더(partial autoencoder)에 기초하여 상기 복수의 대역에 대응하는 복수의 지역 특징(local feature)을 추출하고, 집합 오토인코더(aggregate autoencoder)를 통해 상기 복수의 지역 특징에 기초하여 전역 특징(global feature)을 추출하고, 상기 전역 특징에 기초하여 이상을 탐지하는 프로세서를 포함할 수 있다.

Description

슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법{APPARATUS AND METHOD OF ANOMALY DETECTION BASED ON NEURAL NETWORK USING SLIDING WINDOW}
아래 실시예들은 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법에 관한 것이다.
HSI(Hyperspectral Imaging)는 물질의 특성을 잡아내고, 넓은 파장 범위를 측정함으로써 RGB 이미징의 한계를 극복할 수 있다. HSI는 위성 이미지 매핑 및 지면 피복 이미징(land cover imaging)과 같은 다양한 분야에서 발전되었다.
HSI는 일반적으로 머신 러닝 또는 딥러닝 방식을 통해 지면 피복의 매핑에 초점을 맞추어 왔다. 하지만, 큰 노이즈가 대기 투과(atmospheric transmission), 조도 조건(illumination condition) 및 센서 노이즈로 인해 방사(radiance)가 반사(reflectance)로 변할 때 백그라운드 및 타겟 스펙트럼과 같은 사전 정보를 획득하는 것을 어렵게 한다.
HAD(Hyperspectral Anomaly Detection)은 사전 정보 없이 상술한 문제를 극복할 수 있는 비정상 탐지 방식이다. HAD는 정상 데이터와 동일한 백그라운드 및 PUT(Pixel Under Test)를 비교함으로써 비정상을 탐지한다.
하지만 종래의 비정상 탐지 방식은 하이퍼스펙트럴 이미징에서 채널 정보의 큰 스케일로 인한 일반화에 의해 발생하는 지엽적인 노이즈들을 무시하는 경향이 있다. 따라서, 종래의 비정상 탐지 방식은 정상과 유사한 비정상 데이터가 입력으로 주어질 때, 정상과 비정상 데이터를 구별하는 것에 어려움이 있다.
실시예들은 뉴럴 네트워크를 이용한 이상 탐지 기술을 제공할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 이상 탐지(anomaly detection) 장치는 초분광 이미지(hyperspectral image)를 수신하는 수신기; 및 상기 초분광 이미지에 포함된 복수의 대역(band)에 대응하는 복수의 타깃 부분 오토인코더(partial autoencoder)에 기초하여 상기 복수의 대역에 대응하는 복수의 지역 특징(local feature)을 추출하고, 집합 오토인코더(aggregate autoencoder)를 통해 상기 복수의 지역 특징에 기초하여 전역 특징(global feature)을 추출하고, 상기 전역 특징에 기초하여 이상을 탐지하는 프로세서를 포함할 수 있다.
상기 프로세서는, 슬라이딩 윈도우(sliding window)를 이용하여 상기 초분광 이미지를 상기 복수의 대역에 대응하는 복수의 윈도우(window)로 분할할 수 있다.
상기 프로세서는, 상기 복수의 대역 중에서 제1 대역에 대응하는 제1 윈도우를 제1 부분 오토인코더에 입력함으로써 제1 지역 특징을 추출하고, 상기 복수의 대역 중에서 제2 대역에 대응하는 제2 윈도우를 제2 부분 오토인코더에 입력함으로써 제2 지역 특징을 추출할 수 있다.
상기 프로세서는, 상기 복수의 지역 특징을 연결하여 집합 잠재 벡터(aggregate latent vector)를 생성하고, 상기 집합 잠재 벡터를 상기 집합 오토인코더의 인코더에 입력함으로써 상기 전역 특징을 추출하고, 상기 전역 특징을 상기 집합 오토인코더의 디코더에 입력함으로써 집합 출력을 생성할 수 있다.
상기 프로세서는, 상기 집합 출력을 분할함으로써 분할된 복수의 분할된 집합 출력을 생성하고, 상기 복수의 분할된 집합 출력을 상기 복수의 타깃 부분 디코더에 입력함으로써 복수의 복원된 이미지를 생성할 수 있다.
일 실시예에 따른 이상 탐지(anomaly detection)를 위한 뉴럴 네트워크 학습 장치는 초분광 이미지(hyperspectral image)를 수신하는 수신기; 및 상기 초분광 이미지에 포함된 복수의 대역(band)에 기초하여 상기 복수의 대역에 대응하는 복수의 예비 부분 오토인코더(autoencoder)를 학습시키고, 학습된 복수의 예비 부분 오토인코더의 파라미터에 기초하여 타깃 뉴럴 네트워크를 미세 조정(fine tuning)하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 미리 학습된 예비 부분 오토인코더의 예비 부분 인코더의 가중치를, 상기 타깃 뉴럴 네트워크에 포함된, 상기 예비 부분 인코더 대응되는 타깃 부분 인코더에 로딩하고, 상기 미리 학습된 예비 부분 오토인코더의 예비 부분 디코더의 가중치를, 상기 타깃 뉴럴 네트워크에 포함된, 상기 예비 부분 디코더 대응되는 타깃 부분 디코더에 로딩할 수 있다.
상기 프로세서는, 미세 조정이 완료된 상기 타깃 뉴럴 네트워크의 입력과 출력 사이에 차이에 기초하여 산출된 손실 함수를 이용하여 상기 타깃 뉴럴 네트워크를 학습시킬 수 있다.
실시예들은 오토인코더를 이용하여 이상 탐지를 수행함으로써 이상 탐지 성능을 향상시킬 수 있다.
실시예들은 전체 밴드를 복수의 윈도우들(windows)로 분할하여 지역 특징을 추출함으로써 이상 탐지의 성능을 향상시킬 수 있다.
도 1은 일 실시예에 따른 이상 탐지 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 학습 장치가 사용하는 타깃 뉴럴 네트워크에 대한 학습에 활용하는 예비 부분 오토인코더의 일 예를 나타낸다.
도 3은 도 1에 도시된 이상 탐지 장치가 사용하는 타깃 뉴럴 네트워크의 예를 나타낸다.
도 4는 입력 스펙트럼의 예를 나타낸다.
도 5는 이상 점수(abnormal score)의 예를 나타낸다.
도 6은 오토인코더의 출력의 예를 나타낸다.
도 7은 타깃 뉴럴 네트워크의 출력의 예를 나타낸다.
도 8은 도 1에 도시된 이상 탐지 장치의 동작의 흐름도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 이상 탐지 장치의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 이상 탐지 장치(10)는 데이터의 이상을 탐지할 수 있다. 이상 탐지 장치(10)는 데이터의 정상 및/또는 비정상 여부를 탐지할 수 있다.
데이터는 컴퓨터가 처리할 수 있는 형태로 된 정보로 이루어질 수 있다. 데이터는 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 등의 형태로 이루어질 수 있다. 예를 들어, 데이터는 이미지를 포함할 수 있다. 이미지는 빛의 굴절이나 반사 등에 의하여 이루어진 물체의 상을 포함하는 것으로, 선이나 색채를 이용하여 사물의 형상을 나타낸 것을 의미할 수 있다.
이미지는 초분광 이미지(hyperspectral image)를 포함할 수 있다. 초분광 이미지는 복수의 분광 파장대에 대응하는 분광 밴드에 대응하는 정보를 포함하는 이미지를 의미할 수 있다.
이상 탐지 장치(10)는 타깃 뉴럴 네트워크를 이용하여 초분광 이미지의 이상을 탐지할 수 있다. 이상 탐지 장치(10)는 학습 데이터(초분광 이미지)에 기초하여 타깃 뉴럴 네트워크를 학습시키고, 학습된 타깃 뉴럴 네트워크에 기초하여 데이터를 처리함으로써 데이터의 이상을 탐지할 수 있으며, 학습 과정을 수행하는 이상 탐지 장치(10)는 학습 장치(10)로 지칭될 수도 있다. 구현례에 따라서 입력 이미지의 이상을 탐지하는 이상 탐지 장치(10)와 이상 탐지 장치(10)가 활용하는 타깃 뉴럴 네트워크를 학습시키는 학습 장치(10)는 별개의 기기를 통해 구현될 수도 있다.
뉴럴 네트워크(또는 인공 신경망)는 기계학습과 인지과학에서 생물학의 신경을 모방한 통계학적 학습 알고리즘을 포함할 수 있다. 뉴럴 네트워크는 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
뉴럴 네트워크의 뉴런은 가중치 또는 바이어스의 조합을 포함할 수 있다. 뉴럴 네트워크는 하나 이상의 뉴런 또는 노드로 구성된 하나 이상의 레이어(layer)를 포함할 수 있다. 뉴럴 네트워크는 뉴런의 가중치를 학습을 통해 변화시킴으로써 임의의 입력으로부터 예측하고자 하는 결과를 추론할 수 있다.
뉴럴 네트워크는 심층 뉴럴 네트워크 (Deep Neural Network)를 포함할 수 있다. 뉴럴 네트워크는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), 퍼셉트론(perceptron), 다층 퍼셉트론(multilayer perceptron), FF(Feed Forward), RBF(Radial Basis Network), DFF(Deep Feed Forward), LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit), AE(Auto Encoder), VAE(Variational Auto Encoder), DAE(Denoising Auto Encoder), SAE(Sparse Auto Encoder), MC(Markov Chain), HN(Hopfield Network), BM(Boltzmann Machine), RBM(Restricted Boltzmann Machine), DBN(Depp Belief Network), DCN(Deep Convolutional Network), DN(Deconvolutional Network), DCIGN(Deep Convolutional Inverse Graphics Network), GAN(Generative Adversarial Network), LSM(Liquid State Machine), ELM(Extreme Learning Machine), ESN(Echo State Network), DRN(Deep Residual Network), DNC(Differentiable Neural Computer), NTM(Neural Turning Machine), CN(Capsule Network), KN(Kohonen Network) 및 AN(Attention Network)를 포함할 수 있다.
이상 탐지 장치(10)는 마더보드(motherboard)와 같은 인쇄 회로 기판(printed circuit board(PCB)), 집적 회로(integrated circuit(IC)), 또는 SoC(system on chip)로 구현될 수 있다. 예를 들어, 이상 탐지 장치(10)는 애플리케이션 프로세서(application processor)로 구현될 수 있다.
또한, 이상 탐지 장치(10)는 PC(personal computer), 데이터 서버, 또는 휴대용 장치 내에 구현될 수 있다.
휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다. 스마트 디바이스는 스마트 와치(smart watch), 스마트 밴드(smart band), 또는 스마트 링(smart ring)으로 구현될 수 있다.
이상 탐지 장치(10)는 수신기(100) 및 프로세서(200)를 포함한다. 이상 탐지 장치(10)는 메모리(300)를 더 포함할 수 있다.
수신기(100)는 초분광 이미지(hyperspectral image)를 수신할 수 있다. 수신기(100)는 외부 또는 메모리(300)로부터 초분광 이미지를 수신할 수 있다. 수신기(100)는 수신 인터페이스를 포함할 수 있다. 수신기(100)는 수신한 초분광 이미지를 프로세서(200)로 출력할 수 있다.
프로세서(200)는 메모리(300)에 저장된 데이터를 처리할 수 있다. 프로세서(200)는 메모리(300)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(200)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
"프로세서(200)"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(200)는 초분광 이미지에 포함된 복수의 대역(band)에 대응하는 복수의 타깃 부분 오토인코더(partial autoencoder)에 기초하여 복수의 대역에 대응하는 복수의 지역 특징(local feature)을 추출할 수 있다.
프로세서(200)는 복수의 대역 중에서 제1 대역에 대응하는 제1 윈도우를 제1 타깃 부분 오토인코더에 입력함으로써 제1 지역 특징을 추출할 수 있다. 프로세서(200)는 복수의 대역 중에서 제2 대역에 대응하는 제2 윈도우를 제2 타깃 부분 오토인코더에 입력함으로써 제2 지역 특징을 추출할 수 있다. 제1 윈도우는 초분광 이미지의 제1 대역에 포함되는 파장들에 대응하는 분광 데이터들을 포함할 수 있으며, 제2 윈도우는 초분광 이미지의 제2 대역에 해당하는 파장들에 대응하는 분광 데이터들을 포함할 수 있으며, 지역 특징에 대해서는 도 2를 참조하여 자세하게 설명한다.
프로세서(200)는 타깃 뉴럴 네트워크를 이용하여 이상 탐지를 수행할 수 있다.
프로세서(200)는 슬라이딩 윈도우(sliding window)를 이용하여 초분광 이미지를 복수의 대역에 대응하는 복수의 윈도우(window)로 분할할 수 있다. 슬라이딩 윈도우에 대해서는 도 2를 참조하여 자세하게 설명한다.
프로세서(200)는 복수의 윈도우를 각각의 윈도우에 대응되는 복수의 타깃 부분 인코더에 입력함으로써, 복수의 지역 특징을 생성할 수 있다.
프로세서(200)는 집합 오토인코더(aggregate autoencoder)에 복수의 지역 특징을 연결한 결과를 입력하여 전역 특징(global feature)을 추출할 수 있다.
프로세서(200)는 복수의 지역 특징을 연결하여 집합 잠재 벡터(aggregate latent vector)를 생성할 수 있다. 프로세서(200)는 집합 잠재 벡터를 집합 오토인코더의 인코더에 입력함으로써 전역 특징을 추출할 수 있다.
프로세서(200)는 전역 특징을 집합 오토인코더의 디코더에 입력함으로써 집합 출력을 생성할 수 있다.
프로세서(200)는 집합 출력이 분할된 결과를 복수의 타깃 부분 디코더에 입력함으로써 복원된 복수의 대역 스펙트럼을 생성할 수 있다.
프로세서(200)는 복원된 복수의 대역 스펙트럼에 기초하여 이상을 탐지할 수 있다. 보다 구체적으로, 프로세서(200)는 복원된 복수의 대역 스펙트럼에 기초하여 복원된 이미지와 입력 이미지의 차이를 통해 이상을 탐지할 수 있다.
프로세서(200)는 이상 탐지를 위한 타깃 뉴럴 네트워크를 학습시킬 수 있다.
프로세서(200)는 초분광 이미지(학습 데이터)에 포함된 복수의 대역에 기초하여 복수의 대역 각각에 대응하는 복수의 예비 부분 오토인코더를 학습시킬 수 있다. 보다 구체적으로, 프로세서(200)는 예비 부분 오토인코더를 통해 산출되는 손실 함수를 이용하여 계산되는 손실값이 최소화되도록 복수의 예비 부분 오토인코더의 파라미터(가중치)를 갱신함으로써, 복수의 예비 부분 오토인코더를 학습시킬 수 있다.
프로세서(200)는 학습된 복수의 예비 부분 오토인코더의 파라미터에 기초하여 복수의 타깃 부분 인코더, 집합 오토인코더 및 복수의 타깃 부분 디코더가 차례로 결합된 타깃 뉴럴 네트워크를 미세 조정(fine tuning)할 수 있다. 미세 조정은 하기와 같이 1차적으로 학습된 예비 부분 오토인코더의 가중치를 타깃 뉴럴 네트워크에 포함된 대응되는 타깃 부분 인코더 및 타깃 부분 디코더에 로딩하는 절차를 의미할 수 있다.
미세 조정을 하기 위하여, 프로세서(200)는 예비 부분 오토인코더의 입력과 출력의 차이를 이용한 손실 함수(loss function)에 기초하여 1차적으로 복수의 예비 부분 오토인코더를 학습시킬 수 있다. 이 경우, 프로세서(200)는 손실 함수를 통해 산출되는 손실값이 최소화되는 방향으로 복수의 예비 부분 오토인코더에 포함된 예비 부분 인코더 및 예비 부분 디코더의 가중치를 갱신함으로써, 예비 부분 오토인코더를 학습시킬 수 있다.
프로세서(200)는 학습된 복수의 예비 부분 오토인코더의 가중치를 타깃 뉴럴 네트워크에 포함된 복수의 타깃 부분 인코더 및 복수의 타깃 부분 디코더에 로딩하고(예비 부분 오토인코더의 가중치를 대응되는 타깃 부분 인코더 또는 타깃 부분 디코더에 할당), 타깃 뉴럴 네트워크의 입출력을 통해 산출되는 손실 함수를 이용하여 복수의 타깃 부분 인코더, 집합 오토인코더 및 복수의 타깃 부분 디코더가 차례로 연결된 타깃 뉴럴 네트워크를 학습시킬 수 있다.
메모리(300)는 프로세서(200)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(300)는 휘발성 메모리 장치 또는 비휘발성 메모리 장치로 구현될 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.
비휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
도 2는 도 1에 도시된 학습 장치가 사용하는 타깃 뉴럴 네트워크에 대한 학습에 활용하는 예비 부분 오토인코더의 일 예를 나타내고, 도 3은 도 1에 도시된 이상 탐지 장치가 사용하는 타깃 뉴럴 네트워크의 예를 나타낸다.
도 2 및 도 3을 참조하면, 프로세서(예: 도 1의 프로세서(200))는 타깃 뉴럴 네트워크(310)를 이용하여 입력 이미지에 대한 이상 탐지를 수행할 수 있다. 프로세서(200)가 이용하는 타깃 뉴럴 네트워크(310)는 미리 학습된 복수의 예비 부분 오토인코더(230)의 파라미터에 기초하여 미세조정된 뒤, 최종 학습이 이루어질 수 있다.
복수의 예비 부분 오토인코더(230)는 복수의 예비 부분 인코더(231-1, 231-2, 231-3) 및 복수의 예비 부분 디코더(235-1, 235-2, 235-3)를 포함할 수 있다.
프로세서(200)는 분할기(210)를 통해 입력 초분광 이미지(학습 데이터)(211)로부터 분할된 복수의 대역(213-1, 213-2, 213-3)을 통해 복수의 예비 부분 오토인코더(230)를 학습시킬 수 있다. 본 명세서에서 대역이 지칭하는 바는 윈도우가 지칭하는 바와 동일할 수 있다.
프로세서(200)는 복수의 예비 부분 오토인코더(230)를 이용하여 이상 탐지를 수행에 활용되는 타깃 뉴럴 네트워크(310)를 학습시킬 수 있다.
타깃 뉴럴 네트워크(310)는 복수의 타깃 부분 인코더(315-1, 315-2, 315-3), 집합 오토 인코더(330) 및 복수의 타깃 부분 디코더(353-1, 353-2, 353-3)를 포함할 수 있다.
집합 오토 인코더(330)는 인코더(331) 및 디코더(335)를 포함할 수 있다.
프로세서(200)는 슬라이딩 윈도우를 이용하여 초분광 이미지(학습 데이터)(211)를 분할함으로써 복수의 대역(213-1, 213-2, 213-3)을 생성할 수 있다. 복수의 대역(213-1, 213-2, 213-3)은 지역 대역 스펙트럼(local band spectrum)으로 지칭될 수 있다. 예를 들어, 복수의 대역(213-1, 213-2, 213-3)은 초분광 이미지(211)에 포함된 개별 파장에 대응되는 분광 데이터를 포함할 수 있다. 예를 들어, 초분광 이미지에 90개의 파장에 대한 분광 데이터를 포함하는 경우, 복수의 대역(213-1, 213-2, 213-3)은 파장의 순서대로 각각 30개의 분광 데이터를 포함할 수 있다. 슬라이딩 윈도우 사이즈에 따라 복수의 대역(213-1, 213-2, 213-3)은 각각 40개의 파장에 대응되는 분광 데이터를 포함할 수 있으며, 이 경우, 각각의 복수의 대역(213-1, 213-2, 213-3)에는 중복되는 분광 데이터를 포함할 수 있다. 복수의 대역(213-1, 213-2, 213-3)을 결정하는 방식은 이하 설명되는 복수의 대역(313-1, 313-2, 313-3)을 결정하는 방식에도 동일하게 적용될 수 있다.
프로세서(200)는 생성한 지역 대역 스펙트럼(213-1, 213-2, 213-3)을 복수의 예비 부분 오토인코더(230)에 입력할 수 있다.
복수의 예비 부분 인코더(231-1, 231-2, 231-3)는 복수의 지역 특징(233-1, 233-2, 233-3)을 추출할 수 있다. 복수의 예비 부분 인코더(231-1, 231-2, 231-3)는 제1 예비 부분 인코더(231-1), 제2 예비 부분 인코더(231-2) 및 제3 예비 부분 인코더(231-3)을 포함할 수 있다. 복수의 지역 특징(233-1, 233-2, 233-3)은 제1 지역 특징(233-1), 제2 지역 특징(233-2) 및 제3 지역 특징(233-3)을 포함할 수 있다.
프로세서(200)는 복수의 예비 부분 인코더(231-1, 231-2, 231-3) 및 복수의 예비부분 디코더(235-1, 235-2, 235-3)를 이용하여 복수의 부분 출력(복원된 지역 대역 스펙트럼으로 지칭될 수 있음)(237-1, 237-2 및 237-3)을 생성할 수 있다. 보다 구체적으로, 프로세서(200)는 복수의 지역 특징(233-1, 233-2, 233-3)을 대응되는 복수의 예비 부분 디코더(235-1, 235-2, 235-3)에 입력함으로써, 복수의 부분 출력(237-1, 237-2 및 237-3)을 생성할 수 있다.
프로세서(200)는 학습 데이터(211)를 통해 획득되는 복수의 대역(213-1, 213-2, 213-3)과 복수의 부분 출력(237-1, 237-2, 237-3)의 차에 의해 결정되는 손실 함수에 기초하여 복수의 예비 부분 오토인코더(230)를 학습시킬 수 있다. 이하 설명되는 내용에서 타깃 뉴럴 네트워크(310)에 포함된 타깃 부분 인코더(315-1, 315-2, 315-3) 및 타깃 부분 디코더(353-1, 353-2, 353-3)는 앞서 설명된 예비 부분 인코더(213-1, 213-2, 213-3) 및 예비 부분 디코더(235-1, 235-2, 235-3)과 동일하게 동작할 수 있다.
입력된 초분광 이미지(311)로부터 이상치를 탐지하는 과정에서, 프로세서(200)는 슬라이딩 윈도우를 이용하여 초분광 이미지(311)를 분할함으로써 복수의 대역(313-1, 313-2, 313-3)을 생성할 수 있다. 복수의 대역(313-1, 313-2, 313-3)은 제1 대역(313-1), 제2 대역(313-2) 및 제3 대역(313-3)을 포함할 수 있으며, 각각의 대역은 초분광 이미지(311)에서 대응되는 파장에 대한 분광 데이터를 포함할 수 있다. 복수의 대역(313-1, 313-2, 313-3)은 설명을 위해 3개의 대역으로 초분광 이미지(311) 각 파장의 정보가 분할되는 것으로 도시되었으나, 본원 발명은 이에 한정되는 것은 아니고, 임의의 개수로 대역이 나뉠 수 있음은 통상의 기술자가 이해할 것이다.
복수의 타깃 부분 인코더(315-1, 315-2, 315-3)는 복수의 예비 부분 인코더(231-1, 231-2, 231-3)와 동일하게 동작할 수 있다.
프로세서(200)는 복수의 타깃 부분 인코더(315-1, 315-2, 315-3)가 생성한 복수의 지역 특징들을 연결함으로써, 집합 잠재 벡터(aggregate latent vector)(317)를 생성할 수 있다.
인코더(331)는 집합 잠재 벡터(317)에 기초하여 전역 특징(333)을 생성할 수 있다. 디코더(335)는 전역 특징(333)에 기초하여 집합 출력(351)을 생성할 수 있다. 집합 출력(351)은 집합 오토인코더(330)를 통해 집합 잠재 벡터(317)가 복원된 결과에 대응할 수 있다.
복수의 타깃 부분 디코더(235-1, 235-2, 235-3)는 앞서 설명된 복수의 예비 부분 디코더(235-1, 235-2, 235-3)와 동일하게 동작할 수 있으며, 집합 출력(351)에 포함된 복수의 지역 특징으로부터 지역 대역 스펙트럼(355-1, 355-2, 355-3)을 복원할 수 있다.
프로세서(200)는 앞서 설명된 손실 함수에 기초하여 복수의 예비 부분 오토인코더(230)에 대해 지역 특징을 학습시킨 후에, 복수의 예비 부분 오토 인코더(230)의 파라미터(또는, 가중치)(예를 들어, 복수의 예비 부분 인코더(231-1, 231-2, 231-3) 및 복수의 예비 부분 디코더(235-1, 235-2, 235-3)의 파라미터)를 복수의 부분 타깃 인코더(315-1, 315-2, 315-3) 및 복수의 타깃 부분 디코더(353-1, 353-2, 353-3)에 로딩(loading)할 수 있다. 보다 구체적으로, 프로세서(200)는 학습이 완료된 예비 부분 인코더(231-1)의 파라미터를 타깃 부분 인코더(315-1)에 로딩하고, 학습이 완료된 예비 부분 디코더(235-1)의 파라미터를 타깃 부분 디코더(353-1)에 할당하는 방식으로 앞서 로딩 프로세스를 수행할 수 있다.
프로세서(200)는 입력 학습 데이터를 통해 획득한 복수의 대역(313-1, 313-2, 313-3)과 타깃 뉴럴 네트워크(310)의 출력인 복원된 지역 대역 스펙트럼(355-1, 355-2, 355-3)의 차에 기초하여 산출되는 손실 함수에 기초하여 타깃 뉴럴 네트워크(310)를 학습시킬 수 있다. 보다 구체적으로, 프로세서(200)는 앞서 설명된 손실 함수를 통해 산출되는 손실값을 최소화하는 방향으로 타깃 뉴럴 네트워크(310)의 개별 파라미터를 갱신하는 방식을 통해 타깃 뉴럴 네트워크를 학습시킬 수 있다.
집합 오토인코더(330)는 전역 특징(333)으로 비정상 지역 특징을 전달하기에 충분할 만큼의 얕은(shallow) 깊이를 가지기 때문에, 전역 특징(전역 잠재 벡터)(333)은 이상에 민감할 수 있다.
프로세서(200)는 정상 입력을 이용하여 출력된 결과를 입력과 동일하게 복원할 수 있고, 비정상 입력을 이용하여 출력된 결과를 정상 스펙트럼을 갖는 입력과 구별할 수 있다.
프로세서(200)는 기존의 오토인코더가 넓은 범위의 스펙트럼 입력의 지역 특이점(local singularity)를 검출하지 못하는 문제를 해결하기 위해서, 초분광 이미지(311)를 슬라이딩 윈도우를 이용하여 분할함으로써 복수의 윈도우(대역(313-1, 313-2, 313-3))를 생성하고, 복수의 오토 인코더를 이용하여 부분 스펙트럼을 복원하도록 학습을 수행할 수 있다.
입력되는 초분광 이미지는 x로 정의되고, 입력 x는 Ws의 크기(폭) 및 스트라이드 S를 갖는 슬라이딩 윈도우에 의해 N 개의 윈도우(대역)로 분할될 수 있다. 도 2 및 도 3의 예시는 N이 3인 경우를 예로 들어 설명하지만, 실시예에 따라, N은 3보다 작거나 클 수 있다.
프로세서(200)는 입력 이미지(입력 스펙트럼) x를 분할하여 복수의 윈도우(대역)
Figure 112022104654121-pat00001
를 생성할 수 있다.
Figure 112022104654121-pat00002
는 인덱스
Figure 112022104654121-pat00003
에서 입력 스펙트럼의 윈도우를 의미할 수 있다. 여기서, N은 슬라이딩 윈도우를 통해 생성된 윈도우(대역)의 총 개수를 의미할 수 있다.
슬라이딩 윈도우의 크기가 대역의 개수와 동일한 경우,
Figure 112022104654121-pat00004
일 수 있다. 복수의 예비 부분 오토인코더(230) 및 타깃 뉴럴 네트워크(310)의 지역 특징은
Figure 112022104654121-pat00005
로 정의될 수 있고,
Figure 112022104654121-pat00006
는 주어진
Figure 112022104654121-pat00007
에 대한 부분 인코더의 출력을 나타낼 수 있다.
예비 부분 오토인코더(230)의 예비 부분 인코더 및 예비 부분 디코더는 각각 Ep, Dp로 표기될 수 있다. 예비 부분 인코더 및 예비 부분 디코더는 N개의 인코더
Figure 112022104654121-pat00008
및 N 개의 디코더
Figure 112022104654121-pat00009
로 구성될 수 있다. 타깃 뉴럴 네트워크(310)에 포함된 타깃 부분 인코더와 타깃 부분 디코더는 각각
Figure 112022104654121-pat00010
,
Figure 112022104654121-pat00011
로 표기될 수 있다.
주어진 샘플
Figure 112022104654121-pat00012
에 대하여, 예비 부분 인코더(231-1, 231-2, 231-3)는 지역 특징
Figure 112022104654121-pat00013
를 생성하고, 예비 부분 디코더(235-1, 235-2, 235-3)는
Figure 112022104654121-pat00014
로부터
Figure 112022104654121-pat00015
와 동일한 차원을 갖는
Figure 112022104654121-pat00016
를 복원할 수 있다. 예비 부분 인코더(231-1, 231-2, 231-3) 및 예비 부분 디코더(235-1, 235-2, 235-3)의 동작은 수학식 1과 같이 나타낼 수 있다.
Figure 112022104654121-pat00017
예비 부분 오토인코더(230)는 주어진
Figure 112022104654121-pat00018
에 대하여
Figure 112022104654121-pat00019
를 생성할 수 있다. 프로세서(200)는 각각의 윈도우에 대하여 복원 오차(reconstruction error)가 최소화되도록 학습을 수행할 수 있다. 이 때, 손실 함수는
Figure 112022104654121-pat00020
일 수 있다.
프로세서(200)는 스펙트럼의 대역의 개수를 줄임으로써, 일반적인 오토 인코더에 비하여 지역 잠재 벡터를 민감하게 표현하도록 함으로써 예비 부분 오토인코더(230)가 지역 대역 이상(local band anomaly)에 집중하도록 할 수 있다.
프로세서(200)는 앞선 학습을 통해 결정된 예비 부분 인코더(231-1, 231-2, 231-3) 및 예비 부분 디코더(235-1, 235-2, 235-3)의 파라미터를 타깃 뉴럴 네트워크(310)의 대응되는 타깃 부분 인코더(313-1, 313-2, 313-3) 및 예비 부분 디코더(353-1, 353-2, 353-3)에 반영할 수 있다.
집합 오토인코더(330)는 지역 특징
Figure 112022104654121-pat00021
를 연결한 집합 잠재 벡터(317)를 입력으로 사용할 수 있다. 집합 오토인코더(330)는 집합 잠재 벡터(317)를 압축하여 전역 특징(333)
Figure 112022104654121-pat00022
를 생성할 수 있고, 전역 특징(333)으로부터 집합 출력(351)
Figure 112022104654121-pat00023
를 생성할 수 있다.
Figure 112022104654121-pat00024
는 집합 잠재 벡터(317) 입력에 대한 인코더(331)의 출력으로 전역 특징(333)을 나타낼 수 있다. 집합 오토인코더(330)의 동작은 수학식 2와 같이 나타낼 수 있다.
Figure 112022104654121-pat00025
여기서, E'는 집합 오토인코더(330)의 인코더(331)를 의미하고, D'는 디코더(335)를 의미할 수 있다. 집합 오토인코더(330)의 목적은 전역 특징(333)을 추출하고,
Figure 112022104654121-pat00026
를 통합하는 것일 수 있다. 따라서, 집합 오토인코더(330)는 비정상 지역 특징이 전역 특징(333)에 영향을 미치도록 하기 위해 얕은 레이어로 구성될 수 있다.
프로세서(200)는 타깃 뉴럴 네트워크(310)를 학습하는 방법을 보다 상세히 설명하면 하기와 같다.
프로세서(200)는 두 개의 스테이지(stage)를 통해 타깃 뉴럴 네트워크(310)에 대한 학습을 수행할 수 있다. 제1 스테이지에서 프로세서(200)는 복수의 예비 부분 인코더(231-1, 231-2, 231-3) 및 복수의 예비 부분 디코더(235-1, 235-2, 235-3)를 이용하여 학습 데이터
Figure 112022104654121-pat00027
로부터 부분 출력
Figure 112022104654121-pat00028
를 생성할 수 있다.
프로세서(200)는 수학식 3의 손실함수에 기초하여 예비 부분 오토인코더(230)를 학습시킬 수 있다.
Figure 112022104654121-pat00029
여기서,
Figure 112022104654121-pat00030
는 입력 스펙트럼(또는, 초분광 이미지)으로,
Figure 112022104654121-pat00031
를 슬라이딩 윈도우를 이용하여 분할한 윈도우(대역)을 의미할 수 있다.
Figure 112022104654121-pat00032
는 예비 부분 디코더(235-1, 235-2, 235-3)의 출력으로 입력 스펙트럼과 동일한 차원을 가질 수 있다. 부분 대역으로 인하여, 예비 부분 오토인코더(230)는 지역 대역 이상에 민감하고, 비정상 입력에 대하여 정상과 상이한 지역 특징(지역 잠재 벡터)을 생성할 수 있다.
제2 스테이지에서, 프로세서(200)는, 타깃 뉴럴 네트워크(310)에 대하여 미세 조정을 수행할 수 있다. 프로세서(200)는 도 3의 타깃 뉴럴 네트워크(310)에 대하여 미세 조정을 수행할 수 있다. 프로세서(200)는 예비 부분 오토인코더(230)의 파라미터를 대응되는 복수의 타깃 부분 인코더(315-1, 315-2, 315-3) 및 복수의 타깃 부분 디코더(353-1, 353-2, 353-3)에 로드시킬 수 있다. 타깃 뉴럴 네트워크(310)는 집합 오토인코더(330)에 의한 전역 특징(333)에 지배적인 영향을 받을 수 있기 때문에, 미세 조정은 예비 부분 오토인코더(230)의 특성을 보장하기 위해 필수적일 수 있다.
프로세서(200)는 학습 데이터
Figure 112022104654121-pat00033
를 입력으로한 타깃 뉴럴 네트워크(310)의 출력을 통해 산출되는 수학식 3의 손실함수를 이용하여 타깃 뉴럴 네트워크(310)를 학습할 수 있다.
프로세서(200)는 학습된 타깃 뉴럴 네트워크(310)의 복수의 타깃 부분 인코더(315-1, 315-2, 315-3), 인코더(331), 디코더(335) 및 복수의 타깃 부분 디코더(353-1, 353-2, 353-3)를 이용하여 초분광 이미지를 처리함으로써 이상치 탐지를 수행할 수 있다.
복수의 타깃 부분 인코더(315-1, 315-2, 315-3)는 지역 특징을 추출하고, 인코더(331)는 지역 특징을 통해 생성된 집합 잠재 벡터(317)를 입력으로하여 전역 특징(333)을 생성할 수 있다. 디코더(335)는 인코더(331)와 대칭적인 구조를 가지고, 전역 특징(333)으로부터 집합 출력(351)을 생성할 수 있다. 복수의 타깃 부분 디코더(353-1, 353-2, 353-3)는 집합 출력(351)으로부터
Figure 112022104654121-pat00034
와 동일한 출력에 대응하는 지역 대역 스펙트럼(355-1, 355-2, 355-3)을 복원할 수 있다. 프로세서(200)는 손실 함수는 부분 오토인코더(230)의 학습 과정과 동일한 형태의 손실 함수를 사용하지만 뉴럴 네트워크의 구조상의 차이에 기초하여 세부적인 값은 일부 상이할 수 있다.
도 4는 입력 스펙트럼의 예를 나타내고, 도 5는 이상 점수(abnormal score)의 예를 나타낸다. 도 6은 오토인코더의 출력의 예를 나타내고, 도 7은 타깃 뉴럴 네트워크의 출력의 예를 나타낸다.
도 4 내지 도 7을 참조하면, 프로세서(예: 도 1의 프로세서(200))는 타깃 뉴럴 네트워크를 이용하여 이상 탐지를 수행할 수 있다. 이하에서, 이상 탐지를 수행한 데이터셋(dataset), 실험 조건 및 이상 탐지 성능에 대하여 설명한다.
타겟 및 백그라운드에 대한 사전 정보는 HAD(Hyperspectral Anomaly Detection) 데이터셋에서 사용되지 않을 수 있으므로, 데이터 정화(purification) 방식은 모델을 학습시키는 것뿐만 아니라 백그라운드의 특성을 학습시키는 데에도 필수적일 수 있다. 하지만, HAD 데이터셋에서 재료(material)의 다양성으로 인하여, 일부 백그라운드 스펙트럼은 학습 샘플에 포함되지 않을 수 있다.
데이터가 적은 백그라운드 클래스의 경우에, 데이터 정화에 의해 제거될 수 있다. 데이터가 적은 백그라운드는 고성능 알고리즘에 의해 비정상이 정의될 수 있고, 저성능 알고리즘은 백그라운드로 정의하여 모델의 성능 평가를 방해할 수 있다.
HSI(Hyperspectral Imaging)는 식품 또는 반도체 산업에서 짧은 범위의 길이(short-range distance)로부터 획득될 수 있다. HSI는 희소 잡음(sparse noise)를 생성하고, 정상 데이터를 획득하기 쉬울 수 있다. 반면에, HSI는 비정상 데이터를 획득하는 것이 어려울 수 있다.
데이터 정화는 학습 데이터가 충분해서 정확한 평가가 가능한 특정 분야에 대해서는 필요하지 않을 수 있다. 이는 HAD의 조건을 AD(Anomaly Detection)와 유사하게 만들 수 있고, 비정상 데이터가 적거나 거의 없는 정상 데이터가 학습 샘플로 주어질 수 있다. 이후의 실험에서, AD에서의 분류 작업에 사용되는 데이터셋을 이용하여 이상 탐지 장치(10)에 대한 성능이 평가될 수 있다.
각각의 클래스에 대하여 그라운드 트루스(ground truth)를 갖는 데이터셋이 HAD 데이터셋 대신에 사용될 수 있다. 실험은 IP(Indian Pines), SV(Salinas Valley), HS(university of Houston)의 세 가지의 오픈 데이터셋에 대하여 수행되었고, 데이터 셋은 HSI 분류에 사용되어 왔다. 표 1은 각각의 데이터셋에 대한 정보를 나타낸다.
데이터셋 모양(shape) 클래스 비율(%)
학습(train) 검증(valid) 테스트(test)
IP (145Х145Х200) 16 10 10 80
SV (512Х217Х204) 16 2 2 96
HS (1905Х349Х144) 15 5 5 90
IP 데이터셋은 AVIRIS(airborne visible/infrared imaging spectrometer) 센서에 의해 획득되고, 인디안 파인(Indian Pines)를 캡처한 것이다. IP는 145Х145 픽셀의 해상도를 가지고, 224 개의 대역을 및 16 개의 클래스를 가진다. 대역의 개수는 잡음 대역 및 물에 의한 흡수(water absorption)에 의해 200 개까지 감소될 수 있다.
SV 데이터셋은 살리나스 밸리(Salinas Valley)를 AVIRIS 센서를 이용하여 캡처한 것이다. IP 데이터셋과 동일하게, 물에 의한 흡수 대역은 제거되고, 따라서, SV 데이터셋의 모양은 16 개의 클래스를 갖고 모양은 512Х217Х204이다.
HS 데이터셋은 휴스턴 대학에 의해서 획득된 것으로, 15개의 클래스를 갖는 1905Х349Х144 모양이다. 학습샘플들은 SV, HS 및 IP 데이터셋에서 각각 백그라운드 없이 2%, 5% 및 10%가 추출될 수 있다.
학습 및 검증 샘플들은 이상이 없는 순수한 데이터이고, HSI의 백그라운드는 다양한 재료들로 구성되어서 하나의 클래스는 비정상이고, 다른 것들은 정상인 멀티 모달 정규성(multimodal normality)가 사용되었다.
이상 탐지 장치(10)는 OC-SVM(One-Class Support Vector Machine), KDE(Kernel Density Estimation), LOF(Local Outlier Factor), DSVDD(Deep Support Vector Data Description), MemAE(Memory-augmented Autoencoder) 및 RAPP(Reconstruction along Projection Pathway)와 비교될 수 있다.
일반적인 AE 모델은 이상 탐지 장치(10)에 의해 대체될 수 있기 때문에, 이상 탐지 장치(10)가 적용된 모델의 앞에는 접두어 PA2E를 추가하여 표시될 수 있다. 예를 들어, PA2E-MemAE, PA2E-RAPP와 같이 표시될 수 있다. 종래의 방식에서 공간 및 스펙트럼을 모두 사용하는 방식은 있었지만, 이상 탐지 장치(10)는 AD로부터 HAD로의 확장을 용이하게 만들기 위해 스펙트럼 특징만을 고려한다.
이상 탐지 장치(10)가 사용하는 타깃 뉴럴 네트워크는 10 개의 FC(Fully Connected) 레이어를 가진다. 타깃 부분 인코더 및 타깃 부분 디코더, 집합 오토인코더의 인코더 및 디코더의 마지막을 제외하고는 FC 레이어 이후에, 배치 정규화(batch normalization) 및 리키 렉티파이드 리니어 유닛(leaky rectified linear unit)이 추가된다.
PA2E-MemAE 및 PA2E-RAPP에서 타깃 부분 오토인코더는 7개의 FC 레이어를 가지고, 집합 오토인코더는 3 개의 FC 레이어를 가짐으로써, 총 10개의 FC 레이러를 가질 수 있다. PA2E-DSVDD는 9 및 1 개의 FC 레이어를 가진다. 인코더의 은닉된 크기는 잠재 벡터의 크기를 점진적으로 변화하도록 설정되고, 디코더는 대칭적인 은닉된 크기를 가진다. 잠재 벡터(특징)의 크기는 타깃 부분 오토인코더 및 집합 오토인코더에 대하여 20으로 설정된다.
딥러닝 모델은 학습률 0.001로 Adam 옵티마이저를 이용하여 학습되고, 배치 크기(batch size)는 100으로 설정된다.
표준 모델들의 에포크는 DSVDD를 제외하면 100으로 설정된다. DSVDD의 경우에 AE를 학습하기 위해서 50 에포크로 설정되고, 다른 것들은 중심점에 접근하기 위해 인코더를 학습시키는데 사용될 수 있다.
PA2E-MemAE, PA2E-RAPP 및 타깃 부분 오토인코더는 지역 특징을 위해 50 에포크 동안 학습되고, 타깃 뉴럴 네트워크는 남은 에포크 동안 학습된다. PA2E-DSVDD에 대해서, 타깃 부분 오토인코더의 학습을 위하여 추가적인 50 에포크가 할당될 수 있다. 이 때, 나머지 처리 과정은 DSVDD와 동일하다.
MemAE에서 메모리 모듈의 크기(dimension)은 0.00025 수축 임계(shrinkage threshold)를 가지고, 100으로 설정된다. PA2E-RAPP의 경우에 우수한 결과를 나타내기 때문에 집합 오토인코더에서 출력 특징맵의 차이가 사용된다.
수신기 동작 특성의 커브 아래의 면적(area under the curve of receiver operating characteristic(AUC))이 메트릭(metric)을 위해 사용되고, 수신기 동작 특성(receiver operating characteristic(ROC)은 임계값에 의존하는 모델의 성능을 측정하는 그래프이고, AUC는 ROC 커브 아래의 면적을 나타낸다.
모델의 성능은 5 개의 서로 다른 시드(seed)에 대하여 AUC를 이용하여 측정되고, 상술한 바와 같이, 하나의 클래스는 비정상으로 설정하고, 다른 클래스는 정상으로 설정하는 멀티 모달 정규성이 채택된다. 각각의 데이터셋의 성능은 서로 다른 비정상 클래스 및 시드에 대한 AUC의 전체 평균으로 측정된다.
몇몇의 종래의 딥러닝 기반 방식이 비교를 위한 베이스라인으로 사용되었다. 표 2는 세 개의 서로 다른 데이터셋에서 각각의 방식들에 대한 AUC를 나타낸다.
방식 IP SV HS
OC-SVM 0.436 0.538 0.524
KDE 0.686 0.653 0.536
LOF 0.682 0.894 0.776
DSVDD 0.647 0.761 0.672
MemAE 0.709 0.808 0.68
RAPP 0.632 0.854 0.722
PA2E-DSVDD 0.734 0.885 0.758
PA2E-MemAE 0.732 0.857 0.709
PA2E-RAPP 0.751 0.918 0.777
LOF는 딥러닝 방식에 비하여 가장 높은 종래의 AUC를 나타낸다. 이상 탐지 장치(10)가 적용된 경우, RAPP가 LOF보다 우수한 성능을 나타낼 수 있다. 오토인코더는 이상 탐지 장치(10)가 적용된 경우 AUC 측면에서 표준 방식에 비하여 우수한 성능을 나타낼 수 있다.
메모리 모듈에서 잠재 벡터(특징)를 하나로 변환하는 메모리 모듈 때문에, PA2E-MemAE는 PA2E-DSVDD 및 PA2E-RAPP에 비하여 적은 증가량을 가질 수 있다. 이상 탐지 장치(10)는 표준 모델들에 대하여 성능을 향상시키고, DSVDD, MemAE 및 RAPP와 같은 다양한 AE-기반 모델에 적용되어 높은 확장성(scalability) 및 효율을 나타낼 수 있다.
도 4 내지 도 7의 예시는 이상 탐지 장치(10)의 동작을 설명하기 위해서, 정규화된 스펙트럼을 나타낼 수 있다. SV 데이터셋은 각 클래스에 대하여 유사한 스펙트럼을 가진다. 출력의 차원을 매칭시키기 위해서 윈도 및 스트라이드의 크기는 각각 34, 34일 수 있다. 타깃 부분 오토인코더 및 집합 오토인코더의 레이어의 수는 각각 7 및 3일 수 있다.
도 4는 입력 스펙트럼의 예를 나타낸다. 스펙트럼은 정상 데이터가 잘 복원되었다는 가정을 만족하기 위해 학습 샘플로부터 유도될 수 있다. 노이즈들은 134, 135 및 136 대역들에서 발견될 수 있고, 강도 범위(strength range)는 0.05 부터 2일 수 있다. 표준 AE로부터 디코딩된 출력은 도 6에 도시된 입력과 유사할 수 있다.
이상 탐지 장치(10)의 출력은 노이즈가 증가될수록 상이한 출력을 나타낼 수 있고, 도 7은 이러한 출력을 나타낼 수 있다. 낮은 노이즈는 희소 노이즈로 지칭될 수 있는데, 높은 노이즈는 지역 특이점(local singularity)로 지칭되고, 특정한 지점의 불량을 나타낼 수 있다.
이상 탐지 장치(10)의 비정상 점수(abnormal score)는 노이즈의 강도가 0.2일 때 극적으로 증가한다. 이상 탐지 장치(10)는 지역 특이점을 검출하고, 입력과 현저하게 다른 출력을 생성함으로써 우수한 성능을 나타낼 수 있다.
지역 특징은 윈도우 및 스트라이드 크기에 의존하기 때문에 윈도 및 스트라이드의 크기가 이상 탐지 성능에 영향을 미칠 수 있다. 각각의 데이터셋에 대하여 하이퍼 파라미터를 최적화하기 위해 다양한 윈도우, 스트라이드 크기가 사용되었다.
첫 번째로, 윈도우는 네 개의 서로 다른 크기가 사용되었다. 최적의 스트라이드는 윈도우크기의 절반으로 가정되었고, 집합 오토인코더의 레이어의 수는 3 개로 실험이 수행되었다. 표 3은 윈도우 크기에 따른 성능을 나타낸다.
데이터셋 (Ws, S) PA2E-MEMEAE PA2E-RAPP PA2EDSVDD
IP (24,11) 0.675 0.73 0.751
(35,15) 0.68 0.732 0.746
(50,25) 0.694 0.713 0.75
(80,40) 0.682 0.715 0.741
SV (24,12) 0.848 0.856 0.898
(34,17) 0.84 0.843 0.902
(48,26) 0.835 0.857 0.918
(68,34) 0.821 0.839 0.909
HS (24,12) 0.75 0.703 0.777
(36,18) 0.72 0.693 0.758
(48,24) 0.719 0.709 0.759
(72,36) 0.684 0.683 0.755
최적의 윈도우 크기는 데이터셋에 따라 상이할 수 있지만 윈도우 크기가 24인 경우에 우수한 성능을 제공함을 확인할 수 있다. 데이터에 대한 의존성으로 인하여, 윈도우 크기는 타겟 데이터셋에 대하여 최적화 되어야만 한다. 따라서, 윈도우 크기는 각 데이터셋의 다른 윈도우 크기에 비하여 우수한 성능을 보이도록 하는 변수로 설정될 수 있다.
표 4와 같이 최적 윈도우 크기와 유사한 3 개의 서로 다른 스트라이드 크기가 채용될 수 있다.
방식 유형 IP SV HS
PA2E-DSVDD Q (50,10) (24,6) (24,6)
H (50,25) (24,12) (24,12)
O (50,50) (24,18) (24,24)
PA2E-MemAE Q (35,5) (48,12) (48,12)
H (35,15) (48,26) (48,24)
O (35,33) (48,39) (48,48)
PA2E-RAPP Q (24,4) (48,12) (24,6)
H (24,11) (48,26) (24,12)
O (24,22) (48,39) (24,24)
스트라이드의 유형은 윈도우 크기에 대한 스트라이드의 비율을 의미할 수 있다. Q는 쿼터(quarter) 비율, H는 하프(half) 비율, O는 일대일 비율(one ratio)을 의미한다. 윈도우 크기는 최적의 변수로 미리 설정되고, 집합 오토인코더의 레이어의 수는 3으로 설정된다. 다양한 스트라이드 크기에 따른 AUC 성능은 표 5와 같다.
방식 유형 IP SV HS
PA2E-DSVDD Q 0.685 0.834 0.741
H 0.694 0.848 0.75
O 0.69 0.858 0.738
PA2E-MemAE Q 0.725 0.839 0.687
H 0.732 0.857 0.709
O 0.729 0.843 0.696
PA2E-RAPP Q 0.626 0.891 0.689
H 0.751 0.918 0.777
O 0.744 0.914 0.752
H 유형이 SV 데이터셋의 PA2E-DSVDD를 제외하고 다른 것들에 비하여 우수한 성능을 나타낼 수 있다. Q 유형의 경우, 윈도우의 오버래핑 부분이 존재하고, 인코더에 의해 많은 잠재 벡터들이 생성될 수 있기 때문에, PA2E-RAPP와 같이 성능이 감소될 수 있다. 윈도우들의 오버래핑 부분이 O 유형이 가장 짧기 때문에, 윈도우의 경계 대역이 무시되어 특징이 손실될 수 있다. 그 결과, 스트라이드의 유형이 H일 경우가 다른 두 유형에 비하여 우수한 성능을 보인다.
집합 오토인코더는 잠재 벡터에 영향을 미치는 복수의 레이어를 포함할 수 있다. 집합 오토인코더는 복수의 지역 특징들을 결합하여 전역 특징을 생성할 수 있다. 비정상 특징들이 잠재 벡터에 영향을 미친다는 점을 증명하기 위해서 레이어의 수가 조절될 수 있다.
윈도우 및 스트라이드 크기는 상술한 것과 동일하게 설정될 수 있다. 집합 오토인코더의 레이어의 수가 늘어날수록, 오토인코더와 유사하게 동작하면서 지역 특징을 무시한다. 하지만, 얕은 레이어는 전역 특징을 학습하는데에 충분하지 않을 수 있다.
표 6은 AUC는
Figure 112022104654121-pat00035
의 쌍(pair)에 의존한다는 것을 보여준다. 여기서,
Figure 112022104654121-pat00036
Figure 112022104654121-pat00037
는 각각 타깃 부분 오토인코더 및 집합 오토인코더의 레이어의 수를 의미한다.
데이터셋 (Np,Na) PA2E-MemAE PA2E-RAPP PA2EDSVDD
IP (9,1) 0.734 0.733 0.736
(7,3) 0.694 0.732 0.751
(5,5) 0.665 0.731 0.617
SV (9,1) 0.885 0.834 0.906
(7,3) 0.848 0.857 0.918
(5,5) 0.774 0.845 0.904
HS (9,1) 0.758 0.671 0.76
(7,3) 0.75 0.709 0.777
(5,5) 0.699 0.697 0.777
PA2E-DSVDD의 경우에, 중심 지점과 잠재 벡터(특징) 사이의 거리에 의해 비정상을 검출하는 모델 구조 때문에 하나의 레이어일 경우가 가장 높은 성능을 나타냈다.
입력을 복원하기 위해서 충분한 특징들을 포함하는 잠재 벡터를 생성할 필요가 없다. 따라서, 집합 인코더의 레이어의 수는 PA2E-DSVDD의 경우에 하나일 수 있다. IP 데이터셋에서 PA2E-MemAE를 제외하면 PA2E-MemAE 및 PA2E-RAPP는 (7,3)의 조건에서 높은 성능을 보인다.
정상 특징에 대하여 전역 특징을 추출하는 것과 전역 특징(전역 잠재 벡터)에 비정상 특징들을 전달하는 것 사이의 균형을 맞추는 것이 중요하다. HS 데이터셋에서 PA2E-MemAE의 경우, (9,1) 쌍이 (7,3)에 비하여 낮은 성능일 보이지만, IP 데이터셋의 PA2E-RAPP의 경우에, (5,5)가 (7,3)에 비하여 낮은 성능을 보인다. 결과적으로, (7,3) 쌍이 일반적으로 높은 성능을 보이고, PA2E-MemAE 및 PA2E-RAPP에 대해서 (7,3)이 최적화된 선택이다.
부분 대역으로 인해, 타깃 부분 오토인코더는 지역 비정상들을 탐지한다. 하지만, 입력과 상이한 출력을 생성하기에는 충분하지 않기 때문에 집합 오토인코더는 타깃 부분 오토인코더의 인코더와 디코더 사이에 연결된다. 이 때, 기학습된 예비 부분 오토인코더의 특성을 타깃 뉴럴 네트워크에서 보존하기 위해서 미세 조정이 사용된다.
타깃 뉴럴 네트워크에서 구성 요소가 제외되는 경우에 대한 실험을 통해, 각 구성 요소의 중요성이 유추될 수 있다. 윈도우와 스트라이드 크기 및 레이어의 수는 상술한 것과 동일하게 설정된다. 표 7은 타깃 부분 오토인코더가 사용되고, 미세 조정이 수행되지 않은 경우에 성능이 낮아진다는 점을 나타낸다.
데이터셋 방식 DSVDD MemAE RAPP
IP AE 0.647 0.709 0.632
PAE 0.628 0.728 0.578
PA2E w/o fine-tuning 0.712 0.731 0.734
PA2E 0.734 0.732 0.751
SV AE 0.761 0.808 0.854
PAE 0.835 0.834 0.83
PA2E w/o fine-tuning 0.882 0.845 0.898
PA2E 0.885 0.857 0.918
HS AE 0.672 0.68 0.722
PAE 0.697 0.692 0.616
PA2E w/o fine-tuning 0.758 0.692 0.766
PA2E 0.758 0.709 0.777
부분 오토인코더가 지역 특징을 탐지하여 표준 AE에 비하여 높은 성능을 나타내지만, 비약적인 성능의 향상이 일어나지는 않고, RAPP의 경우에는 전역 정규성이 지배적이기 때문에 오히려 낮은 결과를 나타낸다. 집합 오토인코더가 타깃 부분 오토인코더의 타깃 부분 인코더와 타깃 부분 디코더 사이에 연결될 경우에 이러한 문제를 해결할 수 있지만, 집합 오토인코더가 부분 집합 인코더의 특성을 방해하기 때문에, 미세 조정은 특성의 보존을 위해 필수적이다.
도 8은 도 1에 도시된 이상 탐지 장치의 동작의 흐름도를 나타낸다.
도 8을 참조하면, 수신기(예: 도 1의 수신기(100))는 초분광 이미지를 수신할 수 있다(810).
프로세서(200)는 초분광 이미지에 포함된 복수의 대역에 대응하는 복수의 타깃 부분 오토인코더에 기초하여 복수의 대역에 대응하는 복수의 지역 특징을 추출할 수 있다(830).
프로세서(200)는 복수의 대역 중에서 제1 대역에 대응하는 제1 윈도우를 제1 타깃 부분 오토인코더에 입력함으로써 제1 지역 특징을 추출할 수 있다. 프로세서(200)는 복수의 대역 중에서 제2 대역에 대응하는 제2 윈도우를 제2 타깃 부분 오토인코더에 입력함으로써 제2 지역 특징을 추출할 수 있다.
프로세서(200)는 슬라이딩 윈도우를 이용하여 초분광 이미지를 복수의 대역에 대응하는 복수의 윈도우로 분할할 수 있다.
프로세서(200)는 집합 오토인코더를 통해 복수의 지역 특징을 이용하여 전역 특징을 추출할 수 있다(850).
프로세서(200)는 복수의 지역 특징을 연결하여 집합 잠재 벡터를 생성할 수 있다. 프로세서(200)는 집합 잠재 벡터를 집합 오토인코더의 인코더에 입력함으로써 전역 특징을 추출할 수 있다.
프로세서(200)는 전역 특징을 집합 오토인코더의 디코더에 입력함으로써 집합 출력을 생성할 수 있다.
프로세서(200)는 집합 출력을 분할함으로써 분할된 복수의 분할된 집합 출력을 생성할 수 있다. 프로세서(200)는 복수의 분할된 집합 출력을 타깃 부분 오토인코더의 복수의 타깃 부분 디코더에 입력함으로써 복수의 복원된 이미지를 생성할 수 있다. 앞서 설명된 바와 같이, 타깃 부분 디코더는 지역 대역 스펙트럼을 복원할 수 있고, 프로세서(200)는 복원된 지역 대역 스펙트럼을 통해 입력 이미지를 복원할 수 있다.
프로세서(200)는 복원된 이미지에 기초하여 이상을 탐지할 수 있다(870). 이상치를 탐지하는 보다 구체적인 방식은 앞선 도면을 통해 설명한 방식과 동일하다.
프로세서(200)는 이상 탐지를 위한 타깃 뉴럴 네트워크를 학습시킬 수 있다.
프로세서(200)는 초분광 이미지에 포함된 복수의 대역에 기초하여 복수의 대역에 대응하는 예비 부분 오토인코더를 학습시킬 수 있다. 예비 부분 오토인코더를 학습시키는 방식은 앞서 설명된 바와 동일할 수 있다.
프로세서(200)는 기학습된 예비 부분 오토인코더의 가중치에 기초하여 타깃 뉴럴 네트워크에 대한 미세 조정을 수행할 수 있다. 타깃 뉴럴 네트워크는 복수의 타깃 부분 인코더, 집합 오토인코더 및 복수의 타깃 부분 디코더가 차례로 결합된 구조일 수 있으며, 보다 구체적으로, 프로세서(200)는 학습된 복수의 예비 부분 오토인코더의 파라미터에 기초하여 복수의 타깃 부분 오토인코더에 대한 미세 조정(fine tuning)을 수행할 수 있다. 미세 조정을 수행하는 방식은 앞서 설명한 방식과 동일할 수 있다.
프로세서(200)는 학습 데이터(초분광 이미지)를 통해 획득한 복수의 대역과 타깃 뉴럴 네트워크를 통해 복수의 대역이 복원된 결과를 통해 산출되는 손실 함수에 기초하여 타깃 뉴럴 네트워크를 학습시킬 수 있다. 보다 구체적으로, 프로세서(200)는 타깃 뉴럴 네트워크의 입력과 출력의 차이를 이용한 손실 함수(loss function)에 기초하여 타깃 뉴럴 네트워크를 학습시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (7)

  1. 이상 탐지(anomaly detection) 장치에 있어서,
    초분광 이미지(hyperspectral image)를 수신하는 수신기; 및
    미리 학습된 타깃 뉴럴 네트워크에 기초하여 상기 초분광 이미지의 이상치를 탐지하는 프로세서;
    를 포함하고,
    상기 타깃 뉴럴 네트워크는,
    상기 초분광 이미지로부터 생성된 복수의 윈도우(window) 각각이 입력되는 타깃 부분 인코더;
    상기 타깃 부분 인코더 각각의 출력이 연결되어 입력되는 집합 오토 인코더; 및
    상기 집합 오토 인코더의 출력이 분할되어 입력되는 타깃 부분 디코더;
    를 포함하고,
    상기 타깃 뉴럴 네트워크의 성능과 관련되는 AUC(Area Under the ROC Curve)는
    Figure 112023006146613-pat00091
    의 쌍(pair)과 관련되고 - 상기
    Figure 112023006146613-pat00092
    는 상기 타깃 부분 인코더 및 상기 타깃 부분 디코더의 레이어의 수를 나타내고, 상기
    Figure 112023006146613-pat00093
    는 상기 집합 오토 인코더의 인코더 및 디코더의 레이어의 수를 나타내고, 상기
    Figure 112023006146613-pat00094
    의 수는 1개 또는 3개로 결정됨 - ,
    상기 타깃 부분 인코더는, 상기 초분광 이미지에 포함된 복수의 대역에 대응하는 복수의 지역 특징(local feature)을 추출하고 - 복수의 지역 특징의 추출은 상기 복수의 윈도우의 크기 및 상기 복수의 윈도우 각각의 스트라이드의 크기에 기초하여 결정되고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 상기 복수의 윈도우의 크기의 절반에서 소정의 임계치 내의 범위로 결정됨 - ,
    상기 타깃 뉴럴 네트워크는,
    IP(Indian Pines) 데이터셋을 이용하여 미리 학습되고, DSVDD(Deep Support Vector Data Description) 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00095
    의 수는 9개이고, 상기
    Figure 112023006146613-pat00096
    의 수는 1개이고, 상기 복수의 윈도우의 크기는 50이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 25이며,
    상기 IP 데이터셋을 이용하여 미리 학습되고, MemAE(Memory-augmented Autoencoder) 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00097
    의 수는 9개이고, 상기
    Figure 112023006146613-pat00098
    의 수는 1개이고, 상기 복수의 윈도우의 크기는 35이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 15이며,
    상기 IP 데이터셋을 이용하여 미리 학습되고, RAPP(Reconstruction along Projection Pathway) 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00099
    의 수는 7개이고, 상기
    Figure 112023006146613-pat00100
    의 수는 3개이고 상기 복수의 윈도우의 크기는 24이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 11이며,
    SV(Salinas Valley) 데이터셋을 이용하여 미리 학습되고, 상기 DSVDD 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00101
    의 수는 9개이고, 상기
    Figure 112023006146613-pat00102
    의 수는 1개이고, 상기 복수의 윈도우의 크기는 24이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 12이며,
    상기 SV 데이터셋을 이용하여 미리 학습되고, 상기 MemAE 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00103
    의 수는 7개이고, 상기
    Figure 112023006146613-pat00104
    의 수는 3개이고, 상기 복수의 윈도우의 크기는 48이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 26이며,
    상기 SV 데이터셋을 이용하여 미리 학습되고, 상기 RAPP 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00105
    의 수는 7개이고, 상기
    Figure 112023006146613-pat00106
    의 수는 3개이고, 상기 복수의 윈도우의 크기는 48이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 26이며,
    HS(university of Houston) 데이터셋을 이용하여 미리 학습되고, 상기 DSVDD 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00107
    의 수는 9개이고, 상기
    Figure 112023006146613-pat00108
    의 수는 1개이고, 상기 복수의 윈도우의 크기는 24이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 12이며,
    상기 HS 데이터셋을 이용하여 미리 학습되고, 상기 MemAE 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00109
    의 수는 7개이고, 상기
    Figure 112023006146613-pat00110
    의 수는 3개이고, 상기 복수의 윈도우의 크기는 48이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 24이며, 그리고
    상기 HS 데이터셋을 이용하여 미리 학습되고, 상기 RAPP 모델에 적용되는 경우, 상기
    Figure 112023006146613-pat00111
    의 수는 7개이고, 상기
    Figure 112023006146613-pat00112
    의 수는 3개이고, 상기 복수의 윈도우의 크기는 24이고, 상기 복수의 윈도우 각각의 스트라이드의 크기는 12인,
    이상 탐지 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    슬라이딩 윈도우(sliding window)를 이용하여 상기 초분광 이미지를 복수의 대역(band)에 대응하는 상기 복수의 윈도우로 분할하는,
    이상 탐지 장치.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 이상 탐지(anomaly detection)를 위한 뉴럴 네트워크 학습 장치에 있어서,
    초분광 이미지(hyperspectral image)를 수신하는 수신기; 및
    상기 초분광 이미지에 포함된 복수의 대역(band)에 기초하여 상기 복수의 대역에 대응하는 복수의 예비 부분 오토인코더(autoencoder)를 학습시키고,
    학습된 복수의 예비 부분 오토인코더의 파라미터에 기초하여 타깃 뉴럴 네트워크를 미세 조정(fine tuning)하는 프로세서;
    를 포함하고,
    상기 타깃 뉴럴 네트워크는,
    상기 초분광 이미지로부터 생성된 복수의 윈도우 각각이 입력되는 타깃 부분 인코더;
    상기 타깃 부분 인코더 각각의 출력이 연결되어 입력되는 집합 오토 인코더; 및
    상기 집합 오토 인코더의 출력이 분할되어 입력되는 타깃 부분 디코더;
    를 포함하고,
    상기 프로세서는,
    미리 학습된 예비 부분 오토인코더의 예비 부분 인코더의 가중치를, 상기 타깃 뉴럴 네트워크에 포함된, 상기 예비 부분 인코더에 대응되는 상기 타깃 부분 인코더에 로딩하고,
    상기 미리 학습된 예비 부분 오토인코더의 예비 부분 디코더의 가중치를, 상기 타깃 뉴럴 네트워크에 포함된, 상기 예비 부분 디코더에 대응되는 상기 타깃 부분 디코더에 로딩하고,
    미세 조정이 완료된 상기 타깃 뉴럴 네트워크의 입력과 출력 사이에 차이에 기초하여 산출된 손실 함수를 이용하여 상기 타깃 뉴럴 네트워크를 학습시키는,
    뉴럴 네트워크 학습 장치.
KR1020220126942A 2022-05-26 2022-10-05 슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법 KR102506987B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220126942A KR102506987B1 (ko) 2022-05-26 2022-10-05 슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법
PCT/KR2023/010697 WO2023229448A1 (ko) 2022-05-26 2023-07-25 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220064978A KR102454272B1 (ko) 2022-05-26 2022-05-26 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법
KR1020220126942A KR102506987B1 (ko) 2022-05-26 2022-10-05 슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220064978A Division KR102454272B1 (ko) 2022-05-26 2022-05-26 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102506987B1 true KR102506987B1 (ko) 2023-03-07

Family

ID=83600047

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220064978A KR102454272B1 (ko) 2022-05-26 2022-05-26 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법
KR1020220126942A KR102506987B1 (ko) 2022-05-26 2022-10-05 슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220064978A KR102454272B1 (ko) 2022-05-26 2022-05-26 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법

Country Status (2)

Country Link
KR (2) KR102454272B1 (ko)
WO (1) WO2023229448A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023229448A1 (ko) * 2022-05-26 2023-11-30 주식회사 엘로이랩 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102575675B1 (ko) * 2023-02-15 2023-09-06 전남대학교산학협력단 초분광 이미징 기반의 상수도 시설물 감시 분석 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306931B1 (en) * 2009-08-06 2012-11-06 Data Fusion & Neural Networks, LLC Detecting, classifying, and tracking abnormal data in a data stream
US20170196503A1 (en) * 2014-08-29 2017-07-13 Incyphae Inc. Method and apparatus for enhancing nervous function

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102454272B1 (ko) * 2022-05-26 2022-10-14 (주)엘로이랩 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306931B1 (en) * 2009-08-06 2012-11-06 Data Fusion & Neural Networks, LLC Detecting, classifying, and tracking abnormal data in a data stream
US20170196503A1 (en) * 2014-08-29 2017-07-13 Incyphae Inc. Method and apparatus for enhancing nervous function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023229448A1 (ko) * 2022-05-26 2023-11-30 주식회사 엘로이랩 뉴럴 네트워크를 이용한 이상 탐지 장치 및 방법과 그 뉴럴 네트워크 학습 장치 및 방법

Also Published As

Publication number Publication date
KR102454272B1 (ko) 2022-10-14
WO2023229448A1 (ko) 2023-11-30

Similar Documents

Publication Publication Date Title
KR102506987B1 (ko) 슬라이딩 윈도우를 활용한 뉴럴 네트워크 기반의 이상 탐지 장치 및 방법
Hassanien et al. An improved moth flame optimization algorithm based on rough sets for tomato diseases detection
Burlina et al. Where's Wally now? Deep generative and discriminative embeddings for novelty detection
Zhao et al. Spectral-spatial classification of hyperspectral imagery based on stacked sparse autoencoder and random forest
Lan et al. Hyperspectral image classification using k-sparse denoising autoencoder and spectral–restricted spatial characteristics
Karadal et al. Automated classification of remote sensing images using multileveled MobileNetV2 and DWT techniques
KR102317992B1 (ko) 뉴럴 네트워크를 이용한 제품 검사 방법, 장치 및 제품 검사 장치 학습 방법
Lu et al. Improved deep convolutional embedded clustering with re-selectable sample training
US20220108180A1 (en) Method and apparatus for compressing artificial neural network
Günen et al. Analyzing the contribution of training algorithms on deep neural networks for hyperspectral image classification
Aggarwal et al. Deep learning
Alizadeh et al. A novel Siamese deep hashing model for histopathology image retrieval
Ren et al. Correntropy induced loss based sparse robust graph regularized extreme learning machine for cancer classification
Krishnamurthy et al. Evaluating deep neural network architectures with transfer learning for pneumonitis diagnosis
Carrinho et al. Highly accurate and fast YOLOv4-Based polyp detection
Moslemi Sparse representation learning using ℓ1− 2 compressed sensing and rank-revealing QR factorization
Dogaru et al. A super fast vector support classifier using novelty detection and no synaptic tuning
Yuan et al. Advances in Hyperspectral Image Classification with a Bottleneck Attention Mechanism Based on 3D-FCNN Model and Imaging Spectrometer Sensor
KR102631631B1 (ko) 뉴럴 네트워크를 이용한 초분광 이미지의 시각화 방법 및 장치
Sun et al. Classification of lung nodules based on GAN and 3D CNN
Mittal et al. AiCNNs (artificially-integrated convolutional neural networks) for brain tumor prediction
KR102308752B1 (ko) 객체 추적 방법 및 장치
KR102506988B1 (ko) 이종 손실 함수를 이용하여 학습된 뉴럴 네트워크를 이용한 이상 검출 장치
Akram et al. Adversarial learning with multiscale features and kernel factorization for retinal blood vessel segmentation
KR102662997B1 (ko) 뉴럴 네트워크를 이용한 초분광 이미지 분류 방법 및 장치

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