KR20230126625A - 1차원 오토인코더를 이용한 이상 탐지 장치 - Google Patents

1차원 오토인코더를 이용한 이상 탐지 장치 Download PDF

Info

Publication number
KR20230126625A
KR20230126625A KR1020220098995A KR20220098995A KR20230126625A KR 20230126625 A KR20230126625 A KR 20230126625A KR 1020220098995 A KR1020220098995 A KR 1020220098995A KR 20220098995 A KR20220098995 A KR 20220098995A KR 20230126625 A KR20230126625 A KR 20230126625A
Authority
KR
South Korea
Prior art keywords
data
autoencoder
learning
abnormality determination
equipment
Prior art date
Application number
KR1020220098995A
Other languages
English (en)
Other versions
KR102611399B1 (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 다겸 주식회사
Publication of KR20230126625A publication Critical patent/KR20230126625A/ko
Application granted granted Critical
Publication of KR102611399B1 publication Critical patent/KR102611399B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01HMEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
    • G01H1/00Measuring characteristics of vibrations in solids by using direct conduction to the detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Abstract

본 발명은 1차원 오토인코더를 이용한 이상 탐지 장치에 관한 것이다. 상기 이상 탐지 장치는, 센서로부터 상기 검사 대상 장비에 대한 센싱 데이터를 수신하는 데이터 수신부, 상기 센싱 데이터로 구성된 동작 데이터셋을 저장 및 관리하는 데이터베이스부, 상기 동작 데이터셋을 이용하여, 상기 센서에 대응되는 오토인코더를 학습시키는 학습부, 및 상기 오토인코더의 입력 데이터 및 출력 데이터를 비교하여, 상기 검사 대상 장비의 이상여부를 판단하는 이상판별모듈을 포함하는 파라미터 이상 판별부를 포함하되, 상기 오토인코더는, 학습 단계에서, 입력 노드에 인가된 입력 데이터에 대해, 스케일 변수(scale factor)와 시프트 변수(shift factor)를 추가하여 학습을 진행하는 배치 정규화(batch normalization)를 수행하는 배치 정규화 모듈과, 상기 배치 정규화가 수행된 데이터를 수신하고, 수신된 상기 데이터의 크기를 축소시키는 인코더 신경망과, 상기 인코더 신경망에서 축소된 상기 데이터의 크기를, 축소 이전 크기로 복원시키는 디코더 신경망을 포함한다.

Description

1차원 오토인코더를 이용한 이상 탐지 장치{Abnormal detection device using 1-demension autoencoder}
본 발명은 1차원 오토인코더를 이용한 이상 탐지 장치에 관한 것이다. 구체적으로, 본 발명은 배치 정규화(Batch Normalization)와 합성곱 신경망을 이용한 1차원 오토인코더를 이용함으로써, 기계장비의 이상동작 판단의 정확도를 높일 수 있는 이상 탐지 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
반도체 등과 같은 초 기술 집약적 상품은 기계장치의 미세한 오작동에 의해서도 완제품의 품질이 굉장히 저하될 수 있다. 다만, 사람의 눈으로 기계장치의 오작동을 계속해서 감시하는 것은 실질적으로 어려우므로, 각종 센서를 활용하여 기계장치에 대한 이상탐지를 수행하고 있다. 이상탐지에는 진동센서, 음향센서, 모션센서 등 복수의 센서에서 감지된 센싱 데이터가 이용될 수 있다.
최근에는 AI 및 머신러닝 기술을 이용하여 실시간으로 기계장치의 이상탐지를 수행할 수 있는 기술들이 개발 중에 있다. 이때, 이상탐지는 새로운 현상 발견과 밀접한 관련이 있다. 즉, 머신러닝 모듈에서 정상 패턴을 학습 후, 정상이 아닌 새로운 패턴이 보였을 때 이상동작으로 판단하는 것이다.
기계장치의 이상동작 여부를 탐지하는 경우, 이상여부만을 감지하는 경우가 대부분이나, 다양한 부품으로 연결된 로봇기계의 경우 작업자가 일일이 이상여부를 하나씩 검사하기가 쉽지 않기에, 미리 학습된 머신러닝을 통하여 기계장치의 이상여부에 대한 판단을 빠르게 도출하고, 판단의 정확성을 높이기 위한 시도가 계속되고 있다.
한편, 이상 탐지 장치는 복수의 센싱 데이터마다 미리 학습된 복수의 머신러닝 모듈을 이용할 수 있다. 다만, 특정 머신러닝 모듈은 기계장치 및 환경변화에 따라 민감하게 동작할 수 있으며, 복수의 머신러닝 모듈들이 동일한 검사 대상 장비에 대해 서로 다른 이상여부판단의 결과를 출력할 수 있다.
따라서, 복수의 센서에 대한 머신러닝 모듈의 판단결과를 종합하여 최종적으로 이상여부판단을 도출하되, 이에 대한 정확도를 높일 수 있는 로직에 대한 니즈가 증가되었다.
본 발명의 목적은, 배치 정규화, 합성곱 신경망 및 전치 합성곱 신경망으로 구성된 오토인코더를 이용하여, 검사 대상 장비의 이상여부를 빠르고 정확하게 판단할 수 있는 이상 탐지 장치를 제공하는 것이다.
또한, 본 발명의 목적은, 특정 검사 대상 장비에 설치된 복수의 센서에서 출력된 센싱 데이터를 기초로 미리 학습된 복수의 머신러닝 모듈을 이용하여 이상여부를 판단하되, 복수의 이상여부 판단결과에 가중치를 적용함으로써 검사 대상 장비의 최종 이상여부 판단에 대한 정확도를 높일 수 있는 이상 탐지 장치를 제공하는 것이다.
또한, 본 발명의 목적은, 이상동작에 관한 데이터셋을 자동으로 생성하여 저장하고, 이를 이용하여 이상 판별부를 학습시킴으로써, 검사 대상 장비에 대한 이상유무의 판단의 정확도를 향상시킬 수 있는 이상 탐지 장치를 제공하는 것이다.
또한, 본 발명의 목적은, 검사 대상 장비의 이상여부 뿐만 아니라 이상부위까지 함께 판단할 수 있는 이상 탐지 장치를 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 따른 이상 탐지 장치는, 센서로부터 상기 검사 대상 장비에 대한 센싱 데이터를 수신하는 데이터 수신부, 상기 센싱 데이터로 구성된 동작 데이터셋을 저장 및 관리하는 데이터베이스부, 상기 동작 데이터셋을 이용하여, 상기 센서에 대응되는 오토인코더를 학습시키는 학습부, 및 상기 오토인코더의 입력 데이터 및 출력 데이터를 비교하여, 상기 검사 대상 장비의 이상여부를 판단하는 이상판별모듈을 포함하는 파라미터 이상 판별부를 포함하되, 상기 오토인코더는, 학습 단계에서, 입력 노드에 인가된 입력 데이터에 대해, 스케일 변수(scale factor)와 시프트 변수(shift factor)를 추가하여 학습을 진행하는 배치 정규화(batch normalization)를 수행하는 배치 정규화 모듈과, 상기 배치 정규화가 수행된 데이터를 수신하고, 수신된 상기 데이터의 크기를 축소시키는 인코더 신경망과, 상기 인코더 신경망에서 축소된 상기 데이터의 크기를, 축소 이전 크기로 복원시키는 디코더 신경망을 포함한다.
또한, 상기 학습부는, 상기 동작 데이터셋을 학습 데이터로 이용하여 상기 오토인코더를 학습시키되, 상기 배치 정규화 모듈은, 미리 정해진 단위크기의 배치(batch)에 대한 평균(average)과 분산(variance)을 계산하고, 상기 입력 노드에 인가된 상기 학습 데이터에 대해, 상기 배치에 대한 상기 평균과 상기 분산을 이용하여 정규화(normalization)를 수행하고, 상기 정규화된 데이터에, 상기 스케일 변수와 상기 시프트 변수를 추가하여 학습을 수행하는 것을 포함하고, 상기 스케일 변수와 상기 시프트 변수는, 학습 과정에서 역전파(backpropagation)에 의해 업데이트 될 수 있다.
또한, 상기 배치 정규화 모듈은, 학습 데이터들의 배치에 대한 복수의 평균을 이용하여 이동 평균(moving average)을 도출하고, 상기 학습 데이터들의 복수의 분산을 이용하여 분산 평균을 도출하며, 수행 단계에서, 상기 이동 평균 및 상기 분산 평균을 이용하여 상기 입력노드 인가된 입력 데이터를 보정하는 것을 포함할 수 있다.
또한, 상기 인코더 신경망과 상기 디코더 신경망은, 미리 정해진 단위크기의 필터(filter)를 이용하여 데이터를 축소시키거나 복원시키되, 상기 필터에는, 학습과정에서 도출된 상기 스케일 변수 및 상기 시프트 변수가 상기 필터당 하나씩 할당되는 것을 포함할 수 있다.
또한, 상기 오토인코더의 입력 데이터는, 1차원으로 이루어진 시계열 데이터로 구성되고, 상기 인코더 신경망은, 1차원으로 구성된 상기 필터를 이용하여 상기 입력 데이터를 축소시키고, 상기 디코더 신경망은, 상기 필터를 이용하여 축소된 데이터를 1차원의 시계열 데이터로 복원시키는 것을 포함할 수 있다.
한편, 본 발명의 다른 실시예에 따른 이상 탐지 장치는, 검사 대상 장비의 이상동작여부를 판단하는 이상 탐지 장치에 있어서,
서로 다른 복수의 센서로부터 상기 검사 대상 장비에 대한 서로 다른 센싱 데이터를 수신하는 데이터 수신부, 각각의 상기 센서에 대한 동작 데이터셋을 포함하는 데이터베이스부, 상기 복수의 센서에 각각 대응되는 복수의 오토인코더를 포함하는 학습부, 상기 복수의 오토인코더에 각각 대응되는 복수의 이상판별모듈을 포함하는 파라미터 이상 판별부, 및 상기 복수의 이상판별모듈에서 출력된 각각의 이상여부 판단결과를 수신하고, 이를 기초로 상기 검사 대상 장비에 대한 최종이상유무를 판단하는 장비 이상 판별부를 포함하되, 상기 오토인코더는, 학습 단계에서, 입력 노드에 인가된 입력 데이터에 대해, 스케일 변수(scale factor)와 시프트 변수(shift factor)를 추가하여 학습을 진행하는 배치 정규화(batch normalization)를 수행하는 배치 정규화 모듈과, 상기 배치 정규화가 수행된 데이터를 수신하고, 수신된 데이터의 크기를 축소시키는 인코더 신경망과, 상기 인코더 신경망에서 축소된 데이터의 크기를, 축소 이전 크기로 복원시키는 디코더 신경망을 포함한다.
또한, 상기 파라미터 이상 판별부는, 서로 다른 전처리 과정을 통해 수신된 입력 데이터를 기초로 상기 복수의 오토인코더에 대해 각각 머신러닝을 수행하고, 이를 통해 상기 서로 다른 복수의 센서에 대한 각각의 상기 이상여부 판단결과를 출력하는 것을 포함할 수 있다.
또한, 상기 학습부는, 각각의 상기 동작 데이터셋을 학습 데이터로 이용하여 상기 복수의 오토인코더를 각각 학습시키되, 상기 복수의 오토인코더 각각에 포함된 배치 정규화 모듈은, 미리 정해진 단위크기의 배치(batch)에 대한 평균(average)과 분산(derivation)을 계산하고, 상기 입력 노드에 인가된 상기 학습 데이터에 대해, 계산된 상기 평균과 상기 분산을 이용하여 정규화(normalization)를 수행하고, 상기 정규화된 데이터에 대해, 상기 스케일 변수와 상기 시프트 변수를 추가하여 학습을 수행하는 것을 포함하고, 상기 인코더 신경망과 상기 디코더 신경망은, 미리 정해진 단위크기의 필터(filter)를 이용하여 데이터를 축소시키거나 복원시키되, 상기 필터에는, 상기 정규화 모듈에서 도출된 상기 스케일 변수 및 상기 시프트 변수가 상기 필터당 하나씩 할당되는 것을 포함할 수 있다.
또한, 상기 장비 이상 판별부는, 결정트리모델을 이용하여, 상기 복수의 이상판별모듈에 대한 각각의 중요도를 산출하고, 이를 기초로 상기 최종이상유무를 판단하는 것을 포함할 수 있다.
또한, 상기 복수의 센서부는, 상기 검사 대상 장비에 대한 진동을 감지하는 제1 센서와, 상기 검사 대상 장비의 소리를 감지하는 제2 센서와, 상기 검사 대상 장비의 동작 모션을 감지하는 제3 센서를 포함하고, 상기 복수의 이상판별모듈은, 상기 제1 내지 제3 센서에 일대일 매칭되는 제1 내지 제3 이상판별모듈을 포함하되, 상기 제1 이상판별모듈 및 제2 이상판별모듈은, 대응되는 상기 오토인코더의 입출력 데이터의 차이값과 미리 정해진 기준치를 비교함으로써 상기 검사 대상 장비의 이상여부를 판단하고, 상기 제3 이상판별모듈은, 정상동작 데이터셋 및 이상동작 데이터셋을 이용하여 학습된 뉴럴 네트워크를 이용하여, 상기 검사 대상 장비의 이상여부를 판단할 수 있다.
본 발명의 이상 탐지 장치는, 오토인코더에 포함된 합성곱 신경망의 전단에 배치 정규화 모듈을 포함시킴으로써, 오토인코더를 학습시키는 과정에서 발생할 수 있는 특정 파라미터만 계속해서 커지게 되거나, 일부 파라미터들의 영향이 무시되는 문제점을 해결할 수 있다. 이를 통해, 본 발명은 오토인코더를 이용한 이상탐지의 정확도를 높일 수 있으며, 이상 탐지 시스템의 안정성을 높이고, 고객의 신뢰도 향상 및 대상기업의 영업이익을 확대의 효과를 발생시킬 수 있다.
또한, 본 발명은 각각의 센서에서 출력된 센싱 데이터를 기초로 미리 학습된 복수의 머신러닝 모듈의 판단결과를 이용하되, 복수의 머신러닝 모듈의 판단결과를 종합적으로 반영하여 검사 대상 장비의 이상동작여부를 판단하므로, 이상동작 판단에 대한 정확도를 높일 수 있다.
또한, 본 발명은, 검사 대상 장비의 특성과 환경에 따라, 복수의 센서에 대해 변화되는 민감도를 고려하여 각 센서의 판단결과에 가중치를 부여하고, 이를 기초로 최종이상유무 판단을 도출함으로써, 보다 정확한 이상동작 판단을 수행할 수 있다.
또한, 본 발명은, 검사 대상 장비의 이상여부 뿐만 아니라 이상부위까지 함께 판단할 수 있으므로, 검사 대상 장비에 대한 빠른 수리 및 유지보수가 가능하다. 따라서, 본 발명은 기계장비 유지보수에 필요한 리소스를 최소화할 수 있으며, 제품생산라인이 기계 오작동으로 인하여 중단됨에 따라 발생할 수 있는 손해를 최소화할 수 있다.
또한, 본 발명은, 최종이상유무에 대한 판단결과와 검사 대상 장비의 실제이상유무를 비교하여 지속적으로 머신러닝 모델을 학습시키고, 각 센서에 대한 가중치를 조절함으로써, 데이터가 쌓일수록 더 정확한 판단결과를 도출할 수 있다.
상술한 내용과 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 본 발명의 몇몇 실시예에 따른 이상 탐지 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 이상 탐지 장치를 설명하기 위한 도면이다.
도 3은 본 발명의 몇몇 실시예들에 따른 이상 탐지 장치의 데이터 흐름을 설명하기 위한 블럭도이다.
도 4는 도 3의 진동 센서에 대한 제1 이상동작 탐지모델의 데이터 흐름을 나타내는 블록도이다.
도 5는 도 4의 오토인코더의 일 실시예를 나타내는 블록도이다.
도 6은 도 5의 배치 정규화 모듈의 동작을 설명하기 위한 도면이다.
도 7은 도 5의 인코더의 동작을 설명하기 위한 도면이다.
도 8은 도 5의 디코더의 동작을 설명하기 위한 도면이다.
도 9는 도 4의 오토인코더의 다른 실시예를 나타내는 블록도이다.
도 10은 도 4의 제1 이상동작 탐지모델의 동작 방법을 설명하기 위한 순서도이다.
도 11은 도 3의 음향 센서에 대한 제2 이상동작 탐지모델의 데이터 흐름을 나타내는 블록도이다.
도 12는 도 11의 노이즈 제거 모듈의 구성 및 동작 방법을 설명하기 위한 블록도이다.
도 13은 도 11의 제2 이상동작 탐지모델의 동작 방법을 설명하기 위한 순서도이다.
도 14는 도 3의 모션 센서에 대한 제3 이상동작 탐지모델의 데이터 흐름을 나타내는 블록도이다.
도 15는 도 14의 제3 이상판별모듈을 나타내는 블록도이다.
도 16 및 도 17은 학습 데이터셋을 이용하여 제3 이상판별모듈을 학습시키는 동작을 설명하기 위한 도면이다.
도 18은 도 15의 이상 데이터 생성부에서 이상동작 데이터셋을 생성하는 동작을 설명하기 위한 블록도이다.
도 19는 이상 탐지 장치에서 동작시 발생되는 데이터의 예시를 나타내는 도면이다.
도 20은 본 발명의 일 실시예에 따른 제3 이상동작 탐지모델에서 이상여부판단을 위한 동작을 설명하기 위한 블럭도이다.
도 21은 본 발명의 다른 실시예에 따른 제3 이상동작 탐지모델에서 이상여부판단을 위한 동작을 설명하기 위한 블럭도이다.
도 22는 도 15의 제3 이상동작 탐지모델의 동작 방법을 설명하기 위한 순서도이다.
도 23은 도 3의 장비 이상 판별부의 구성을 나타내는 도면이다.
도 24는 도 23의 장비 이상 판별부가 이용하는 결정트리 모델의 예시를 나타내는 도면이다.
도 25는 본 발명의 몇몇 실시예에 따른 장비 이상 판별부의 동작 방법을 설명하기 위한 순서도이다.
도 26은 본 발명의 몇몇 실시예에 따른 이상 탐지 방법을 수행하는 시스템의 하드웨어 구현을 설명하기 위한 도면이다.
본 명세서 및 특허청구범위에서 사용된 용어나 단어는 일반적이거나 사전적인 의미로 한정하여 해석되어서는 아니된다. 발명자가 그 자신의 발명을 최선의 방법으로 설명하기 위해 용어나 단어의 개념을 정의할 수 있다는 원칙에 따라, 본 발명의 기술적 사상과 부합하는 의미와 개념으로 해석되어야 한다. 또한, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명이 실현되는 하나의 실시예에 불과하고, 본 발명의 기술적 사상을 전부 대변하는 것이 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 및 응용 가능한 예들이 있을 수 있음을 이해하여야 한다.
본 명세서 및 특허청구범위에서 사용된 제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. '및/또는' 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서 및 특허청구범위에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해서 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 각 실시예에 포함된 각 구성, 과정, 공정 또는 방법 등은 기술적으로 상호 간 모순되지 않는 범위 내에서 공유될 수 있다.
머신러닝(Machine Learning)은 AI의 한 분야로 데이터를 바탕으로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야이며, 데이터 처리, 영상 인식, 음성 인식, 인터넷 검색 등의 다양한 분야의 핵심 기술로 예측(prediction) 및 이상 탐지(Anomaly Detection)에 탁월한 성과를 나타낸다.
이 중에서, 이상 탐지란, 데이터에서 예상과는 다른 패턴을 보이는 개체 또는 데이터를 찾는 것을 말하는 것을 의미하며, 머신러닝 기반의 이상 탐지 모델은 실제 데이터와 예측 데이터의 차이를 계산하고, 차이가 임계값 이상인 경우 이상이 있는 데이터로 판단할 수 있다.
인공신경망이 다양한 분야에서 우수한 성능을 보임에 따라, 공장에서 사용되는 여러 장비들에 대한 이상탐지방법에서 대해서도 점차 인공신경망을 이용하는 연구가 이루어지고 있다. 해당 연구가 이루어지는 한 분야로 오토인코더(autoencoder)를 이용한 방식이 있다.
오토인코더는 입력단의 데이터를 더 적은 차원의 매니폴드(manifold) 공간으로 매핑하는 동작을 수행한다. 이와 같은 매핑 동작을 통해 도출된 잠재 벡터(latent vector)와, 오토인코더의 입력 데이터 및 출력 데이터의 차이값인 재구성 오류(Reconstruction Error)는 파생변수로써 이상 탐지의 정확도를 높이는 데 활용될 수 있다. 이때, 오토인코더는 여러 개의 신경망(Neural Network)으로 구성된 인코더 및 디코더로 구성될 수 있다.
일반적으로 딥러닝에 이용되는 신경망은 파라미터 값의 작은 변화가 출력값에 얼마나 영향을 미칠 것인가를 기반으로 파라미터를 학습을 수행한다. 다만, 딥러닝 모듈에서 파라미터 값의 변화가 출력값에 매우 적은 변화를 주거나 너무 큰 변화를 줄 경우, 학습은 효과적을 이루어지지 못하게 될 수 있다. 이처럼 딥러닝 모듈이 학습하는 과정에서, 이전 레이어의 파라미터 변화로 인해 현재 레이어의 입력의 분포가 바뀌는 현상을 공변량 변화(Covariate shift)라고 한다. 공변량 변화로 인하여 딥러닝 모듈은 학습이 느리게 진행될 수 있으며, 국소 최적점(local optimum)에 빠질 위험이 있다.
이를 막기 위한 방법으로, 정규화(Normalization) 기법이 사용될 수 있는데, 가장 대표적인 정규화 기법 중 하나인 화이트닝(Whitening) 기법은, 각 레이어로 들어가는 입력 데이터의 평균(mean, average)을 '0', 표준편차(standard deviation)를 '1'로 변환시키는 것이다. 하지만 화이트닝 기법의 경우, 역전파를 통한 최적화 과정(backpropagation; 이하, 역전파 과정)과 무관하게 진행되므로 특정 파라미터가 계속 커지게 되는 현상이 발생할 수 있는 문제가 있었다.
이러한 문제를 보완하기 위해, 본 발명의 몇몇 실시예의 오토인코더에서는 합성곱 신경망에 앞서 배치 정규화(Batch Normalization)를 수행하는 레이어(layer)를 포함할 수 있다. 배치 정규화를 수행하는 레이어는 오토인코더의 신경망 안에 포함되어 오토인코더의 학습 과정에서 각각의 배치(batch)에 대한 평균과 분산을 함께 조절한다. 이때, 오토인코더는 각 배치의 평균과 분산에 따라 정규화를 진행한 뒤, 스케일 변수(scale factor)와 시프트 변수(shift factor)를 추가하여 학습을 진행할 수 있다. 배치 정규화를 포함하는 오토인코더에 대한 자세한 설명은 이하에서 후술하도록 한다.
또한, 본 명세서에서는 설명의 편의를 위하여 오토인코더 내에서 배치 정규화를 수행하는 레이어를 배치 정규화 모듈로 정의하여 설명하도록 한다.
이하에서, 도 1 내지 도 26을 참조하여 본 발명의 몇몇 실시예에 따른 1차원 오토인코더를 이용한 이상 탐지 장치에 대해 살펴보도록 한다.
도 1은 본 발명의 몇몇 실시예에 따른 이상 탐지 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 이상 탐지 시스템은, 이상 탐지 장치(100), 복수의 센서(200), 및 검사 대상 장비(300)을 포함할 수 있다.
검사 대상 장비(300)는 정상 상태일 때 일정한 패턴 및/또는 주기를 갖는 동작을 반복적으로 수행하는 장비일 수 있다. 예를 들어, 검사 대상 장비(300)는 반도체 제조 공정에서 특정 공정에 이용되는 반도체 제조 장비일 수 있다. 다만, 본 발명이 이에 제한되는 것은 아니다.
센서(200)는 검사 대상 장비(300)에 대한 다양한 데이터를 수집한다. 예를 들어, 센서(200)는 검사 대상 장비(300)의 진동을 측정하기 위한 진동 센서(210), 검사 대상 장비(300)에서 발생하는 소리를 측정하기 위한 음향 센서(220), 검사 대상 장비(300)의 동작에 관한 이미지(image) 또는 움직이는 영상(video)을 촬영하기 위한 모션 센서(230) 등을 포함할 수 있다. 다만, 이는 예시일 뿐 본 발명에서 이용 가능한 센서가 이에 한정되는 것은 아니다.
센서(200)는 검사 대상 장비(300)의 여러 부위에 설치될 수 있으며 동일한 센서가 검사 대상 장비(300)의 서로 다른 위치에 설치되어 이용될 수 있다. 또한, 센서(200)는 검사 대상 장비(300)에 이격되어 설치될 수 있음은 물론이다.
이상 탐지 장치(100)는 센서(200)로부터 수신한 검사 대상 장비(300)의 여러 센싱 데이터를 수신하고, 수신된 센싱 데이터를 기초로 검사 대상 장비(300)의 이상동작 여부를 판단할 수 있다.
즉, 이상 탐지 장치(100)는 복수의 센서(210, 220, 230)로부터 서로 다른 종류의 센싱 데이터를 수신할 수 있고, 각각의 센싱 데이터(예를 들어, 진동 센싱 데이터, 음향 센싱 데이터, 동작 이미지)를 기초로 이상 탐지 장치(100)의 이상여부를 판단할 수 있다. 또한, 이상 탐지 장치(100)는 각각의 센싱 데이터마다 서로 다른 이상동작 탐지모델(예를 들어, 도 3의 M1, M2, M3)을 이용하여 검사 대상 장비(300)의 이상여부를 판단할 수 있다.
이상 탐지 장치(100)는 서로 다른 이상동작 탐지모델 별로 서로 다른 이상동작여부에 대한 판단결과(이하, 이상여부 판단결과)를 수신할 수 있는데, 이상 탐지 장치(100)는 수신된 복수의 이상여부 판단결과를 기초로 검사 대상 장비(300)의 최종이상유무를 판단할 수 있다. 이를 위해, 이상 탐지 장치(100)는 각각의 센싱 데이터를 수신한 복수의 센서에 대해 결정트리 모델을 이용하여 각각의 중요도를 산출하고, 산출된 중요도를 센서별 이상여부 판단결과에 적용함으로써, 검사 대상 장비(300)의 최종이상유무를 판단할 수 있다.
또한, 이상 탐지 장치(100)는 판단된 최종이상유무와 검사 대상 장비(300)의 실제이상유무를 기초로 이상동작 탐지모델을 업데이트 할 수 있으며, 이를 통해 검사 대상 장비(300)의 이상동작여부에 대한 판단의 정확성을 높일 수 있다.
이러한 이상 탐지 장치(100)의 구조 및 동작 방법에 대한 자세한 설명은 이하에서 후술하도록 한다.
한편, 통신망(400)은 이상 탐지 장치(100) 및 센서(200)를 연결하는 역할을 수행한다. 즉, 통신망(400)은 이상 탐지 장치(100)가 센서(200)로부터 데이터를 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미한다. 통신망(400)은 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 2는 도 1의 이상 탐지 장치를 설명하기 위한 도면이다. 도 3은 본 발명의 몇몇 실시예들에 따른 이상 탐지 장치의 데이터 흐름을 설명하기 위한 블럭도이다.
도 2 및 도 3을 참조하면, 이상 탐지 장치(100)는 데이터 수신부(110), 데이터베이스부(120), 이상 데이터 생성부(125), 학습부(130), 파라미터 이상 판별부(140), 장비 이상 판별부(150), 및 제어부(160)를 포함할 수 있다.
구체적으로, 데이터 수신부(110)는 복수의 센서(210, 220, 230)로부터 검사 대상 장비(300)에 대한 여러 종류의 센싱 데이터를 수신하고, 수신된 센싱 데이터를 이상 탐지 장치(100) 내의 다른 구성요소에 전달할 수 있다. 데이터 수신부(110)는 다양한 통신 모듈이 이용될 수 있으며, 통신망(400)을 통해 외부 장비와 이상 탐지 장치(100) 사이의 데이터 교환을 수행할 수 있다.
데이터베이스부(120)는 이상 탐지 장치(100)의 적어도 하나의 구성요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다.
또한, 데이터베이스부(120)는 검사 대상 장비(300)에 대한 여러 종류의 센싱 데이터를 저장하고 관리할 수 있다. 예를 들어, 데이터베이스부(120)는 검사 대상 장비(300)에 대한 각각의 센싱 데이터에 대한 정상동작에 관한 데이터(이하, 정상동작 데이터)들을 포함하는 정상동작 데이터셋과, 이상동작에 관한 데이터(이하, 이상동작 데이터)들로 구성된 이상동작 데이터셋을 저장 관리할 수 있다.
이때, 정상동작 데이터셋은 검사 대상 장비(300)의 센싱 데이터에 정상동작에 관한 레이블(label)이 함께 포함될 수 있으며, 이상동작 데이터셋은 검사 대상 장비(300)의 센싱 데이터에 이상동작에 관한 레이블(label)이 함께 포함될 수 있다. 즉, 데이터베이스부(120)에 저장된 동작 데이터셋에는, 검사 대상 장비(300)의 정상 동작 여부에 대한 레이블이 센싱 데이터와 함께 포함될 수 있다. 또한, 데이터베이스부(120)에는 새로이 수신된 센싱 데이터와 이에 대한 이상여부 판단결과, 최종이상유무, 및 실제이상유무에 대한 데이터가 업데이트 되어 저장될 수 있다.
이상 데이터 생성부(125)는 데이터베이스부(120)에 저장된 센싱 데이터를 포함하는 동작 데이터셋을 기초로 이상동작 데이터셋을 생성할 수 있다. 이때, 이상 데이터 생성부(125)는 학습부(130)에 포함된 제3 오토인코더(135)(즉, 제3a 오토인코더(135a) 및 제3b 오토인코더(135b))를 이용하여 이상동작 데이터셋을 생성할 수 있다. 이상동작 데이터셋을 생성하기 위한 구체적인 이상 데이터 생성부(125)의 동작에 대한 설명은 도 14를 참조하여 후술하도록 한다. 이상 데이터 생성부(125)에서 생성된 이상동작 데이터셋은 데이터베이스부(120)에 저장되어, 제3 이상판별모듈(145)을 학습시키는데 이용될 수 있다.
학습부(130)는 파라미터 이상 판별부(140)가 정확한 이상동작여부를 판단할 수 있도록 오토인코더 및 이상판별모듈을 학습시키는 역할을 수행한다.
여기에서, 오토인코더는 인코더를 통해 입력 받은 데이터(즉, 입력 데이터)를 압축시켜 데이터를 축소시킨 후, 디코더를 이용하여 축소된 데이터를 인코더에서 입력 데이터와 동일한 크기로 변환하여 출력함으로써, 오토인코더의 출력 데이터를 입력 데이터와 동일하도록 만드는 일종의 딥 뉴럴 네트워크 모델(Deep Neural Network Model)이다. 오토인코더는 입력 데이터의 특징을 비지도(unsupervised) 방식으로 학습한다. 이를 위해, 오토인코더는 인코더를 통해 입력 받은 데이터를, 해당 특징을 잘 표현하는 저차원의 데이터로 변환하고, 변환된 데이터는 이후 디코더를 통해 다시 원 데이터로 복원될 수 있다.
오토인코더는 센싱 데이터의 종류별로 존재할 수 있으며, 학습부(130)는 검사 대상 장비(300)의 센싱 데이터들을 이용하여 오토인코더를 학습시킬 수 있다. 즉, 오토인코더는 센싱 데이터의 종류별로 복수 개가 존재할 수 있다. 예를 들어, 데이터 수신부(110)가 복수의 센서(210, 220, 230)로부터 각각 센싱 데이터를 수신하는 경우, 학습부(130)는 제1 내지 제3 오토인코더(131, 132, 133)를 서로 다른 종류의 센싱 데이터를 이용하여 학습시킬 수 있다.
또한, 미리 학습된 오토인코더는 검사 대상 장비(300)의 센서로부터 수신된 새로운 센싱 데이터를 입력받고, 이에 대한 복원 데이터를 출력할 수 있다. 파라미터 이상 판별부(140)는 새로운 센싱 데이터와 복원 데이터의 차이를 기초로 검사 대상 장비(300)의 이상동작여부를 판단하게 된다. 이에 대한 자세한 설명도 이하에서 후술하도록 한다.
오토인코더는 실질적으로 학습부(130)와 별개로 동작할 수 있으나, 이하에서는 설명의 편의를 위하여 오토인코더가 학습부(130)에 포함되는 것을 예로 들어 설명하도록 한다.
파라미터 이상 판별부(140)는 오토인코더의 개수에 대응되는 이상판별모듈을 포함할 수 있다. 예를 들어, 학습부(130)에 제1 내지 제3 오토인코더(131, 132, 133)가 존재하는 경우, 파라미터 이상 판별부(140)는 제1 내지 제3 이상판별모듈(141, 142, 143)을 포함할 수 있다.
여기에서, 이상판별모듈은 데이터 수신부(110)가 수집한 센싱 데이터와, 오토인코더에서 해당 센싱 데이터를 입력으로 출력된 복원 데이터의 차이값을 구하고, 산출된 차이값이 미리 정해진 기준치보다 큰지 여부를 비교함으로써 검사 대상 장비(300)의 이상유무판단을 수행한다. 여기에서, 센싱 데이터와 복원 데이터의 차이값은 오토인코더의 재구성 에러(Reconstruction Error)로 정의될 수 있고, 미리 정해진 기준치는 오토인코더의 학습과정에서 도출된 재구성 에러의 절대값에 대한 평균값(Mean Absolute Error; MAE)(즉, 학습 오차)일 수 있다. 또한, 미리 정해진 기준치는 재구성 에러의 '이동평균+2*시그마(즉, 표준편차값)'을 기초로 정해질 수 있다. 다만, 이는 하나의 예시에 불과하고 본 발명이 이에 한정되는 것은 아니다.
파라미터 이상 판별부(140)에 포함된 각각의 이상판별모듈(141, 142, 143)은 각각 처리하는 센싱 데이터에 대한 이상여부 판단결과를 출력할 수 있다. 파라미터 이상 판별부(140)에서 출력된 복수의 이상여부 판단결과는 장비 이상 판별부(150)에 전달된다.
장비 이상 판별부(150)는 파라미터 이상 판별부(140)에 포함된 각각의 이상판별모듈(141, 142, 143)로부터 수신한 복수의 이상여부 판단결과를 수신하고, 이를 기초로 검사 대상 장비(300)에 대한 최종이상유무를 판단한다. 이때, 장비 이상 판별부(150)는 결정트리모델을 이용하여 복수의 이상판별모듈(141, 142, 143)에 대한 각각의 중요도(또는, 복수의 센싱 데이터에 대한 각각의 중요도)를 산출하고 이를 기초로 검사 대상 장비(300)의 최종이상유무를 판단한다. 이에 대한 자세한 설명은 도 23 및 도 24를 참조하여 이하에서 자세히 후술하도록 한다.
제어부(160)는 이상 탐지 장치(100)에 포함된 각 구성요소의 동작을 제어하는 기능을 수행한다. 제어부(160)는 각 구성요소 간의 연결, 데이터 교환, 명령 수행 등의 동작을 수행할 수 있다. 따라서, 이상 탐지 장치(100)에서 수행되는 이상 탐지 동작의 수행주체는 제어부(160)일 수 있다.
또한, 도 3을 참조하면, 이상 탐지 장치(100)는 검사 대상 장비(300)의 이상여부판단을 위한 복수의 이상동작 탐지모델(M1, M2, M3)을 구비할 수 있으며, 각각의 이상동작 탐지모델(M1, M2, M3)은 학습부(130)의 오토인코더(131, 132, 133), 파라미터 이상 판별부(140)의 이상판별모듈(141, 142, 143)을 포함한다. 또한, 각각의 이상동작 탐지모델(M1, M2, M3)은 서로 다른 구성, 데이터 전처리 방법, 학습 및 동작 방법을 가질 수 있다.
이하에서는, 본 발명의 서로 다른 이상동작 탐지모델(M1, M2, M3)의 구성 및 동작 방법에 대해 자세히 설명하도록 한다.
도 4는 도 3의 진동 센서에 대한 제1 이상동작 탐지모델의 데이터 흐름을 나타내는 블록도이다. 도 5는 도 4의 오토인코더의 일 실시예를 나타내는 블록도이다. 도 6은 도 5의 배치 정규화 모듈의 동작을 설명하기 위한 도면이다. 도 7은 도 5의 인코더의 동작을 설명하기 위한 도면이다. 도 8은 도 5의 디코더의 동작을 설명하기 위한 도면이다. 도 9는 도 4의 오토인코더의 다른 실시예를 나타내는 블록도이다.
도 4를 참조하면, 제1 이상동작 탐지모델(M1)은 학습부(130)의 제1 오토인코더(131)와 파라미터 이상 판별부(140)의 제1 이상판별모듈(141)로 구성된다.
제1 오토인코더(131)는 데이터베이스부(120)에 미리 저장된 제1 정상동작 데이터셋(NDS1)를 이용하여 비지도 학습을 수행할 수 있다. 이때, 제1 오토인코더(131)에는 다양한 구조의 오토인코더가 적용될 수 있다.
구체적으로, 도 5를 참조하면, 본 발명의 일 예에 따른 오토인코더는, 배치 정규화 모듈(10), 인코더 신경망(Encoder Network; 이하, 인코더(20))와 디코더 신경망(Decoder Network; 이하, 디코더(30))을 포함한다. 도면에 명확히 도시되지는 않았으나, 오토인코더는 인코더(20)와 디코더(30) 사이에 배치되는 중간 레이어(Middle Layer; ML)를 포함할 수 있다.
도 5의 오토인코더는 인코더(20)를 통해 입력 받은 데이터(즉, 입력 데이터)를 압축시켜 데이터를 축소시킨 후, 디코더(30)를 이용하여 축소된 데이터를 인코더(20)에서 입력 데이터와 동일한 크기로 변환하여 출력함으로써, 오토인코더의 출력 데이터를 입력 데이터와 동일하도록 만드는 일종의 딥 뉴럴 네트워크 모델(Deep Neural Network Model)이다.
오토인코더는 입력 데이터의 특징을 비지도(unsupervised) 방식으로 학습한다. 이를 위해, 오토인코더는 인코더(20)를 통해 입력 받은 데이터를, 해당 특징을 잘 표현하는 저차원의 데이터(즉, 잠재 벡터(Latent Vector; LV))로 변환하고, 변환된 데이터는 이후 디코더(30)를 통해 다시 원 데이터로 복원될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니며, 오토인코더는 양단에 입력 데이터 및 출력 데이터를 각각 인가함으로써 지도(supervised) 방식으로 학습할 수 있다.
오토인코더의 중간 레이어의 노드의 개수는, 입력 레이어의 입력노드 및 출력 레이어의 출력노드의 개수보다 작을 수 있다. 이때, 입력노드와 출력노드 사이의 노드 및 에지의 가중치는, 오토인코더의 학습 과정에 의해 업데이트될 수 있다.
또한, 오토인코더는 입력 데이터와 복원된 데이터(즉, 출력 데이터) 간의 차이에 해당하는 재구성 오류(Reconstruction Error; 이하 RE)를 최소화하는 것을 목표로 원 데이터에 내재되어 있는 패턴들을 학습할 수 있다. 오토인코더를 기반으로 한 이상 탐지 기법들은 이러한 오토인코더의 학습 목표를 역으로 이용한다.
즉, 오토인코더는 극히 적은 빈도로 발생하는 이상 데이터(즉, 이상 상태를 나타내는 검사 대상 장비(300)의 센싱 데이터)의 특징을 제대로 학습하지 못할 것이므로, 오토인코더는 이상 데이터의 원 데이터를 제대로 복원할 수 없게 된다. 따라서, 오토인코더가 복원한 데이터와 원 데이터 간의 차이가 매우 크거나 일정 임계값 이상인 데이터를 출력하는 경우를 감지함으로써, 센싱 데이터의 이상여부(즉, 이상동작여부)를 효과적으로 탐지할 수 있다.
또한, 본 발명의 일 실시예에서는 오토인코더의 이상여부 감지 성능을 극대화하기 위해 오토인코더를 학습시키기 위한 학습 데이터를 정상동작 데이터셋(NDS)으로만 구성할 수 있다. 즉, 오토인코더를 학습시키기 위한 학습 데이터셋은 정상동작 데이터셋(NDS)으로 구성되고, 이상동작 데이터셋(ABDS)의 데이터는 제외하도록 구성될 수 있다.
다른 예로, 오토인코더는 입력값의 이상여부를 탐지하기 위해 다양한 오토인코더 모델 중에서도 시퀀스를 다루기에 가장 적합한 LSTM(Long Short Term Memory) 오토인코더를 사용할 수 있다.
구체적으로, LSTM 오토인코더는 입력값의 이상여부를 탐지하기 위해 다양한 LSTM 오토인코더 모델 중에서도 시계열적으로 연속되는 시퀀스 데이터를 다루기에 가장 적합한 LSTM 오토인코더를 사용할 수 있다. LSTM 오토인코더는 시계열 데이터를 학습하는 딥러닝 모델인 순환 신경망(Recurrent Neural Network; 이하, RNN)에 상태 정보를 지니는 셀 상태(cell state) 개념을 추가하고 상태(state) 계산에 필요한 데이터들을 어느 정도 반영할지 여부를 게이트 연산을 통해 정함으로써 오래된 정보를 유지할 수 있도록 한 모델이다. 참고적으로, RNN은 현재 들어온 입력 데이터와 과거에 입력 받았던 데이터를 학습에 동시에 고려한다.
따라서, LSTM 오토인코더는 RNN으로 구성될 수 있다. LSTM 오토인코더는 여러 게이트(gate)가 붙어있는 셀(cell)로 이루어질 수 있으며, 해당 셀에 연결된 게이트의 값 또는 가중치를 확인하여 어떤 값을 저장할지, 언제 정보를 내보내거나 삭제할지를 결정한다. 각 셀 마다 이 가중치 값을 학습함으로써 학습 성능을 높일 수 있다.
또 다른 예로, 본 발명의 인코더(20)와 디코더(30)는 CNN(Convolutional Neural Network; 합성곱 신경망)의 네트워크로 구성될 수 있다. 즉, 인코더(20)와 디코더(30)는 합성곱 신경망으로 구성될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니며, 오토인코더는 다른 인공신경망 네트워크(예를 들어, DNN, GNN)를 채용하거나, 다른 구성요소를 추가하여 동작할 수 있음은 물론이다. 다만, 이하에서는 설명의 편의를 위하여 오토인코더가 합성곱 신경망(CNN)을 갖는 것을 예로 들어 설명하도록 한다.
다시 도 5를 참조하면, 본 발명의 일 실시예에 따른 오토인코더는, 인코더(20) 및 디코더(30)의 합성곱 신경망의 전단에 배치 정규화 모듈(10)을 구비할 수 있다.
배치 정규화 모듈(10)은, 전술한 바와 같이, 신경망에서 공변량 변화(Covariate shift)로 인하여 나타나는 문제점을 해결하기 위해 정규화(Normalization) 기법을 이용하는데, 정규화(Normalization) 기법을 사용하면서 발생하는 새로운 문제점을 해결하기 위한 기법이다.
구체적으로, 가장 대표적인 정규화 기법 중 하나인 화이트닝(Whitening) 기법은, 각 레이어로 들어가는 입력 데이터의 평균(mean, average)을 '0', 표준편차(standard deviation)를 '1'로 변환시키는 것이다. 다만, 화이트닝 기법은 이전 레이어로부터 학습이 가능한 파라미터의 영향을 무시하도록 동작하므로, 역전파 과정(backpropagation)과 무관하게 진행되어 특정 파라미터가 계속 커지게 되는 현상이 발생할 수 있는 문제가 있다.
배치 정규화 모듈(10)은 전술한 화이트닝 기법의 문제를 해결할 수 있다. 구체적으로, 배치 정규화 모듈(10)은 평균과 분산을 조정하는 과정이 별도의 과정으로 분리된 것이 아니라, 신경망 안에 포함되어 학습 단계에서 평균과 분산을 조정하는 과정을 함께 수행하는 점에서 화이트닝 기법과 구별된다. 즉, 각 레이어마다 정규화하는 레이어를 배치하여, 변형된 분포가 나오지 않도록 조절하는 것이 배치 정규화이다.
배치 정규화는 미리 정해진 크기의 배치(batch)의 평균과 분산을 이용하여 정규화를 수행한 뒤, 스케일 변수(scale factor)와 시프트 변수(shift factor)를 추가하여 학습을 진행한다.
구체적으로, 배치 정규화 모듈(10)은 아래 [수학식 1] 내지 [수학식 4]를 통해 배치 정규화를 수행할 수 있다.
[수학식 1]
[수학식 2]
[수학식 3]
[수학식 4]
여기에서, B는 미리 정해진 단위크기의 배치(batch)를 의미하고, μ는 배치에 대한 입력 데이터(xi)의 평균(average)을 의미하고, σ2는 배치에 대한 분산(variance)을 의미하고, 는 입력 데이터(xi)에 대한 정규화(normalization)된 데이터를 의미하며, 감마(γ)는 스케일 변수(scale factor)를 의미하고, 베타(β)는 시프트 변수(shift factor)를 의미하며, yi는 출력 데이터를 의미한다.
이때, 감마(γ)(즉, 스케일 변수(scale factor))와 베타(β)(즉, 시프트 변수(shift factor))는 학습 가능한 변수 또는 파라미터에 해당한다. 즉, 배치 정규화 모듈(10)은 정규화된 데이터에 감마(γ)와 베타(β)를 추가하여 학습을 수행하고, 오토인코더의 학습 과정에서 감마(γ)와 베타(β)는 역전파 과정을 통해 업데이트 될 수 있다.
도 6을 참조하면, 배치 정규화 모듈(10)은 배치 정규화 레이어(BN layer)와 히든 레이어(Hidden Layer)로 구성되며, 배치 정규화 레이어(BN layer)에는 새로운 파라미터인 감마(γ)와 베타(β)가 할당될 수 있다. 또한, 배치 정규화 모듈(10)의 입력 노드(x1, x2, x3, x4)와 배치 정규화 레이어(BN layer)의 사이에는 제1 가중치(W1)가 할당되고, 히든 레이어(Hidden Layer)와 출력 노드(M1, M2) 사이에는 제2 가중치(W2)가 할당될 수 있다. 다만, 도 6에 개시된 노드의 구성은 하나의 예시에 불과하며 본 발명이 이에 한정되는 것은 아니다. 또한, 배치 정규화 모듈(10)에서 히든 레이어(Hidden Layer)는 복수 개가 구비되거나, 생략되어 실시될 수 있음은 물론이다.
이어서, 인코더(20)는 배치 정규화 모듈(10)에서 출력된 데이터를 입력으로 수신하고, 수신된 데이터의 크기를 축소시킨다. 이때, 인코더(20)는 필터(filter)를 이용하여 입력 데이터를 압축시킨다. 필터는 미리 정해진 단위크기로 구성되며, 입력 데이터와의 합성곱 연산을 통하여 입력 데이터의 특징값(feature)을 도출함으로써 입력 데이터의 크기를 축소시킬 수 있다. 또한, 해당 필터에는 오토인코더의 학습 과정에서 도출된 감마(γ)와 베타(β)가 각각 하나씩 할당되어 이용될 수 있다.
구체적으로, 도 7의 <a1>을 참조하면, 인코더(20)에서 필터와의 합성곱을 위한 입력 데이터로 필터와 동일한 크기의 제1 배치(B1)가 이용된다. 예를 들어, 제1 배치(B1)와 필터(filter)는 상호 연산을 통하여 중간 레이어의 제1 특징값(a)을 도출할 수 있다.
이어서, 도 7의 <a2>을 참조하면, 인코더(20)에서 필터와의 합성곱을 위한 입력 데이터로 필터와 동일한 크기의 제2 배치(B2)가 이용된다. 제2 배치(B2)는 입력 데이터 내에서 제1 배치(B1)와 특정단위크기(St)만큼 이동한 값에 해당한다. 이때, 특정 단위의 크기를 스트라이드(stride)라 하며, 스트라이드의 크기가 클수록 인코더(20)의 입력 데이터는 반비례하여 축소될 수 있다. 예를 들어, 제2 배치(B2)와 필터(filter)는 상호 연산을 통하여 중간 레이어의 제2 특징값(b)을 도출할 수 있다.
이어서, 도 8을 참조하면, 디코더(30)는 인코더(20)에서 압축된 데이터를 다시 복원하여, 입력 데이터가 축소되기 이전 크기로 특징값의 크기를 복원하는 동작을 수행한다.
예를 들어, 중간 레이어의 특징값(a, b)는 필터(filter)와의 상호 연산을 통하여 출력 데이터를 생성할 수 있으며, 이때 각각의 특징값에 대한 결과는 특정단위크기(St)만큼 이동하여 출력 데이터에 반영될 수 있다.
다시 도 5를 참조하면, 오토인코더(131a)의 입력 데이터는 1차원으로 이루어진 시계열 데이터로 구성될 수 있다. 만약, 입력 데이터가 2차원으로 이루어진 시계열 데이터인 경우, 오토인코더(131a)는 2차원 데이터를 1차원을 변형하여 입력 데이터로 이용할 수 있음은 물론이다.
이에 따라, 배치 정규화 모듈(10)는 1차원 시계열 데이터에 대한 배치 정규화를 수행한다. 인코더(20)는 1차원으로 배치 정규화된 데이터를 필터를 이용하여 축소시킨다. 이어서, 디코더(30)는 인코더(20)에서 축소된 데이터를 필터를 이용하여 1차원의 시게열 데이터로 복원한다.
다만, 이러한 오토인코더(131a)의 동작은 학습 단계와 수행 단계로 나누어 동작할 수 있다.
배치 정규화 모듈(10)의 경우, 학습 단계에서는 배치의 평균과 분산을 이용할 수 있으나, 수행 단계에서는 배치의 평균과 분산을 이용할 수 없다. 만약, 수행 단계에서 입력 데이터의 평균과 분산을 이용하는 경우, 배치 정규화가 온전하게 이루어지지 않기 때문이다.
구체적으로, 배치 정규화를 통해 수행하고자 하는 것은 오토인코더가 학습되는 동안 배치 정규화 모듈(10)이 추정한 입력 데이터 분포의 평균과 분산으로 정규화를 하고자 하는 것인데, 수행 단계에 입력되는 값을 통해서 정규화를 하게 되면 배치 정규화 모듈(10)이 학습을 통해서 입력 데이터의 분포를 추정하는 의미 자체가 없어지게 되기 때문이다. 따라서, 수행 단계에서 배치 정규화 모듈(10)는 고정된 평균과 분산을 이용하여 정규화를 수행하게 된다. 즉, 배치 정규화 모듈(10)은 학습 단계와 수행 단계를 구분하여 실시하게 된다.
구체적으로, 배치 정규화 모듈(10)은, 학습 데이터들의 배치(batch)에 대한 복수의 평균을 이용하여 이동 평균(moving average)을 도출한다. 또한, 배치 정규화 모듈(10)은 학습 데이터들의 복수의 분산을 이용하여 분산 평균을 도출한다.
이어서, 수행 단계에서 배치 정규화 모듈(10)은, 미리 저장된 이동 평균 및 분산 평균을 이용하여 오토인코더의 입력 노드에 인가된 입력 데이터를 보정하고, 보정된 데이터를 인코더(20)에 전달할 수 있다.
한편, 도 9를 참조하면, 본 발명의 다른 실시예에서, 오토인코더(131b)는 전술한 배치 정규화 모듈(10)을 인코더(20)와 디코더(30) 사이에 추가적으로 포함할 수 있다. 즉, 오토인코더(131b)는 디코더(30)의 전치 합성곱(transpose convolution) 연산에 앞서 배치 정규화를 추가적으로 실시할 수 있다. 이를 통해 오토인코더(131b)는 배치 정규화를 통해 전술한 역전파 과정에서 발생할 수 있는 문제점을 더욱 효과적으로 개선시킬 수 있다.
즉, 배치 정규화 모듈(10)이 의미하는 배치 정규화를 위한 레이어는 각 합성곱을 위한 레이어의 전단에 각각 배치되어 동작할 수 있다. 다만, 이는 본 발명의 예시에 불과하며 본 발명이 이에 한정되는 것은 아니다.
다시 도 4와 도 10을 참조하면, 데이터베이스부(120)에 저장된 진동 센싱 데이터 중 정상 동작으로 레이블된 진동 센싱 데이터로 구성된 제1 정상동작 데이터셋(NDS1)은 제1 오토인코더(131)에 인가되어 비지도 학습을 수행한다(S110).
이때, 제1 오토인코더(131)는 도 5 내지 도 9를 참조하여 전술한 오토인코더(131a, 131b) 중 어느 하나가 이용될 수 있다.
또한, 제1 오토인코더(131)는 제1 정상동작 데이터셋(NDS1)에 포함된 정상센싱 데이터(NI)를 입력으로 수신하고, 이에 대한 출력으로 정상변환 데이터(NI')를 출력하여 제1 이상판별모듈(141)에 전달한다.
제1 오토인코더(131)는 입력 데이터의 특징을 비지도(unsupervised) 방식으로 학습한다. 즉, 제1 오토인코더(131)가 많은 수의 제1 정상동작 데이터셋(NDS1)으로 학습되는 경우, 제1 오토인코더(131)의 정상동작에 대한 판단 정확도는 높아지게 된다.
이러한 학습 과정을 거친 제1 오토인코더(131)에 정상동작에 대한 센싱 데이터가 인가되는 경우, 제1 오토인코더(131)의 재구성 에러의 크기는 미리 정해진 기준치 이내가 된다.
이때, 제1 이상판별모듈(141)은 제1 오토인코더(131)의 학습 과정에서 제1 오토인코더(131)에 대한 재구성 에러를 산출하고, 이를 기초로 이상동작여부를 판단하는데 이용되는 기준치를 설정할 수 있다.
여기에서, 이상동작여부를 판단하는 기준치는 학습 과정에서 제1 정상동작 데이터셋(NDS1)을 제1 오토인코더(131)에 인가했을 때 제1 이상판별모듈(141)에서 도출된 재구성 에러의 최대치일 수 있고, 이를 수식으로 표현하면 [수학식 5]과 같다.
[수학식 5]
여기에서,
Figure pat00007
는 정상동작여부를 판단하는 미리 정해진 기준치를 의미하고,
Figure pat00008
는 오토인코더의 입력 데이터를 의미하고,
Figure pat00009
는 오토인코더의 출력 데이터를 의미한다.
이어서, 미리 학습된 제1 오토인코더(131)는 진동 센서(210)에서 감지한 센싱 데이터(SI)를 입력으로 수신하고, 이에 대한 출력으로 복원 데이터(SI')를 출력한다(S120).
이어서, 제1 이상판별모듈(141)은 진동 센서(210)에서 감지한 센싱 데이터(SI)와, 제1 오토인코더(131)에서 출력된 복원 데이터(SI')를 입력 받는다.
이어서, 제1 이상판별모듈(141)은 입력받은 데이터 간의 차이인 재구성 에러를 산출하고, 산출된 재구성 에러가 학습 단계에서 미리 정해진 기준치보다 작은지 여부를 기초로 제1 이상동작여부를 판단한다(S130).
만약, 산출된 재구성 에러가 미리 정해진 기준치보다 작은 경우, 제1 이상판별모듈(141)은 제1 오토인코더(131)에 인가된 센싱 데이터(SI)의 대상이 되는 검사 대상 장비(300)가 정상동작을 수행하고 있다고 판단할 수 있다.
반면, 산출된 재구성 에러가 미리 정해진 기준치보다 큰 경우, 제1 이상판별모듈(141)은 제1 오토인코더(131)에 인가된 센싱 데이터(SI)의 대상이 되는 검사 대상 장비(300)가 이상동작을 수행하고 있다고 판단할 수 있다.
즉, 제1 이상판별모듈(141)은 진동 센서(210)에서 측정된 제1 센싱 데이터(SD1)에 대하여, 미리 학습된 상기 제1 오토인코더(131)의 입출력값의 차이가 미리 정해진 기준치보다 큰지 여부를 비교하여, 검사 대상 장비(300)의 이상유무를 판단하고, 이에 대한 값인 제1 이상동작여부를 출력할 수 있다.
추가적인 실시예로, 도면에는 명확하게 도시하지는 않았으나, 본 발명의 또 다른 실시예에서, 제1 이상판별모듈(141)은 뉴럴 네트워크를 이용한 머신 러닝을 통하여 입력된 센싱 데이터의 이상 여부를 판단할 수 있다. 이때, 제1 이상판별모듈(141)은 학습 인자로 입력되는 파라미터들(예를 들어, 오토인코더의 입력 데이터 및 출력 데이터)에 대하여 머신 러닝(Machine Learning)을 수행할 수 있다. 데이터베이스부(120)에는 제1 이상판별모듈(141)의 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.
또한, 제1 이상판별모듈(141)의 인공신경망 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트 시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(Back Propagation) 등의 방법이 사용될 수 있다.
즉, 제1 이상판별모듈(141)은 도출된 파라미터에 대한 모델링 데이터를 입력 데이터로 하는 머신 러닝(machine learning) 기반의 이상동작여부 판단 동작을 수행할 수 있다. 이때, 인공신경망의 머신 러닝 방법으로는 비지도학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다. 예를 들어, 지도학습의 경우, 제1 이상판별모듈(141)에 입력단에는 오토인코더의 입력 데이터 및 출력 데이터가 인가되고, 출력단에는 검사 대상 장비(300)의 이상동작여부가 인가됨으로써, 제1 이상판별모듈(141)에 포함된 인공신경망의 학습이 이루어질 수 있다. 다만, 이는 하나의 예시에 불과하고 본 발명이 이에 한정되는 것은 아니다.
한편, 이하에서는 음향 센서(220)로부터 수신한 음향 센싱 데이터를 기초로 이상동작여부를 판단하는 제2 이상동작 탐지모델(M2)에 대해 설명하도록 한다.
도 11은 도 3의 음향 센서에 대한 제2 이상동작 탐지모델의 데이터 흐름을 나타내는 블록도이다. 도 12는 도 11의 노이즈 제거 모듈의 구성 및 동작 방법을 설명하기 위한 블록도이다. 도 13은 도 11의 제2 이상동작 탐지모델의 동작 방법을 설명하기 위한 순서도이다.
도 11을 참조하면, 제2 이상동작 탐지모델(M2)은, 학습부(130)의 노이즈 제거모듈(132) 및 제2 오토인코더(132)와 파라미터 이상 판별부(140)의 제2 이상판별모듈(143)로 구성된다.
우선, 도 12를 참조하면, 노이즈 제거모듈(132)은, 변환 모듈(132a), 학습 모듈(132b), 1차원 오토인코더(132c)를 포함한다.
구체적으로, 변환 모듈(132a)은 소리(예를 들어, 학습 노이즈 데이터, 학습 정상 음향 데이터, 음향 데이터 및 측정 음향 데이터)를 전기 신호(예: 제1 학습 데이터, 제2 학습 데이터, 제1 측정 데이터 및 제2 측정 데이터)로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다.
이때, 변환 모듈(132a)은 예를 들어, 단시간 푸리에 변환(Short Time Fourier Transform; STFT)에 기반하여, 제1 학습 데이터를 생성할 수 있다.
여기에서, 단시간 푸리에 변환(STFT)은 시간에 따라 변화하는 긴 신호를 짧은 시간 단위로 분할한 다음에 푸리에 변환을 적용하는 것을 의미한다. 결과적으로 단시간 푸리에 변환을 이용하는 경우, 각 시간 구간마다 어떤 주파수들이 존재하는지 알 수 있다. 단시간 푸리에 변환에 대한 자세한 내용은 이미 공개되어 있으므로 여기에서 자세한 내용은 생략하도록 한다.
변환 모듈(132a)은 단시간 푸리에 변환을 이용해 학습 노이즈 데이터 및 학습 정상 음향 데이터를 각각 이미지 데이터로 변환 후 합성하여, 제1 학습 데이터를 생성할 수 있다. 보다 구체적으로, 변환 모듈(132a)은 단시간 푸리에 변환을 이용해 학습 노이즈 데이터 및 학습 정상 음향 데이터를 다양한 주파수를 갖는 주기 함수로 분해하고 이를 합산하여 스펙트로그램(Spectrogram)으로 변환함으로써, 제1 학습 데이터를 생성할 수 있다.
또한, 변환 모듈(132a)은 단시간 푸리에 변환을 이용해 학습 정상 음향 데이터를 제2 학습 데이터로 변환할 수 있다. 변환 모듈(132a)은 단시간 푸리에 변환을 이용해 학습 정상 음향 데이터를 다양한 주파수를 갖는 주기 함수로 분해하고 이를 합산하여 스펙트로그램으로 변환함으로써, 제2 학습 데이터를 생성할 수 있다.
학습 모듈(132b)은 생성된 제1 학습 데이터 및 제2 학습 데이터를 1차원 오토인코더(132c)의 입출력노드에 각각 인가하여 1차원 오토인코더(132c)를 학습시킬 수 있다.
1차원 오토인코더(132c)는 입력노드에 인가된 데이터를 배치 정규화시키는 배치 정규화 모듈과, 배치 정규화된 데이터의 크기를 축소시키는 인코더와, 인코더의 신경망에서 축소된 데이터를 입력노드에 인가된 입력 데이터와 동일한 크기로 변환하여 출력노드를 통해 출력하는 디코더를 포함할 수 있다. 1차원 오토인코더(132c)의 구조는 도 5 내지 도 9를 참조하여 전술한 몇몇 실시예에 따른 제1 오토인코더(131)의 따른 구조와 실질적으로 동일할 수 있다. 따라서, 여기에서 중복되는 설명은 생략하도록 한다.
학습 모듈(132b)은 제1 학습 데이터를 1차원 오토인코더(132c)의 입력노드에 인가하고, 제2 학습 데이터를 1차원 오토인코더(132c)의 출력노드에 인가하여 1차원 오토인코더(132c)를 학습시킬 수 있다. 학습된 1차원 오토인코더(132c)는, 노이즈를 포함하는 음향 데이터에서 노이즈를 제거하는 필터로써 동작할 수 있다.
이어서, 변환 모듈(132a)는, 외부로부터 수신되는 1차원의 음향 데이터(즉, 음향 센싱 데이터(SD2))를 단시간 푸리에 변환을 이용해 주파수 영역으로 변환함으로써 다차원의 제1 측정 데이터를 생성할 수 있다.
이어서, 변환 모듈(132a)에서 출력된 제1 측정 데이터는 미리 학습된 1차원 오토인코더(132c)의 입력노드에 인가될 수 있다.
이어서, 학습된 1차원 오토인코더(132c)는 제1 측정 데이터에서 노이즈가 제거된 다차원의 제2 측정 데이터를 출력한다.
이어서, 변환 모듈(132a)은 1차원 오토인코더(132c)에서 출력된 제2 측정 데이터를 1차원의 측정 음향 데이터(즉, 도 11의 SI)로 변환할 수 있다. 즉, 변환 모듈(132a)은 단시간 푸리에 역변환을 이용하여, 학습된 1차원 오토인코더(132c)의 출력노드에서 출력된 제2 측정 데이터를 측정 음향 데이터로 변환할 수 있다.
다시 도 11을 참조하면, 데이터베이스부(120)에 저장된 음향 센싱 데이터 중 정상 동작으로 레이블된 센싱 데이터로 구성된 제2 정상동작 데이터셋(NDS2)은 제2 오토인코더(133)에 인가되어 비지도 학습을 수행한다.
제2 오토인코더(133)는 제2 정상동작 데이터셋(NDS2)에 포함된 정상센싱 데이터(NI)를 입력으로 수신하고, 이에 대한 출력으로 정상변환 데이터(NI')를 출력하여 제2 이상판별모듈(143)에 전달한다. 이때, 제2 오토인코더(133)에 전달되는 데이터는 전술한 노이즈 제거 모듈(132)을 통하여 노이즈가 제거된 센싱 데이터일 수 있다.
이때, 제2 오토인코더(133)는 입력 데이터의 특징을 비지도(unsupervised) 방식으로 학습한다. 즉, 제2 오토인코더(133)가 많은 수의 제2 정상동작 데이터셋(NDS2)으로 학습되는 경우, 제2 오토인코더(133)의 정상동작에 대한 판단 정확도는 높아지게 된다.
이러한 학습 과정을 거친 제2 오토인코더(133)에 정상동작에 대한 음향 센싱 데이터가 인가되는 경우, 제2 오토인코더(133)의 재구성 에러의 크기는 미리 정해진 기준치 이내가 된다.
제2 이상판별모듈(143)은 제2 오토인코더(133)의 학습 과정에서 제2 오토인코더(133)에 대한 재구성 에러를 산출하고, 이를 기초로 이상동작여부를 판단하는데 이용되는 기준치를 설정할 수 있다. 이때 기준치는 전술한 [수학식 1]을 이용하여 도출할 수 있으며, 중복되는 설명은 생략하도록 한다.
추가로, 제2 오토인코더(133)에는 다양한 구조의 오토인코더가 적용될 수 있으며, 이는 전술한 제1 오토인코더(131)의 구조와 실질적으로 동일할 수 있다.
이어서, 미리 학습된 제2 오토인코더(133)는 음향 센서(212)에서 감지한 센싱 데이터(SI)를 입력으로 수신하고, 이에 대한 출력으로 복원 데이터(SI')를 출력한다.
이어서, 제2 이상판별모듈(143)은 음향 센서(212)에서 감지한 센싱 데이터(SI)와, 제2 오토인코더(133)에서 출력된 복원 데이터(SI')를 입력 받는다.
이때, 제2 오토인코더(133)와 제2 이상판별모듈(143)에 전달되는 데이터는 전술한 노이즈 제거 모듈(132)을 통하여 노이즈가 제거된 센싱 데이터일 수 있다.
이어서, 제2 이상판별모듈(143)은 입력받은 데이터 간의 차이인 재구성 에러를 산출하고, 산출된 재구성 에러가 학습 단계에서 미리 정해진 기준치보다 작은지 여부를 기초로 제2 이상동작여부를 판단한다.
만약, 산출된 재구성 에러가 미리 정해진 기준치보다 작은 경우, 제2 이상판별모듈(143)은 제2 오토인코더(133)에 인가된 센싱 데이터(SI)의 대상이 되는 검사 대상 장비(300)가 정상동작을 수행하고 있다고 판단할 수 있다.
반면, 산출된 재구성 에러가 미리 정해진 기준치보다 큰 경우, 제2 이상판별모듈(143)은 제2 오토인코더(133)에 인가된 센싱 데이터(SI)의 대상이 되는 검사 대상 장비(300)가 이상동작을 수행하고 있다고 판단할 수 있다.
즉, 제2 이상판별모듈(143)은 음향 센서(220)에서 측정된 제2 센싱 데이터(SD2)에 대하여, 미리 학습된 상기 제2 오토인코더(133)의 입출력값의 차이가 미리 정해진 기준치보다 큰지 여부를 비교하여, 검사 대상 장비(300)의 이상유무를 판단하고, 이에 대한 값인 제2 이상동작여부를 출력할 수 있다.
도 13을 참조하여 제2 이상동작 탐지모델(M2)의 동작 방법을 설명하면, 학습 노이즈 데이터 및 학습 정상 음향 데이터에 기반하여, 제1 학습 데이터를 생성한다(S210).
이어서, 학습 정상 음향 데이터에 기반하여, 제2 학습 데이터를 생성한다(S220).
이어서, 제1 학습 데이터를 입력으로 인가하고, 제2 학습 데이터를 출력으로 인가하여, 1차원 오토인코더(132c)를 지도학습한다(S230).
이어서, 지도학습된 1차원 오토인코더(132c)를 이용하여, 새로이 입력된 음향 센싱 데이터의 노이즈를 제거한 측정 음향 데이터를 생성한다(S240).
이어서, 제2 정상동작 데이터셋(NDS2)을 이용하여 미리 학습된 제2 오토인코더(133)를 이용하여 검사 대상 장비(300)의 제2 이상동작여부를 판단한다(S250). 여기에서, 제2 오토인코더(133)를 학습하는데 이용되는 제2 정상동작 데이터셋(NDS2)도 1차원 오토인코더(132c)를 통하여 노이즈가 제거된 이후에 제2 오토인코더(133)에 인가될 수 있다.
정리하면, 제2 이상동작 탐지모델(M2)에 적용된 노이즈 제거 모듈(132)은, 1차원 오토인코더(132c)의 지도학습을 통하여 입력되는 음향 데이터의 노이즈를 제거하는 전처리 동작을 수행할 수 있고, 이를 통해 제2 이상동작 탐지모델(M2)의 이상동작판단에 대한 정확도를 향상시킬 수 있다.
이하에서는 모션 센서(230)로부터 수신한 동작 이미지를 기초로 이상동작여부를 판단하는 제3 이상동작 탐지모델(M3)에 대해 설명하도록 한다.
도 14는 도 3의 모션 센서에 대한 제3 이상동작 탐지모델의 데이터 흐름을 나타내는 블록도이다. 도 15는 도 14의 제3 이상판별모듈을 나타내는 블록도이다.
도 14을 참조하면, 데이터베이스부(120)에 미리 저장된 검사 대상 장비(300)에 관한 제3 정상동작 데이터셋(NDS3)은 제3 오토인코더(135)에 인가될 수 있다. 제3 오토인코더(135)는 제3a 오토인코더(135a) 및 제3b 오토인코더(135b)를 포함할 수 있다.
이어서, 제3a 오토인코더(135a) 및 제3b 오토인코더(135b)에서 동작 이미지(즉, 모션 센싱 데이터)를 입력으로 출력된 변환 이미지는 제3 이상판별모듈(145)에 전달될 수 있다.
한편, 이상 데이터 생성부(125)는 데이터베이스부(120)에 저장된 제3 정상동작 데이터셋(NDS3)을 이용하여 이상동작 데이터셋(ABDS)을 생성할 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니며, 이상 데이터 생성부(125)는 외부에서 수신한 임의의 이미지를 이용하여 이상동작 데이터셋(ABDS)를 생성할 수 있다.
이상 데이터 생성부(125)에서 생성된 제3 이상동작 데이터셋(ABDS)은 데이터베이스부(120)에 저장될 수 있으며, 제3 이상동작 데이터셋(ABDS)은 제3 이상판별모듈(145)에 전달될 수 있다.
이때, 제3 이상판별모듈(145)에 전달되는 데이터는 학습부(130)를 통해 전달될 수 있다. 즉, 데이터베이스부(120)에 저장된 제3 정상동작 데이터셋(NDS3) 또는 제3 이상동작 데이터셋(ABDS)와, 제3a 오토인코더(135a) 및 제3b 오토인코더(135b)의 출력으로 도출된 변환 이미지는 학습부(130)를 통해 제3 이상판별모듈(145)의 입력 노드에 인가될 수 있다. 또한, 제3 이상판별모듈(145)의 출력 노드에는, 제3 이상판별모듈(145)의 입력 노드에 인가된 데이터에 대응되는 이상 동작 여부에 대한 값이 인가될 수 있다.
구체적으로, 도 15를 참조하면, 제3 이상판별모듈(145)는 비교 대상이 되는 이상여부 판단대상이 되는 동작 이미지와, 해당 동작 이미지를 입력으로 제3a 오토인코더(135a) 또는 제3b 오토인코더(135b)에서 출력된 복원 이미지를 입력노드로 하는 입력 레이어(input)와, 이상여부판단에 관한 값을 출력노드로 하는 출력 레이어(Output)와, 입력 레이어와 출력 레이어 사이에 배치되는 M 개의 히든 레이어를 포함한다.
여기서 각 레이어들의 노드를 연결하는 에지(edge)에는 가중치가 설정될 수 있다. 이러한 가중치 혹은 에지의 유무는 학습 과정에서 추가, 제거, 또는 업데이트 될 수 있다. 따라서, 학습 과정을 통하여, k개의 입력노드와 i개의 출력노드 사이에 배치되는 노드들 및 에지들의 가중치는 업데이트될 수 있다.
제3 이상판별모듈(145)가 학습을 수행하기 전에는 모든 노드와 에지는 초기값으로 설정될 수 있다. 그러나, 누적하여 정보가 입력될 경우, 노드 및 에지들의 가중치는 변경되고, 이 과정에서 학습인자로 입력되는 파라미터들(즉, 동작 이미지 및 복원 이미지)과 출력노드로 할당되는 값(즉, 이상여부판단에 관한 값) 사이의 매칭이 이루어질 수 있다.
추가적으로, 이상 탐지 장치(100)에서 클라우드 서버(미도시)를 이용하는 경우, 제3 이상판별모듈(145)는 많은 수의 파라미터들을 수신하여 처리할 수 있다. 따라서, 제3 이상판별모듈(145)는 방대한 데이터에 기반하여 학습을 수행할 수 있다.
또한, 제3 이상판별모듈(145)를 구성하는 입력노드와 출력노드 사이의 노드 및 에지의 가중치는 제3 이상판별모듈(145)의 학습 과정에 의해 업데이트될 수 있다. 제3 이상판별모듈(145)에서 출력되는 이상여부판단에 관한 값은 검사 대상 장비(300)의 이상여부 및 이상부위를 도출하는데 이용될 수 있다. 이때, 제3 이상판별모듈(145)에서 출력되는 제3 이상여부판단에 관한 값은 0 내지 1 사이의 확률값, Grad-CAM(Gradient-weighted CAM) 이미지, 및 CAM(Class Activation Mapping) 이미지 중 어느 하나를 포함할 수 있다. 이에 대한 자세한 설명은 도 20 및 도 21를 참조하여 후술하도록 한다.
이하에서는, 학습 데이터셋을 이용하여 제3 이상판별모듈(145)를 학습시키는 동작에 대해 자세히 살펴보도록 한다.
도 16 및 도 17은 학습 데이터셋을 이용하여 제3 이상판별모듈을 학습시키는 동작을 설명하기 위한 도면이다. 이하에서는, 전술한 내용과 중복되는 내용은 생략하고 차이점을 위주로 기술하도록 한다.
우선 도 16은 제3 정상동작 데이터셋(NDS3)을 이용하여 제3 이상판별모듈(145)를 학습하는 동작을 나타낸다.
도 16을 참조하면, 데이터베이스부(120)에 저장된 동작 이미지 중 정상 동작으로 레이블된 동작 이미지로 구성된 제3 정상동작 데이터셋(NDS3)은 제3a 오토인코더(135a)에 인가된다. 이때, 제3a 오토인코더(135a)는 제3 정상동작 데이터셋(NDS3)에 포함된 정상동작 이미지(NI1)를 입력으로 수신하고, 이에 대한 출력으로 제1 정상변환 이미지(NI1a)를 출력하여 제3 이상판별모듈(145)에 전달한다.
이어서, 제3 이상판별모듈(145)의 입력 노드에는 제3a 오토인코더(135a)의 입력으로 인가된 정상동작 이미지(NI1)와, 제3a 오토인코더(135a)에서 출력된 제1 정상변환 이미지(NI1a)가 인가된다.
또한, 제3 이상판별모듈(145)의 출력 노드에는 제3 이상판별모듈(145)에 입력된 데이터의 이상여부판단에 관한 값이 인가된다. 이때, 제3 이상판별모듈(145)의 입력 노드에 정상동작 이미지(NI1)와 이에 대한 제1 정상변환 이미지(NI1a)가 인가되었기에, 출력 노드에는 정상 상태를 나타내는 값(예를 들어, '1')이 인가될 수 있다.
이어서, 제3 이상판별모듈(145)에서는 입력 노드와 출력 노드에 인가된 값에 의해서 정상동작에 대한 지도학습(supervised learning)이 이루어지고, 이에 따라, 제3 이상판별모듈(145)에 포함된 뉴럴 네트워크(예를 들어, CNN)를 구성하는 각 노드 간 웨이트(weight) 값은 업데이트 될 수 있다.
반면, 도 17은 제3 이상동작 데이터셋(ABDS)을 이용하여 제3 이상판별모듈(145)을 학습하는 동작을 나타낸다.
도 17을 참조하면, 데이터베이스부(120)에 저장된 동작 이미지 중 정상 동작으로 레이블된 동작 이미지로 구성된 제3 정상동작 데이터셋(NDS3)은 제3b 오토인코더(135b)에 인가된다. 제3b 오토인코더(135b)는 제3 정상동작 데이터셋(NDS3)에 포함된 정상동작 이미지(NI1)를 입력으로 수신하고, 이에 대한 출력으로 제2 정상변환 이미지(NI1b)를 출력하여 제3 이상판별모듈(145)에 전달한다.
이때, 제3b 오토인코더(135b)는, 제3a 오토인코더(135a)와 실질적으로 동일한 구조 및 동작방식을 지니나, 제3a 오토인코더(135a)보다 적은 횟수로 사전학습이 수행된다. 따라서, 제3b 오토인코더(135b)에서 출력된 제2 정상변환 이미지(NI1b)는 제3a 오토인코더(135a)에서 출력된 제1 정상변환 이미지(NI1a) 보다 품질이 낮을 수 있다.
이어서, 제3 이상판별모듈(145)의 입력 노드에는 제3b 오토인코더(135b)에서 출력된 제2 정상변환 이미지(NI1b)와, 제3 이상동작 데이터셋(ABDS)에 포함된 이상동작 이미지(ABI)가 인가된다.
또한, 제3 이상판별모듈(145)의 출력 노드에는 제3 이상판별모듈(145)에 입력된 데이터의 이상여부판단에 관한 값이 인가된다. 이때, 제3 이상판별모듈(145)의 입력 노드에 제1 정상변환 이미지(NI1a)와 이상동작 이미지(ABI)가 인가되었기에, 출력 노드에는 이상 상태(즉, 비정상 상태)를 나타내는 값(예를 들어, '0')이 인가될 수 있다.
따라서, 제3 이상판별모듈(145)는 입력 노드와 출력 노드에 인가된 값에 의해서 이상동작에 대한 지도학습(supervised learning)이 이루어지고, 이에 따라, 제3 이상판별모듈(145)에 포함된 뉴럴 네트워크(예를 들어, CNN)를 구성하는 각 노드 간 웨이트(weight) 값은 업데이트 될 수 있다.
이를 통해, 제3 이상판별모듈(145)는 입력 노드에 인가된 데이터들의 이상여부판단에 관한 값(즉, 제3 이상동작여부)을 출력할 수 있으며, 이때 출력되는 값의 이상판단에 대한 정확도는 학습이 진행될수록 높아질 수 있다.
실제 검사 대상 장비의 운용사례에서는 제3 정상동작 데이터셋(NDS3)의 수가 제3 이상동작 데이터셋(ABDS)의 수보다 압도적으로 많은 경우가 대부분이기에, 제3 이상판별모듈(145)에서 출력되는 이상여부판단의 정확도를 향상시키기 위해서는 충분한 수의 제3 이상동작 데이터셋(ABDS)를 확보하는 것이 중요하다.
다만, 제3 이상동작 데이터셋(ABDS)를 의도적으로 생성하는 것은 상당한 시간과 노력이 요구되기에, 본 발명의 이상 데이터 생성부(125)는 제3 정상동작 데이터셋(NDS3) 또는 다른 외부 데이터(또는, 이미지)를 기초로 제3 이상동작 데이터셋(ABDS)를 생성하여 제3 이상판별모듈(145)의 학습에 이용한다. 이하에서는, 제3 이상동작 데이터셋(ABDS)을 생성하는 이상 데이터 생성부(125)의 동작에 대해 자세히 살펴보도록 한다.
도 18은 도 15의 이상 데이터 생성부에서 이상동작 데이터셋을 생성하는 동작을 설명하기 위한 블록도이다.
도 18을 참조하면, 이상 데이터 생성부(125)는 전술한 제3a 오토인코더(135a) 및 제3b 오토인코더(135b)를 이용하여 제3 이상동작 데이터셋(ABDS)를 생성한다. 전술한 바와 같이, 제3b 오토인코더(135b)는 제3a 오토인코더(135a)보다 적은 수의 동작 데이터셋을 이용하여 학습될 수 있다.
우선, 이상 데이터 생성부(125)는 복수의 랜덤 이미지(random image)를 제3b 오토인코더(135b)에 각각 인가하여 변환 이미지를 출력한다. 이때, 랜덤 이미지는 제3 정상동작 데이터셋(NDS3)에 포함된 정상동작 이미지거나, 외부에서 수집된 별개의 이미지 일 수 있다.
예를 들어, 제1 랜덤 이미지(RI1)은 제3b 오토인코더(135b)에 인가되고, 이에 대한 출력으로 제1 변환 이미지(RI1b)가 출력될 수 있다. 또한, 제2 랜덤 이미지(RI2)은 제3b 오토인코더(135b)에 인가되고, 이에 대한 출력으로 제2 변환 이미지(RI2b)가 출력될 수 있다. 이때, 제1 랜덤 이미지(RI1)와 제2 랜덤 이미지(RI2)는 서로 다른 방식으로 선정될 수 있으며, 제1 랜덤 이미지(RI1)와 제2 랜덤 이미지(RI2)는 서로 다른 이미지일 수 있다.
이어서, 이상 데이터 생성부(125)는 제3b 오토인코더(135b)에서 각각 출력된 변환 이미지를 병합하여 중간 이미지(MI)를 생성한다. 예를 들어, 이상 데이터 생성부(125)는 제1 변환 이미지(RI1b)와 제2 변환 이미지(RI2b)를 병합하여 중간 이미지(MI)를 생성할 수 있다. 이때, 이상 데이터 생성부(125)는 병합 로직으로 이미지 데이터의 평균값(average value)을 이용할 수 있다. 다만, 병합 로직은 평균에 한정되는 것은 아니며, 다른 다양한 연산 로직이 이용될 수 있음은 물론이다.
이어서, 이상 데이터 생성부(125)는 제3a 오토인코더(135a)에 중간 이미지(MI)를 입력하고, 이에 대한 출력으로 이상동작 이미지(ABI; 또는, MIa)를 생성할 수 있다.
이를 통해, 제3 이상동작 데이터셋(ABDS)을 구성하는 이상동작 이미지(ABI)에는 제3b 오토인코더(135b)의 특성과 제3a 오토인코더(135a)의 특성이 부여될 수 있다. 본 발명의 이상 탐지 장치(100)는 전술한 과정을 통해 많은 수의 제3 이상동작 데이터셋(ABDS)을 생성하여 이용할 수 있다.
도 19는 이상 탐지 장치에서 동작시 발생되는 데이터의 예시를 나타내는 도면이다.
도 19를 참조하면, <NI1>은 제3 정상동작 데이터셋(NDS3)에 포함된 정상동작 이미지를 나타내고, <NI1a>는 정상동작 이미지를 입력으로 제3a 오토인코더(135a)에서 출력된 제1 정상변환 이미지를 나타낸다. 전술한 바와 같이, 제3 이상판별모듈(145)는 검사 대상 장비(300)의 정상동작에 대해, <NI1>의 이미지 및 <NI1a>의 이미지와, 정상동작을 나타내는 값을 이용하여 학습될 수 있다.
한편, <NI1b>는 정상동작 이미지를 입력으로 제3b 오토인코더(135b)에서 출력된 제2 정상변환 이미지를 나타내고, <MI>는 이상 데이터 생성부(125)에서 복수의 랜덤 이미지를 기초로 생성된 중간 이미지를 나타낸다. <ABI>는 이상 데이터 생성부(125)에서 생성된 이상동작 이미지를 나타낸다. 마찬가지로 전술한 바와 같이, 제3 이상판별모듈(145)는 검사 대상 장비(300)의 이상동작에 대해, <NI1b>의 이미지 및 <ABI>의 이미지와, 이상동작을 나타내는 값을 이용하여 학습될 수 있다.
이하에서는, 전술한 과정을 통하여 도출된 데이터셋을 이용하여 학습된 제3 이상판별모듈(145)를 이용하여 검사 대상 장비(300)의 제3 이상동작여부를 판단하는 방법에 대해 도 20 및 도 21를 참조하여 설명하도록 한다.
도 20은 본 발명의 일 실시예에 따른 제3 이상동작 탐지모델에서 이상여부판단을 위한 동작을 설명하기 위한 블럭도이다. 도 21은 본 발명의 다른 실시예에 따른 제3 이상동작 탐지모델에서 이상여부판단을 위한 동작을 설명하기 위한 블럭도이다.
도 20을 참조하면, 제3 이상동작 탐지모델(M3)은 검사 대상 장비(300)에 대한 이상동작여부를 판단할 대상 이미지를 수신한다. 여기에서, 대상 이미지는 현재 검사 대상 장비(300)의 상태를 모션 센서(230)를 통해 촬영한 이미지 또는 모션 센싱 데이터일 수 있다.
이때, 제3 이상동작 탐지모델(M3)은 제3a 오토인코더(135a) 또는 제3b 오토인코더(135b)와, 전술한 방법으로 미리 학습된 제3 이상판별모듈(145)를 이용하여 대상 이미지의 이상여부를 판단할 수 있다.
제3 이상판별모듈(145)는 검사 대상 장비(300)에 관한 대상 이미지와, 대상 이미지를 입력으로 제3a 오토인코더(135a) 또는 제3b 오토인코더(135b)에서 출력한 복원 이미지를 입력받는다.
이어서, 제3 이상판별모듈(145)는 대상 이미지와 복원 이미지에 대한 출력으로 이상여부판단에 관한 값을 출력한다.
여기에서, 이상여부판단에 관한 값은, 0 내지 1 사이의 확률값, Grad-CAM(Gradient-weighted CAM) 이미지, 및 CAM(Class Activation Mapping) 이미지 중 어느 하나를 포함할 수 있다.
본 발명의 일 실시예에서, 이상여부판단에 관한 값이 0 내지 1 사이의 확률값인 경우, 제3 이상동작 탐지모델(M3)의 제어부(160)는 확률값이 미리 정해진 기준값보다 큰지 여부를 판단한다.
만약, 이상여부판단에 관한 값이 기준값보다 큰 경우, 제어부(160)는 검사 대상 장비(300)에 대한 대상 이미지가 정상(즉, 정상동작상태)이라고 판단할 수 있다. 반대로, 이상여부판단에 관한 값이 기준값보다 작은 경우, 제어부(160)는 검사 대상 장비(300)에 대한 대상 이미지가 비정상(즉, 이상동작상태)이라고 판단할 수 있다.
본 발명의 다른 실시예에서, 이상여부판단에 관한 값은 이미지 형태로 출력될 수 있다. 이때, 출력되는 이미지는 검사 대상 장비(300)의 이상 탐지를 위한 이미지(이하, 이상 탐지 이미지)로, 예를 들어, Grad-CAM 이미지 또는 CAM 이미지 일 수 있다. 이하에서는 설명의 편의를 위하여 이상 탐지 이미지가 'Grad-CAM 이미지'인 것을 예로 들어 설명하도록 한다.
도 21을 참조하면, Grad-CAM 이미지는 제3 이상판별모듈(145)에 포함되어 학습부(130)에 의해 미리 학습된 뉴럴 네트워크를 이용하여 생성된다.
구체적으로, 검사 대상 장비(300)의 대상 이미지와 복원 이미지가 뉴럴 네트워크에 인가된다(S11).
이어서, 뉴럴 네트워크에 마지막 레이어의 CAM(Class Activation Map)을 계산한다. 이때, CAM은 마지막 레이어의 전체 필터를 추출한 뒤, 각 필터가 이상동작여부 판단에 얼마나 영향을 주었는지에 대한 가중치(weight)를 산출하고, 이를 기초로 각 노드에 대한 복수의 히트맵(HeatMap)을 생성한다(S12).
이어서, 생성된 복수의 히트맵을 픽셀-와이즈썸(Pixel-wise Sum)을 이용하여 병합한다(S13)
이어서, 병합된 이미지에 ReLU 함수를 적용시킴으로써, 양의 가중치를 갖는 부분을 선별한다(S14).
참고로, Grad CAM 이미지를 도출하는 방법에 대한 자세한 내용은 이미 공지되어 있는 바, 여기에서 자세한 내용은 생략하도록 한다. 또한, 이상 탐지 이미지를 도출하는 데에 있어, 다양한 공지된 방법이 적용될 수 있음은 통상의 기술자에게 자명하다.
위 S11 내지 S14 단계를 통해 도출된 이상 탐지 이미지는, 검사 대상 장비(300)의 이상여부 뿐만 아니라, 이상부위에 대한 정보도 함께 포함할 수 있다.
이를 통해, 본 발명의 제3 이상동작 탐지모델(M3)은 검사 대상 장비(300)의 이상여부 뿐만 아니라 이상부위까지 함께 판단할 수 있으므로, 검사 대상 장비(300)에 대한 빠른 수리 및 유지보수가 가능하다. 따라서, 본 발명은 기계장비 유지보수에 필요한 리소스를 최소화할 수 있으며, 제품생산라인이 기계 오작동으로 인하여 중단됨에 따라 발생할 수 있는 손해를 최소화할 수 있다.
도 22는 도 15의 제3 이상동작 탐지모델의 동작 방법을 설명하기 위한 순서도이다. 이하에서는 이상 탐지 방법의 동작주체가 제3 이상동작 탐지모델(M3)인 것을 예로 들어 설명하도록 한다. 또한, 이하에서는 전술한 내용과 중복되는 내용은 생략하여 기술하도록 한다.
도 22를 참조하면, 제3 이상동작 탐지모델(M3)은 데이터베이스부(120)에 미리 저장된 제3 정상동작 데이터셋(NDS3)을 기초로 제3a 오토인코더(135a) 및 제3b 오토인코더(135b)를 서로 다른 횟수로 학습시킨다(S310). 이때, 제3 이상동작 탐지모델(M3)은 제3a 오토인코더(135a)의 학습 횟수가 제3b 오토인코더(135b)보다 많아지도록 할 수 있다.
이어서, 제3 이상동작 탐지모델(M3)은 제3a 오토인코더(135a) 및 제3b 오토인코더(135b)를 이용하여 제3 정상동작 데이터셋(NDS3)을 기초로 제3 이상동작 데이터셋(ABDS)를 생성한다(S320). 또한, 제3 이상동작 데이터셋(ABDS)는 복수의 랜덤 이미지를 기초로 생성될 수 있으며, 랜덤 이미지는 제3 정상동작 데이터셋(NDS3) 뿐만 아니라 외부에서 수집된 이미지가 이용될 수 있음은 물론이다.
이어서, 제3 이상동작 탐지모델(M3)은 제3 정상동작 데이터셋(NDS3)과 제3 이상동작 데이터셋(ABDS)을 기초로 제3 이상판별모듈(145)의 뉴럴 네트워크를 학습시킨다(S330). 이때, 제3 이상동작 탐지모델(M3)은 S320 단계에서 충분한 수가 확보된 제3 이상동작 데이터셋(ABDS)를 이용하여 제3 이상판별모듈(145)를 학습시킬 수 있다.
이어서, 제3 이상동작 탐지모델(M3)은 검사 대상 장비(300)의 동작 이미지(즉, 대상 이미지)를 수신한다(S340).
이어서, 제3 이상동작 탐지모델(M3)은 미리 학습된 제3 이상판별모듈(145)에 동작 이미지(즉, 대상 이미지)를 인가하여 이상여부판단에 관한 값을 출력시킨다(S350). 이때, 제3 이상판별모듈(145)에는 제3a 오토인코더(135a) 또는 제3b 오토인코더(135b)에 대상 이미지를 인가하여 나온 출력값과, 대상이미지가 동시에 입력될 수 있으며, 이에 대한 출력으로 이상여부판단에 관한 값을 출력한다.
여기에서, 이상여부판단에 관한 값은, 이상여부에 대한 확률값 및 이상탐지 이미지(예를 들어, Grad-CAM 이미지 또는 CAM 이미지)를 포함할 수 있다.
이어서, 제3 이상동작 탐지모델(M3)은 출력된 이상여부판단에 관한 값을 이용하여 검사 대상 장비(300)의 제3 이상동작여부를 판단한다(S360). 만약, 이상여부판단에 관한 값이 확률값인 경우, 제3 이상동작 탐지모델(M3)은 검사 대상 장비(300)에 대한 이상여부에 대한 판단만이 가능하다. 반면, 이상여부판단에 관한 값이 이상 탐지 이미지인 경우, 제3 이상동작 탐지모델(M3)은 이상 탐지 이미지를 이용하여 검사 대상 장비(300)의 이상여부 뿐만 아니라, 이상부위도 함께 파악할 수 있다.
전술한 이상 탐지 방법에서, S310 내지 S330 단계는 제3 이상판별모듈(145)에 포함된 뉴럴 네트워크의 학습 단계로써 동작하고, S340 내지 S360 단계는 학습된 제3 이상판별모듈(145)를 이용하여 검사 대상 장비(300)의 제3 이상동작여부를 판단하는 수행단계를 나타낸다.
추가적인 본 발명의 또 다른 실시예로, 본 발명의 제3 이상동작 탐지모델(M3)은 모션 센서(230)에서 연속적으로 촬영된 동작 이미지를 대상으로, 미리 정해진 단위의 윈도우슬라이드(window slide)를 시간축을 기준으로 쉬프트(shift)함으로써 복수의 제3 정상동작 데이터셋(NDS3)을 생성하고 이를 데이터베이스부(120)에 저장하여 이용할 수 있다.
예를 들어, 제어부(160)는 연속적으로 촬영된 동작 이미지를 30프레임 단위의 윈도우슬라이드로 묶어서 제3 정상동작 데이터셋(NDS3)을 생성하고, 윈도우슬라이드를 2프레임씩 시간축을 따라 쉬프트하여 복수의 제3 정상동작 데이터셋(NDS3)을 생성할 수 있다. 구체적으로, 제1 정상동작 데이터셋(NDS1)은 촬영된 동작 이미지의 1 내지 30 프레임으로 구성되고 제2 정상동작 데이터셋(NDS2)은 3 내지 32 프레임으로 구성될 수 있다. 다만, 이는 하나의 예시에 불과하고 본 발명이 이에 한정되는 것은 아니다.
이에 따라, 학습부(130)는 복수의 정상동작 데이터셋을 이용하여 제3a 오토인코더(135a) 및 제3b 오토인코더(135b)를 학습시킬 수 있으며, 이를 이용하여 제3 이상판별모듈(145)를 학습시키는 데이터의 양도 증가될 수 있다. 학습되는 데이터량이 증가됨에 따라 제3 이상판별모듈(145)에서 출력되는 제3 이상동작여부의 판단값의 정확도도 함께 향상될 수 있음은 물론이다.
이어서, 전술한 제1 내지 제3 이상동작 탐지모델(M1, M2, M3)에서 각각 출력된 검사 대상 장비(300)의 제1 내지 제3 이상동작여부는 장비 이상 판별부(150)에 전달된다.
이때, 제1 내지 제3 이상동작 탐지모델(M1, M2, M3)에서 수신하는 센싱 데이터의 종류는 서로 상이할 수 있다. 이에 따라, 장비 이상 판별부(150)는 서로 다른 센서에 대한 이상여부 판단결과를 파라미터 이상 판별부(140)로부터 수신할 수 있다. 예를 들어, 장비 이상 판별부(150)는 파라미터 이상 판별부(140)에 포함된 이상판별모듈의 개수에 대응되는 복수 개의 이상여부 판단결과를 수신할 수 있다.
이때, 장비 이상 판별부(150)가 수신하는 검사 대상 장비(300)에 대한 복수의 이상여부 판단결과는 서로 상이할 수 있다. 예를 들어, 제1 이상판별모듈(141)로부터 수신한 제1 이상여부 판단결과와, 제2 및 제3 이상판별모듈(143, 145)로부터 수신한 제2 및 제3 이상여부 판단결과는 서로 상이할 수 있다.
따라서, 장비 이상 판별부(150)는 수신한 복수의 이상여부 판단결과에 대해 각각의 중요도를 산출하고 이를 기초로 검사 대상 장비(300)의 최종이상유무를 판단하게 된다. 이하에서는 이러한 장비 이상 판별부(150)의 구조 및 동작방법에 대해 자세히 살펴보도록 한다.
도 23은 도 3의 장비 이상 판별부의 구성을 나타내는 도면이다. 도 24는 도 23의 장비 이상 판별부가 이용하는 결정트리 모델의 예시를 나타내는 도면이다.
도 23을 참조하면, 장비 이상 판별부(150)는 학습 데이터 수집 모듈(151), 결정트리 생성모듈(153), 중요도 산출모듈(155), 이상여부 판단모듈(157)을 포함한다.
우선, 학습 데이터 수집 모듈(151)은, 최종이상유무 판단을 위한 머신러닝 학습을 위해 과거 각 이상판별모듈(예를 들어, 141, 143, 145)의 이상여부 판단결과(즉, 제1 내지 제3 이상동작여부)를 수신한다.
학습 데이터 수집 모듈(151)은, 수집된 데이터들을 정상동작 데이터셋과 이상동작 데이터셋으로 분리하여 관리할 수 있다. 이후, 장비 이상 판별부(150)의 결정트리모델 생성과정에서는 수집된 모든 데이터를 이용하기 보다는, 수집된 데이터의 일부(예를 들어, 전체 데이터의 80%)만을 이용하여 샘플링을 진행하고, 나머지 데이터(예를 들어, 전체 데이터의 20%)는 생성된 결정트리모델을 입증(validation)하기 위한 데이터로 활용될 수 있다.
결정트리 생성모듈(153)은, 학습 데이터 수집 모듈(151)에서 수집된 검사 대상 장비(300)에 대하여 각 센서에서 수집한 센싱 데이터를 기초로 수행한 이상여부 판단결과를 이용하여 결정트리모델을 생성한다.
여기에서 결정트리모델(decision tree model)이란, 일련의 분류 규칙을 통해 데이터를 분류, 회귀하는 지도 학습 모델 중 하나이며, 결과 모델이 트리(tree) 구조를 가지고 있기에 결정트리모델이란 이름을 지닌다. 결정트리모델은, 특정 기준(또는, 질문)에 따라 데이터를 구분하며, 한번의 분기때마다 변수 영역을 두개로 구분한다. 이러한 결정트리모델에서 질문이나 정답은 노드(Node)로 정의될 수 있다.
예를 들어, 도 24을 참조하면, 검사 대상 장비(300)에는 제1 내지 제5 센서가 설치되어, 각각의 센싱 데이터를 수집할 수 있으며, 각각의 센서에서 측정된 센싱 데이터가 정상동작으로 분류되었는지 여부는 하나의 노드로 정의될 수 있다.
이때, 제1 노드(N1)는 제1 센서에서 측정된 제1 센싱 데이터의 전체 샘플 중 몇 개가 정상동작으로 분류(예를 들어, 300개)되고, 몇 개가 이상동작으로 분류되었는지(예를 들어, 100개)를 나타낸다.
이어서, 제2 노드(N2)는, 제1 센서가 정상동작으로 분류한 샘플들 중에서, 제2 센서에서 측정된 제2 센싱 데이터의 몇 개가 정상동작으로 분류(예를 들어, 250개)되고, 몇 개가 이상동작으로 분류되었는지(예를 들어, 50개)를 나타낸다.
한편, 제3 노드(N3)는 제1 센서가 이상동작으로 분류한 샘플들 중에서, 제3 센서에서 측정된 제3 센싱 데이터의 몇 개가 정상동작으로 분류(예를 들어, 80개)되고, 몇 개가 이상동작으로 분류되었는지(예를 들어, 20개)를 나타낸다.
이러한 방식으로, 결정트리 생성모듈(153)은 수집된 데이터에 대하여 결정트리모델(decision tree model)을 생성할 수 있다.
이때, 결정트리모델은 검사 대상 장비(300) 별로 생성될 수 있으며, 특정 검사 대상 장비(300)에는 하나의 결정트리모델이 생성될 수 있다.
중요도 산출모듈(155)은, 결정트리 생성모듈(153)에서 생성된 검사 대상 장비(300)의 결정트리모델을 통하여 각 센서의 중요도를 계산한다. 우선, 각 센서의 중요도는 [수학식 6] 및 [수학식 7]을 이용하여 도출한다.
[수학식 6]
[수학식 7]
여기에서, Inode는 해당 노드의 중요도(즉, 해당 노드에 대응되는 센서의 중요도)를 의미하고, Gnode는 해당 노드에 대해 [수학식 2]를 이용해 도출한 지니계수를 의미하고, W는 해당 노드에서 아래로 분기된 자식 노드(child_node)의 가중치를 의미한다. 예를 들어, 해당 노드에 들어온 전체 샘플 개수가 100개이고, 왼쪽으로 분기된 샘플이 60개, 오른쪽으로 분기된 샘플이 40개인 경우, 각각의 가중치는 Wchild_node1 = 60/100, Wchild_node2 = 40/100이 된다.
이어서, 이상여부 판단모듈(157)은, 중요도 산출모듈(155)에서 도출된 센서의 중요도들을 정규화한다. 이때, 중요도의 정규화는 [수학식 8]를 이용하여 도출한다.
[수학식 8]
여기에서, NIk는 K 센서의 중요도를 의미하고, [수학식 4]의 분모는 각 노드들의 중요도의 합을 의미하고, 분자는 특정 센서에 대응되는 노드의 중요도를 의미한다. 즉, [수학식 4]는 특정 노드의 중요도에서 전체 노드의 중요도의 합을 나누어, 특정 노드에 대응되는 센서의 중요도를 정규화하는 것을 의미한다.
위 과정을 통해 얻은 정규화된 각 센서의 중요도의 총합은 1이 되며, 정규화된 각 센서의 중요도는, 최종이상유무를 판단하는 가중치로 이용될 수 있다. 이때, 각 센서의 중요도는 검사 대상 장비(300)에 대한 각 센서별 민감도와 동일하게 해석되어 이용될 수 있다.
예를 들어, 도 24에 도시된 결정트리모델에 대해, 각 노드 별 지니계수, 중요도, 및 정규화된 중요도를 산출해보면 다음 [표1]과 같다.
노드 지니계수 중요도 정규화된 중요도
N1 G1: 0.375 I1: 0.087 NI1: 0.16
N2 G2: 0.278 I2: 0.224 NI2: 0.40
N3 G3: 0.320 I3: 0.245 NI3: 0.44
이어서, 이상여부 판단모듈(157)은, 각각의 센서에 대응되는 이상판별모듈에서 출력된 이상여부 판단결과에 도출된 정규화된 중요도를 적용하고, 이에 대한 총합을 미리 정해진 기준치와 비교함으로써 검사 대상 장비(300)에 대한 최종이상유무를 판단한다.
예를 들어, 도 24의 결정트리모델을 이용할 때, 제1 이상판별모듈에서 비정상이라고 판단하고, 제2 및 제3 이상판별모듈에서 정상이라고 판단하는 경우, 검사 대상 장비(300)에 대한 판단결과는 [0, 1, 1]의 값을 갖는다. 여기에 정규화된 중요도를 적용하여 총합을 계산하는 경우, 총합은 0.84를 가진다. 이때, 미리 정해진 기준치가 0.7인 경우, 이상여부 판단모듈(157)은 검사 대상 장비(300)에 대한 최종이상유무를 정상으로 판단할 수 있다.
다른 예로, 제1 내지 제3 이상동작 탐지모델에서 수신한 검사 대상 장비(320)에 대한 판단결과가 [1, 0, 0]의 값을 갖고, 각 모델의 정규화된 중요도가 [0.7, 0.1, 0.2]의 값을 갖는 경우, 정규화된 중요도를 적용한 총합은 0.7로 계산되고, 이에 따라 검사 대상 장비(300)에 대한 최종이상유무는 정상으로 판단될 수 있다.
즉, 특정 이상동작 탐지모델에서는 이상동작으로 판단하더라도, 상대적으로 중요도가 높은 다른 이상동작 탐지모델에서 정상동작으로 판단하는 경우, 이상여부 판단모듈(157)은 검사 대상 장비(300)의 동작을 정상으로 판단할 수 있다.
추가적으로 본 발명의 또 다른 실시예에서, 장비 이상 판별부(150)는 결정 트리 모델을 대신하여 랜덤 포레스트 모델(random forest)을 사용할 수 있다. 랜덤 포레스트 모델에 대한 자세한 내용은 이미 공지되어 있으므로, 여기에서 해당 설명은 생략하며, 통상의 기술자는 결정트리 모델을 대신하여 랜덤 포레스트 모델을 용이하게 본 발명에 적용하여 사용할 수 있음은 물론이다.
이를 통해, 본 발명은 검사 대상 장비의 특성과 환경에 따라, 복수의 센서에 대해 변화되는 민감도를 고려하여 각 센서에 가중치를 산출할 수 있으며, 이를 기초로 최종이상유무 판단을 도출함으로써, 보다 정확한 이상동작 판단을 수행할 수 있다.
이하에서는, 본 발명의 실시예에 따른 장비 이상 판별부(150)의 이상 탐지 방법에 대해 살펴보도록 한다.
도 25는 본 발명의 몇몇 실시예에 따른 장비 이상 판별부의 동작 방법을 설명하기 위한 순서도이다. 이하에서는, 설명의 편의를 위하여 이상 탐지 장치(100)에서 이상 탐지 방법을 수행하는 것을 예로 들어 설명하도록 한다. 또한, 전술한 내용과 중복되는 내용은 생략하고 차이점을 위주로 설명하도록 한다.
도 25를 참조하면, 이상 탐지 장치(100)는 센서별 정상동작여부에 대한 데이터를 기초로 결정트리모델을 생성한다(S410). 센서별 정상동작여부에 대한 데이터는, 결정트리모델에서 특정 노드에 할당되어 정상/비정상 동작에 대한 분기문으로 표현될 수 있다.
이어서, 이상 탐지 장치(100)는 결정트리모델에 포함된 각 노드에 대응되는 센서의 중요도를 산출한다(S420).
이어서, 이상 탐지 장치(100)는 센서의 중요도를 정규화하고(S430), 정규화된 센서의 중요도를 이용하여 검사 대상 장비(300)의 이상유무를 최종 판단한다(S440). 즉, 이상 탐지 장치(100)는 검사 대상 장비(300)에 대한 각 센서별 중요도를 산출하고, 이를 수신된 각각의 이상여부 판단결과에 적용한 뒤, 이를 기초로 검사 대상 장비(300)의 최종이상유무를 판단할 수 있다.
이어서, 이상 탐지 장치(100)는 최종적으로 검사 대상 장비(300)가 이상동작으로 판단되는 경우, 이에 대한 알림을 제공한다(S450). 이때, 알림은 미리 등록된 관리자의 단말기에 전달될 수 있다. 또한, 이상동작의 종류를 구분하고, 이상동작을 해소하기 위해 발생한 이상동작(또는, 오류)를 정상동작으로 전환하도록 하는 명령어를 해당 검사 대상 장비(300)에 전달하는 동작이 수행될 수 있음은 물론이다.
이어서, 이상 탐지 장치(100)는 이상유무에 대한 판단 결과와, 검사 대상 장비(300)의 실제이상유무를 비교하여 이상 탐지 장치(100)에 저장된 검사 대상 장비(300)에 대한 데이터베이스를 업데이트시킨다. 또한, 이상 탐지 장치(100)는 업데이트된 정상동작 데이터셋 또는 이상동작 데이터셋을 이용하여 센서별 오토인코더 또는 결정트리모델을 재학습시킬 수 있다(S460).
즉, 이상 탐지 장치(100)의 동작이 반복되어 수행될수록, 이상유무판단에 대한 데이터는 계속해서 누적된다. 이상 탐지 장치(100)는 누적된 데이터를 이용하여 보다 정확한 판단이 가능하도록 전술한 머신러닝모듈(예를 들어, 각 오토인코더 또는 결정트리모델)을 재학습시킴으로써, 최종이상유무에 대한 판단의 정확성을 향상시킬 수 있다.
도 26은 본 발명의 몇몇 실시예에 따른 이상 탐지 방법을 수행하는 시스템의 하드웨어 구현을 설명하기 위한 도면이다.
도 26을 참조하면, 본 발명의 몇몇 실시예들에 따른 이상 탐지 장치(100)는 전자 장치(1000)로 구현될 수 있다. 전자 장치(1000)는 컨트롤러(1010, controller), 입출력 장치(1020, I/O), 메모리 장치(1030, memory device), 인터페이스(1040, interface) 및 버스(1050, bus)를 포함할 수 있다. 컨트롤러(1010), 입출력 장치(1020), 메모리 장치(1030) 및/또는 인터페이스(1040)는 버스(1050)를 통하여 서로 결합될 수 있다. 이때, 버스(1050)는 데이터들이 이동되는 통로(path)에 해당한다.
구체적으로, 컨트롤러(1010)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), 마이크로프로세서, 디지털 신호 프로세스, 마이크로컨트롤러, 어플리케이션 프로세서(AP, application processor) 및 이들과 유사한 기능을 수행할 수 있는 논리 소자들 중에서 적어도 하나를 포함할 수 있다.
입출력 장치(1020)는 키패드(keypad), 키보드, 터치스크린 및 디스플레이 장치 중 적어도 하나를 포함할 수 있다.
메모리 장치(1030)는 데이터 및/또는 프로그램 등을 저장할 수 있다.
인터페이스(1040)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 인터페이스(1040)는 유선 또는 무선 형태일 수 있다. 예컨대, 인터페이스(1040)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있다. 도시하지 않았지만, 메모리 장치(1030)는 컨트롤러(1010)의 동작을 향상시키기 위한 동작 메모리로서, 고속의 디램 및/또는 에스램 등을 더 포함할 수도 있다. 메모리 장치(1030)는 내부에 프로그램 또는 어플리케이션을 저장할 수 있다.
본 발명의 실시예들에 따른 이상 탐지 장치(100)는 각각 복수의 전자 장치(1000)가 네트워크를 통해서 서로 연결되어 형성된 시스템일 수 있다. 이러한 경우에는 각각의 모듈 또는 모듈의 조합들이 전자 장치(1000)로 구현될 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.
추가적으로, 이상 탐지 장치(100)는 워크스테이션(workstation), 데이터 센터, 인터넷 데이터 센터(internet data center(IDC)), DAS(direct attached storage) 시스템, SAN(storage area network) 시스템, NAS(network attached storage) 시스템, RAID(redundant array of inexpensive disks, or redundant array of independent disks) 시스템, 및 EDMS(Electronic Document Management) 시스템 중 적어도 하나로 구현될 수 있으나, 본 실시예가 이에 제한되는 것은 아니다.
또한, 이상 탐지 장치(100)는 네트워크를 통해서 센서(200) 또는 검사 대상 장비(300)에 데이터를 전송할 수 있다. 네트워크는 유선 인터넷 기술, 무선 인터넷 기술 및 근거리 통신 기술에 의한 네트워크를 포함할 수 있다. 유선 인터넷 기술은 예를 들어, 근거리 통신망(LAN, Local area network) 및 광역 통신망(WAN, wide area network) 중 적어도 하나를 포함할 수 있다.
무선 인터넷 기술은 예를 들어, 무선랜(Wireless LAN: WLAN), DMNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 및 5G NR(New Radio) 기술 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.
근거리 통신 기술은 예를 들어, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra-Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct), 5G NR (New Radio) 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.
네트워크를 통해서 통신하는 이상 탐지 장치(100)는 이동통신을 위한 기술표준 및 표준 통신 방식을 준수할 수 있다. 예를 들어, 표준 통신 방식은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTEA(Long Term Evolution-Advanced) 및 5G NR(New Radio) 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.
정리하면, 본 발명의 이상 탐지 장치는, 오토인코더에 포함된 합성곱 신경망의 전단에 배치 정규화 모듈을 포함시킴으로써, 오토인코더를 학습시키는 과정에서 발생할 수 있는 특정 파라미터만 계속해서 커지게 되거나, 일부 파라미터들의 영향이 무시되는 문제점을 해결할 수 있다. 이를 통해, 본 발명은 오토인코더를 이용한 이상탐지의 정확도를 높일 수 있으며, 이상 탐지 시스템의 안정성을 높이고, 고객의 신뢰도 향상 및 대상기업의 영업이익을 확대의 효과를 발생시킬 수 있다.
또한, 본 발명은 각각의 센서에서 출력된 센싱 데이터를 기초로 미리 학습된 복수의 머신러닝 모듈의 판단결과를 이용하되, 복수의 머신러닝 모듈의 판단결과를 종합적으로 반영하여 검사 대상 장비의 이상동작여부를 판단하므로, 이상동작 판단에 대한 정확도를 높일 수 있다.
또한, 본 발명은, 이상동작에 관한 데이터셋을 자동으로 생성하고, 이를 이용하여 이상 판별부를 학습시킴으로써, 충분한 이상동작 데이터를 확보할 수 있어 검사 대상 장비에 대한 이상여부 판단의 정확도를 향상시킬 수 있다. 또한, 본 발명은 이상동작에 관한 데이터셋을 확보하는 어려움을 감소시키고, 이상동작 패턴의 다양성을 확보함으로써, 사용자가 예상하지 못한 경우에 대한 이상동작 여부 판단도 가능할 수 있어, 이상탐지성능의 향상과, 제품 수율 및 기업의 이익을 극대화시킬 수 있는 효과를 나타낸다.
또한, 본 발명은, 검사 대상 장비의 이상여부 뿐만 아니라 이상부위까지 함께 판단할 수 있으므로, 검사 대상 장비에 대한 빠른 수리 및 유지보수가 가능하다. 따라서, 본 발명은 기계장비 유지보수에 필요한 리소스를 최소화할 수 있으며, 제품생산라인이 기계 오작동으로 인하여 중단됨에 따라 발생할 수 있는 손해를 최소화할 수 있다.
또한, 본 발명은, 최종이상유무에 대한 판단결과와 검사 대상 장비의 실제이상유무를 비교하여 지속적으로 머신러닝 모델을 학습시키고, 각 센서에 대한 가중치를 조절함으로써, 데이터가 쌓일수록 더 정확한 판단결과를 도출할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 검사 대상 장비의 이상동작여부를 판단하는 이상 탐지 장치에 있어서,
    센서로부터 상기 검사 대상 장비에 대한 센싱 데이터를 수신하는 데이터 수신부;
    상기 센싱 데이터로 구성된 동작 데이터셋을 저장 및 관리하는 데이터베이스부;
    상기 동작 데이터셋을 이용하여, 상기 센서에 대응되는 오토인코더를 학습시키는 학습부; 및
    상기 오토인코더의 입력 데이터 및 출력 데이터를 비교하여, 상기 검사 대상 장비의 이상여부를 판단하는 이상판별모듈을 포함하는 파라미터 이상 판별부를 포함하되,
    상기 오토인코더는,
    학습 단계에서, 입력 노드에 인가된 입력 데이터에 대해, 스케일 변수(scale factor)와 시프트 변수(shift factor)를 추가하여 학습을 진행하는 배치 정규화(batch normalization)를 수행하는 배치 정규화 모듈과,
    상기 배치 정규화가 수행된 데이터를 수신하고, 수신된 상기 데이터의 크기를 축소시키는 인코더 신경망과,
    상기 인코더 신경망에서 축소된 상기 데이터의 크기를, 축소 이전 크기로 복원시키는 디코더 신경망을 포함하는
    이상 탐지 장치.
  2. 제1 항에 있어서,
    상기 학습부는, 상기 동작 데이터셋을 학습 데이터로 이용하여 상기 오토인코더를 학습시키되,
    상기 배치 정규화 모듈은,
    미리 정해진 단위크기의 배치(batch)에 대한 평균(average)과 분산(variance)을 계산하고,
    상기 입력 노드에 인가된 상기 학습 데이터에 대해, 상기 배치에 대한 상기 평균과 상기 분산을 이용하여 정규화(normalization)를 수행하고,
    상기 정규화된 데이터에, 상기 스케일 변수와 상기 시프트 변수를 추가하여 학습을 수행하는 것을 포함하고,
    상기 스케일 변수와 상기 시프트 변수는, 학습 과정에서 역전파(backpropagation)에 의해 업데이트 되는 이상 탐지 장치.
  3. 제2 항에 있어서,
    상기 배치 정규화 모듈은,
    학습 데이터들의 배치에 대한 복수의 평균을 이용하여 이동 평균(moving average)을 도출하고, 상기 학습 데이터들의 복수의 분산을 이용하여 분산 평균을 도출하며,
    수행 단계에서, 상기 이동 평균 및 상기 분산 평균을 이용하여 상기 입력노드 인가된 입력 데이터를 보정하는 것을 포함하는 이상 탐지 장치.
  4. 제2 항에 있어서,
    상기 인코더 신경망과 상기 디코더 신경망은, 미리 정해진 단위크기의 필터(filter)를 이용하여 데이터를 축소시키거나 복원시키되,
    상기 필터에는, 학습과정에서 도출된 상기 스케일 변수 및 상기 시프트 변수가 상기 필터당 하나씩 할당되는 것을 포함하는 이상 탐지 장치.
  5. 제4 항에 있어서,
    상기 오토인코더의 입력 데이터는, 1차원으로 이루어진 시계열 데이터로 구성되고,
    상기 인코더 신경망은, 1차원으로 구성된 상기 필터를 이용하여 상기 입력 데이터를 축소시키고,
    상기 디코더 신경망은, 상기 필터를 이용하여 축소된 데이터를 1차원의 시계열 데이터로 복원시키는 것을 포함하는 이상 탐지 장치.
  6. 검사 대상 장비의 이상동작여부를 판단하는 이상 탐지 장치에 있어서,
    서로 다른 복수의 센서로부터 상기 검사 대상 장비에 대한 서로 다른 센싱 데이터를 수신하는 데이터 수신부;
    각각의 상기 센서에 대한 동작 데이터셋을 포함하는 데이터베이스부;
    상기 복수의 센서에 각각 대응되는 복수의 오토인코더를 포함하는 학습부;
    상기 복수의 오토인코더에 각각 대응되는 복수의 이상판별모듈을 포함하는 파라미터 이상 판별부; 및
    상기 복수의 이상판별모듈에서 출력된 각각의 이상여부 판단결과를 수신하고, 이를 기초로 상기 검사 대상 장비에 대한 최종이상유무를 판단하는 장비 이상 판별부를 포함하되,
    상기 오토인코더는,
    학습 단계에서, 입력 노드에 인가된 입력 데이터에 대해, 스케일 변수(scale factor)와 시프트 변수(shift factor)를 추가하여 학습을 진행하는 배치 정규화(batch normalization)를 수행하는 배치 정규화 모듈과,
    상기 배치 정규화가 수행된 데이터를 수신하고, 수신된 데이터의 크기를 축소시키는 인코더 신경망과,
    상기 인코더 신경망에서 축소된 데이터의 크기를, 축소 이전 크기로 복원시키는 디코더 신경망을 포함하는
    이상 탐지 장치.
  7. 제6 항에 있어서,
    상기 파라미터 이상 판별부는, 서로 다른 전처리 과정을 통해 수신된 입력 데이터를 기초로 상기 복수의 오토인코더에 대해 각각 머신러닝을 수행하고, 이를 통해 상기 서로 다른 복수의 센서에 대한 각각의 상기 이상여부 판단결과를 출력하는 것을 포함하는 이상 탐지 장치.
  8. 제7 항에 있어서,
    상기 학습부는, 각각의 상기 동작 데이터셋을 학습 데이터로 이용하여 상기 복수의 오토인코더를 각각 학습시키되,
    상기 복수의 오토인코더 각각에 포함된 배치 정규화 모듈은,
    미리 정해진 단위크기의 배치(batch)에 대한 평균(average)과 분산(derivation)을 계산하고,
    상기 입력 노드에 인가된 상기 학습 데이터에 대해, 계산된 상기 평균과 상기 분산을 이용하여 정규화(normalization)를 수행하고,
    상기 정규화된 데이터에 대해, 상기 스케일 변수와 상기 시프트 변수를 추가하여 학습을 수행하는 것을 포함하고,
    상기 인코더 신경망과 상기 디코더 신경망은, 미리 정해진 단위크기의 필터(filter)를 이용하여 데이터를 축소시키거나 복원시키되,
    상기 필터에는, 상기 정규화 모듈에서 도출된 상기 스케일 변수 및 상기 시프트 변수가 상기 필터당 하나씩 할당되는 것을 포함하는 이상 탐지 장치.
  9. 제6 항에 있어서,
    상기 장비 이상 판별부는, 결정트리모델을 이용하여, 상기 복수의 이상판별모듈에 대한 각각의 중요도를 산출하고, 이를 기초로 상기 최종이상유무를 판단하는 것을 포함하는 이상 탐지 장치.
  10. 제6 항에 있어서,
    상기 복수의 센서부는, 상기 검사 대상 장비에 대한 진동을 감지하는 제1 센서와, 상기 검사 대상 장비의 소리를 감지하는 제2 센서와, 상기 검사 대상 장비의 동작 모션을 감지하는 제3 센서를 포함하고,
    상기 복수의 이상판별모듈은, 상기 제1 내지 제3 센서에 일대일 매칭되는 제1 내지 제3 이상판별모듈을 포함하되,
    상기 제1 이상판별모듈 및 제2 이상판별모듈은, 대응되는 상기 오토인코더의 입출력 데이터의 차이값과 미리 정해진 기준치를 비교함으로써 상기 검사 대상 장비의 이상여부를 판단하고,
    상기 제3 이상판별모듈은, 정상동작 데이터셋 및 이상동작 데이터셋을 이용하여 학습된 뉴럴 네트워크를 이용하여, 상기 검사 대상 장비의 이상여부를 판단하는 이상 탐지 장치.
KR1020220098995A 2022-02-21 2022-08-09 1차원 오토인코더를 이용한 이상 탐지 장치 KR102611399B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220021946 2022-02-21
KR1020220021946 2022-02-21

Publications (2)

Publication Number Publication Date
KR20230126625A true KR20230126625A (ko) 2023-08-30
KR102611399B1 KR102611399B1 (ko) 2023-12-08

Family

ID=87846309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220098995A KR102611399B1 (ko) 2022-02-21 2022-08-09 1차원 오토인코더를 이용한 이상 탐지 장치

Country Status (1)

Country Link
KR (1) KR102611399B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236395A1 (en) * 2004-09-30 2006-10-19 David Barker System and method for conducting surveillance on a distributed network
KR20190098106A (ko) * 2019-08-02 2019-08-21 엘지전자 주식회사 배치 정규화 레이어 트레이닝 방법
US20200111204A1 (en) * 2017-06-27 2020-04-09 Nec Laboratories America, Inc. Anomaly detection with predictive normalization
KR102170632B1 (ko) * 2019-12-03 2020-10-27 한국항공우주연구원 군집 시스템에서 실시간 이상 탐지 방법 및 장치
KR102274389B1 (ko) * 2020-09-18 2021-07-06 (주)위세아이텍 센서 데이터를 이용한 이상패턴 탐지 모델 구축 방법 및 이를 이용한 이상 탐지 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060236395A1 (en) * 2004-09-30 2006-10-19 David Barker System and method for conducting surveillance on a distributed network
US20200111204A1 (en) * 2017-06-27 2020-04-09 Nec Laboratories America, Inc. Anomaly detection with predictive normalization
KR20190098106A (ko) * 2019-08-02 2019-08-21 엘지전자 주식회사 배치 정규화 레이어 트레이닝 방법
KR102170632B1 (ko) * 2019-12-03 2020-10-27 한국항공우주연구원 군집 시스템에서 실시간 이상 탐지 방법 및 장치
KR102274389B1 (ko) * 2020-09-18 2021-07-06 (주)위세아이텍 센서 데이터를 이용한 이상패턴 탐지 모델 구축 방법 및 이를 이용한 이상 탐지 장치 및 방법

Also Published As

Publication number Publication date
KR102611399B1 (ko) 2023-12-08

Similar Documents

Publication Publication Date Title
JP6798614B2 (ja) 画像認識装置、画像認識方法および画像認識プログラム
EP3767551A1 (en) Inspection system, image recognition system, recognition system, discriminator generation system, and learning data generation device
US20220245405A1 (en) Deterioration suppression program, deterioration suppression method, and non-transitory computer-readable storage medium
CN110851654A (zh) 基于张量化数据降维的工业设备故障检测分类方法
KR102469871B1 (ko) 반복 사이클을 보유한 기계장비에 대한 이상 탐지 장치
CN113780160B (zh) 一种电能质量扰动信号分类方法和系统
EP3961555A1 (en) Learning system, data generating device, data generating method, and data generating program
CN113988268A (zh) 基于无监督全属性图的异构多源时序异常检测方法
CN113758709A (zh) 结合边缘计算和深度学习的滚动轴承故障诊断方法及系统
CN111428772B (zh) 基于k-近邻自适应投票的光伏系统深度异常检测方法
CN113487223A (zh) 一种基于信息融合的风险评估方法和评估系统
KR102611399B1 (ko) 1차원 오토인코더를 이용한 이상 탐지 장치
KR102459220B1 (ko) 다중 센서 기반의 이상 탐지 장치 및 방법
KR102557850B1 (ko) 실시간 모션 센싱 데이터를 이용한 이상 탐지 장치
CN112488238B (zh) 一种基于对抗自编码器的混合异常检测方法
KR102646887B1 (ko) 이미지 픽셀의 위치 가중치 설정을 포함하는 이상 탐지 방법 및 장치
KR102608977B1 (ko) 전처리된 모션 이미지를 이용한 이상 탐지 장치
CN116484513A (zh) 基于多级抽象时间特征融合的滚动轴承故障诊断方法
KR20230120183A (ko) 이상동작 데이터 생성을 이용한 이상 탐지 장치
CN112287854A (zh) 基于深度神经网络的建筑室内人员检测方法及系统
JP2021179885A (ja) 分類装置、分類方法、及び、プログラム
KR20230126626A (ko) 수리 파트 결정 기능 및 수리 완성도 평가 기능을 포함하는 이상 탐지 장치
KR102574605B1 (ko) 영상 데이터 및 소리 데이터를 활용하여 소리 데이터를 분류하고 그리고 소음도를 측정하는 방법, 장치 및 컴퓨터 프로그램
KR102606750B1 (ko) 도로 추출 장치 및 방법
KR102548770B1 (ko) 매트릭스 연산을 이용한 안면유사도 산출 시스템 및 방법

Legal Events

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