[논문 분석] 이상치 탐지 : MCA-VAE

엘리자베스22호·2026년 2월 17일

이상치탐지

목록 보기
1/2

논문 제목 : Multi-Channel Multi-Scale Convolution Attention Variational Autoencoder (MCA-VAE): An Interpretable Anomaly Detection Algorithm Based on Variational Autoencoder

0. Abstract

산업 자동화와 IoT 기술의 급속한 발전으로 공장 환경에서는 대규모 다차원 시계열 데이터가 지속적으로 생성되고 있다. 이러한 환경에서 이상 탐지는 설비 고장, 생산 중단, 비용 손실을 방지하기 위한 핵심 기술로 자리 잡았다. 따라서 이상 탐지 알고리즘은 높은 정확도뿐 아니라, 이상을 유발한 특정 센서 또는 장비를 신속히 식별할 수 있는 해석 가능성을 동시에 요구받는다.

그러나 기존 신경망 기반 이상 탐지 모델들은 다차원 시계열 데이터에 포함된 차원 내 시간적 특징차원 간 관계적 특징을 동시에 효과적으로 포착하지 못하는 한계를 가진다. 또한 두 특징을 모두 고려하는 일부 복잡한 모델은 이상 원인을 설명하지 못해 실제 산업 현장 적용에 어려움이 있다.

본 연구에서는 이러한 문제를 해결하기 위해, 변이형 오토인코더(VAE)를 기반으로 한 해석 가능한 이상 탐지 모델인 MCA-VAE(Multi-Channel Multi-Scale Convolution Attention Variational Autoencoder)를 제안한다. 제안 모델은 다중 스케일 가중치 공유 컨볼루션을 통해 각 차원의 시간적 특징을 추출하고, 멀티 헤드 어텐션 메커니즘을 활용하여 센서 간 관계적 특징을 모델링한다. 이후 추출된 특징을 VAE 잠재 공간에 매핑하고 재구성 오차를 기반으로 이상을 탐지한다.

또한 VAE의 확률 분포 특성을 활용하여 각 센서별 조건부 확률을 계산함으로써, 이상 발생 원인을 센서 단위로 해석할 수 있는 메커니즘을 제공한다. 실험 결과, 제안 모델은 산업 제어 데이터셋에서 AUC 0.982, F1 점수 0.905를 기록하며 기존 베이스라인 대비 우수한 성능을 보였고, 동시에 정확한 이상 원인 분석 능력을 확인하였다.


1. Introduction

최근 산업 제어 시스템은 IoT 기술과 네트워크 인프라의 발전으로 인해 점점 더 많은 센서와 장비가 연결되는 구조로 변화하고 있다. 이러한 변화는 생산 공정의 자동화와 정밀 모니터링을 가능하게 하지만, 동시에 시스템 전반의 위험도를 증가시키는 요인이 된다.

현대 제조 공장에서는 다수의 센서와 액추에이터가 동시에 동작하며 고차원 다변량 시계열 데이터를 생성한다. 이 데이터는 설비 상태를 실시간으로 반영하지만, 이상 상황이 발생할 경우 빠르게 전체 시스템으로 전파될 수 있다. 예를 들어 특정 센서의 비정상 값이 즉시 탐지되지 않을 경우, 국소적 고장이 전체 생산 라인으로 확산되어 심각한 가동 중단과 경제적 손실로 이어질 수 있다.

이러한 배경에서 이상 탐지 알고리즘은 단순한 이벤트 감지를 넘어 다음과 같은 요구 조건을 충족해야 한다.

  • 다차원 시계열에서 높은 탐지 정확도를 유지할 것
  • 이상 발생 시점을 명확히 식별할 것
  • 이상을 유발한 센서 또는 장비를 함께 제공할 것

그러나 기존 방법들은 다음과 같은 구조적 한계를 가진다.

첫째, 많은 모델이 차원 내 시간적 특징차원 간 관계적 특징 중 하나에만 집중한다. 일부 모델은 개별 센서의 시간 패턴을 잘 학습하지만 센서 간 상호작용을 충분히 반영하지 못하며, 반대로 관계 구조에 집중한 모델은 각 센서의 세밀한 시간 변화를 놓치는 경우가 많다.

둘째, 두 특징을 모두 고려하는 모델이라 하더라도 해석 가능성이 부족한 경우가 대부분이다. 이러한 모델은 특정 시점에서 이상이 발생했음을 알려줄 수는 있지만, 실제로 어떤 센서가 문제의 원인인지 설명하지 못한다. 이는 산업 현장에서 유지보수 엔지니어가 즉각적인 조치를 취하는 데 큰 제약이 된다.

결과적으로, 기존 다변량 시계열 이상 탐지 기법은 다음 두 가지 측면에서 개선이 필요하다.

  1. 시간적 특징과 관계적 특징을 동시에 효과적으로 모델링할 수 있는 구조
  2. 이상 발생 원인을 센서 단위로 제공할 수 있는 해석 가능성

본 연구는 이러한 문제를 해결하기 위해 MCA-VAE 모델을 제안한다. 제안된 방법은 다중 스케일 컨볼루션을 통해 각 센서의 시간 패턴을 추출하고, 멀티 헤드 어텐션을 활용하여 센서 간 관계를 학습한다. 이후 VAE 기반 확률 모델을 통해 이상을 탐지하며, 재구성 확률 분해를 통해 센서별 이상 점수를 산출한다.

이를 통해 기존 방법이 가지는 정확도와 해석 가능성의 트레이드오프를 완화하고, 실제 산업 제어 환경에서 활용 가능한 이상 탐지 프레임워크를 제시하는 것을 목표로 한다.

2. Methods

시계열 이상치 탐지는 대상에 따라 단변량과 다변량으로 나눌 수 있다.

단변량 시계열 이상치 유형은 점 이상치와 패턴 이상치라는 두 가지 주요 범주로 나눌 수 있다. 연속된 점들의 집합은 패턴 이상치를 유발하며, 이는 주기 이상치와 모양 이상치, 추세 이상치로 더 세분화 될 수 있다.

다변량 시계열의 이상치 유형은 세 가지 범주로 나눌 수 있다. 여기엔 단변량의 가장 일반적인 이상치 유형도 속하, 상관 이상치와 상관-시간 이상치라는 두 가지 고유한 이상치 유형이 있다. 상관 이상치는 여러 지표 간의 관계가 갑작스러운 변화를 겪었거나 과거 관계를 위반 했음을 나타낸다. 상관-시간 이상치는 상관 이상치와 시간 이상치를 모두 포함하며 탐지하기 가장 쉬운 이상치 유형이다.

현재 이상치 탐지 모델들은 시계열 데이터의 각 차원을 모델링하는 데 집중하여 시계열 데이터 내의 차원 간 상관 관계를 무시하거나, 차원 간 상관관계를 추출하기 위해 복잡한 구조를 사용하지만, 각 차원 데이터의 시간 종속성에 대한 상세한 모델링 과정이 부족하다는 것을 이 논문에서는 문제점으로 지적한다. 따라서 더 나은 이상치 탐지 정확도를 달성하기 위해 차원 내 시간 종속성과 차원 간 상관관계를 동시에 모델링 하는 것을 제안한다.

  • X={X1,,XN}X = \{X_1, \dots, X_N \}: 데이터 셋
  • XRM×NX \in \mathbb{R}^{M \times N} : 연속적인 관측치를 등간격 샘플링 한 것
  • M : 차원수
  • N : 데이터 길이
  • XiX_i : 하나의 차원
  • XtX_t : 하나의 관측치

여기서 Multi-Variate Time Series 길이에 문맥 정보를 통합하고, 이상치 결과를 계산하기 위해 WW 길이의 슬라이딩 윈도우를 적용한다.
이상치 탐지는 관측된 결과이상이 발생한 원인을 (어떤 센서가 이상인지) 찾아내는 것을 목표로 한다.

2.1 Network 구조

모델은 위의 그림에서 나타낸 바와 같이 세 부분으로 구성된다.

  1. 다중 스케일 가중치 공유 컨볼루션 네트워크(Multi-Scale Weight Sharing Convolutional Network)

    • 이는 서로 다른 시간 스케일에서 특징을 효과적으로 포착할 수 있다.
    • 작은 Conv 커널은 단기 시계열 특징을 포착할 수 있으며, 큰 Conv 커널은 장기 시계열 특징을 포착할 수 있다.
    • 또한, 다중 채널 지역 가중치 공유 방법은 정확도를 보장하면서 매개변수 수를 최대한 줄일 수 있다.
  2. 다중 헤드 어텐션 메커니즘(Multi-Head Attention Mechanism)

    • 서로 다른 데이터 차원 간의 상호 영향을 유연하게 파악하여, 차원 간의 관계 특징을 모델이 포착하도록 돕는다.
  3. 개선된 변이형 오토인코더(Improved Variational Autoencoder, VAE)

    • 제안된 KL Divergence 최적화 방법은 VAE 모델 학습이 더 나은 특징 추출 결과를 달성하도록 한다.
    • 또한 VAE 모델의 확률 분포는 이상치 해석에 사용된다.

2.1.1 Multi-Scale Weight Sharing Convolutional Network

기존의 1D CNN 모델은 단일 채널 시계열 데이터에만 적합하며 , 여러 상관된 채널의 정보를 완전히 활용하지 못한다. 다중 채널 1D CNN 모델은 여러 개의 독립적인 Conv 커널을 사용하여 각 채널에 대해 Conv 연산을 수행한 후, 각 채널의 Conv 결과를 병합한다. 이 접근 방식은 여러 차원에서 시간적 특징을 동시에 추출하고 병합 연산을 통해 다중 채널 정보를 완전히 활용하여 모델의 성능과 정확도를 향상시킬 수 있다.

이를 적용하기 위해 각 입력 데이터 채널을 독립적으로 처리하기 위하여 다중 채널 커널 K를 생성해야 하는데, 이 수식은 아래와 같다.

  • ncn_c : 데이터의 채널 수
  • XcX_c : 시점 t-i+1에서의 h번째 채널 측정 값

단일 채널에 대한 Conv 과 다른 점은 모든 채널에 대한 추가적인 합산이 다르다는 점이다. 다중 채널 Conv에서는 각 채널에 대해 Conv 커널이 설정되며, 각 Conv 커널의 가중치 수가 더 많아져 모델 파라미터가 커지고 학습 속도가 느려지며 과적합 위험이 증가한다.

때문에 이 논문에서는 개선된 다중 스케일 가중치 공유 Conv 방법을 제안하는데, 많은 파라미터와 특징 추출 효과 사이의 균형과 다른 시간 스케일에 적응하지 못하는 문제를 해결하기 위해 가중치 공유 방법을 제안한다.
(다른 시간 스케일에 적응하지 못하는 문제란, 하나의 고정된 크기의 커널은 모든 시간 스케일의 특징을 동시에 잘 포착하기 어렵다는 말이다.)

가중치 공유는 서로 다른 위치에 있는 Conv 커널에 동일한 파라미터를 사용하는 것을 의미한다. 이 방법은 각 Conv 커널의 파라미터 수를 단일 Conv 커널과 동일한 수로 압축할 수 있어, 신경망의 파라미터 수를 크게 줄일 수 있다.

구체적으로, 컨볼루션 레이어에 k개의 컨볼루션 커널이 포함되어 있고, 각 컨볼루션 커널의 크기가 h×wh \times w 이며, 입력 채널 수가 cinc_{in} 이고, 출력 채널 수가 coutc_{out}이라고 가정하면,

가중치 공유 방법을 사용하지 않으면 이 레이어의 파라미터 수는 k×h×w×cin×coutk \times h \times w \times c_{in} \times c_{out}이다. 하지만 가중치 공유 방법을 사용하면 이 레이어의 파라미터 수는 k×h×wk \times h \times w 에 불과하다. 따라서 가중치 공유는 파라미터 수를 크게 줄여 모델의 복잡성을 감소시키고 모델의 학습 속도 및 일반화 성능을 향상시킬 수 있다.

하지만 global 가중치 공유 방법은 모든 conv 커널이 동일한 가중치 행렬을 사용하기 때문에 학습이 불충분하다는 문제가 있다.

이런 문제를 해결하기 위해 이 논문에선 추가로 local 가중치 공유 방법을 제안한다. local 가중치 공유는 가중치 행렬을 여러개의 지역 가중치 행렬로 분해하며, 지역 가중치 행렬은 독립적으로 조정될 수 있다.

수식 (2)는 global 가중치 공유 식이며, (3)은 local 가중치 공유 식이다. 여기서 Wm,n,l,k(i,j)W^{(i,j)}_{m,n,l,k}는 좌표 (i, j)에서의 지역 가중치 행렬 내 가중치를 나타낸다. 논문 저자들은 데이터 간의 상관관계를 분석하여 상관관계가 강한 다차원 데이터에 대해 먼저 동일한 지역 가중치 행렬을 사용한다고 한다.
(→ 내가 지금 적용하고자 하는 아이디어에는 센서들을 그룹화 해서 step 별로 사용하면 될 것 같다.)

2.1.2 Implementation of the Multi-Scale Convolutional Network

고정된 Conv 커널이 특정 스케일의 특징만 포착할 수 있다는 문제를 해결하기 위해 데이터셋에서 다양한 시간 스케일의 고도로 표현력 있는 잠재 특징을 추출하기 위한 다중 스케일 Conv 커널을 이 논문에선 추가로 제안한다. 여기선 세 개의 병렬 경롤르 가진 Conv 레이어를 구성하며, 각 경로는 서로 다른 커널 크기를 가지고, 각 Conv 레이어는 다중 Conv 방법을 사용한다.

논문에선 공장 데이터는 단기적인 규칙성(단일 센서 스케일에서 제품이 공정에 들어가거나 나가는 순간을 고려), 중기적인 패턴(단일 공정 내에서 발생하는 생산 공정을 고려), 그리고 장기적인 변화(운송, 생산, 검사를 포함하여 한 제품에서 다음 제품까지의 전체 주기를 고려)를 포함하여 이 세가지 상황을 포괄하기 위해 주기를 짧은주기, 중간 주기, 긴주기로 크기를 선택했다고 한다.
(→ 이 부분을 내 현업 도메인 지식에 맞춰 설명 가능하고 해석 가능한 주기로 변경하면 좋을 것 같다.)

이후 Conv 및 풀링 후 얻어진 특징 벡터들은 연결되어 새로운 전역 특징 벡터 행렬을 형성하는데, 이후 어텐션 메커니즘은 이런 계층적 특징으로 부터 유횽한 정보를 추출한다. 다양한 스케일의 Conv 레이어를 사용하여 특징을 추출한 후, 데이터 공간 차원을 줄이고 가장 중요한 특징을 유지하기 위해 특징 선택 및 다운 샘플링을 수행한다. 여기선 맥스 풀링을 사용하여 특징 맵에 대한 다운 샘플링 연산을 수행한다.

여기서 ckc_k 는 k의 커널을 사용하여 추출된 특징 맵을 나타내고, , c^k\hat{c}_k는 샘플링 후의 특징 맵을 나타낸다.

이후 전역 특징 벡터 행렬 T는 추가 처리를 위해 멀티헤드 어텐션 메커니즘 입력으로 사용된다.

2.1.3 Multi-Head Attention Mechanism

차원 간의 상관 관계 특징을 포착하기 위해, 이전 단계에서 얻은 컨볼루션 네트워크로부터 유용한 정보를 추가로 추출하기 위해 멀티 헤드 어텐션 메커니즘을 사용한다. 단계는 다음과 같다

  1. 먼저 이전 Conv 네트워크에서 얻은 전역 특징 벡터 행렬 T로 부터 행렬 Q, K, V를 초기화한다.
  2. Scaled Dot-product Attention(SDA)를 이용하여 Q와 K의 내적을 계산하여 유사도를 구한 다음, 내적의 결과가 너무 커지는 것을 방지하기 위해 dkd_k 에 루트를 씌운 값으로 나눈다. (여기서 dkd_k는 행렬 kk의 차원))
  3. 이후 softmax 함수를 이용하여 정규화 한다.
  4. 행렬 V와 곱하여 어텐션 표현을 얻는다.

이를 이용한 아이디어로 서로 다른 파라미터 WQi,WKi,WViW_{Q_i}, W_{K_i}, W_{V_i}를 사용하여 행렬 Q, K, V 에 선형 변환을 수행하고, 그 결과를 SDA에 입력한다. 헤드 i부터 h까지의 결과들을 하나의 행렬로 연결하고 파라미터 W를 곱하여 최종 선형 변환을 완료하여 식(8)에 나타난 멀티 헤드 어텐션 메커니즘의 최종 출력을 얻는다.

2.1.4 Improved Variational Autoencoder

이 논문에선 전역적인 관점에서 다중 변수의 정보를 모델링하고 다른 차원 간의 종속성을 더 잘 포착하기 위해, 어텐션 메커니즘의 출력을 VAE 모델의 잠재 공간으로 매핑한다. 그러나 일반적인 VAE가 확률적 경사 하강법(SGD)과 같은 최적화 방법을 사용하여 VAE를 훈련할 때, 인코더는 각 입력을 잠재 분포의 고정된 점으로 매핑하는 경향이 있기 때문에, 이로 인해 VAE의 KL divergence 가 상수화되어 잠재 변수와 더 이상 관련이 없게 되므로 효과적으로 최적화될 수 없다. 이 문제를 해결하기 위해 이 논문에선 수정된 Evidence Lower Bound (ELBO) 표현과 재매개변수화 최적화를 갖춘 개선된 VAE 방법을 제안한다.

위의 식은 기존 VAE의 손실함수 ELBO이며, 여기서 Eqϕ(zX)E_{q_\phi(z|X)}는 입력 X가 주어졌을 때 z의 기댓값을 나타낸다. KL(qϕ(zX)p(z))KL({q_\phi(z|X)} | p(z)) 는 사후 분포 qϕ(zX)q_\phi(z|X)와 사전 분포 p(z)p(z)간의 KL divergence를 나타낸다. 그러나 실제에서는 KL divergence 의 가중치가 너무 크거나 데이터셋의 분포와 사전 분포간의 많은 차이가 있는 경우, 모델은 샘플 간의 다양성을 무시하고 입력 샘플을 잠재 공간의 작은 영역으로 매핑하는 경향이 있다. 이 문제를 해결하기 위해 논문에서는 ELBO의 첫번째 항인 재구성 오류를 최적화 하고 더 많은 가중치를 부여한다. 수정된 식은 아래와 같은데

여기서 베타는 재구성 오류와 KL divergence 오류의 상대적 중요도를 제어하는데 사용한다. 만약 베타가 작으면, 모델은 재구축에 더 집중하여 입력 데이터를 더 정확하게 복원하는데 능숙해진다. 하지만 잠재 공간이 너무 압축되어 잠재 변수의 다양성이 줄어들고 새로운 데이터를 생성하는 능력이 떨어질 수 있다.
반대로 베타가 크다면 잠재 공간의 여러 지점에서 샘플링 했을 때 생성되는 데이터가 다양성을 가지게 되기 때문에 정상 데이터를 완벽하게 복원하는 능력이 떨어질 수 있다.

2.1.5 Anomaly Explanation Based on Reconstruction Probability

이 논문에선 이상확률에 대해 계산하여 비정상 스코어를 계산할 수 있도록 하는 방법또한 제안하였는데, 알고리즘이 이상 설명 기능을 제공하여 엔지니어가 비정상 장치를 신속하게 탐지할 수 있도록, VAE의 확률론적 이론을 결합하고 이상 설명을 위해 재구성 확률을 사용한다.

여기서 fθf_\theta는 VAE의 디코더를 나타내고, θ\theta는 디코더의 매개변수를 나타냅니다. 그런 다음 각 차원의 재구성 확률 Pθ(xitZtT:t)P_\theta(x_i^t | Z_{t-T:t})를 계산한다.
(잠재 변수 조건 ZtT:tZ_{t-T:t}가 주어졌을 때 i번째 차원의 xtx_t에 대한 확률)

이후, 가우시안 분포를 통해 x^it\hat{x}_i^t의 확률 밀도 함수 값을 계산한다.

이상 점수가 이상을 직관적으로 표시하기 위해

재구성 확률에 음수 로그 변환을 적용한다.
여기서 sits_i^t 는 i번째 차원에서 입력샘플 xtx_t의 이상 점수를 나타내며, 이상 점수가 높을 수록 해당 샘플은 더 비정상임을 나타낸다.

3. 현업 아이디어 적용

이 논문에서 제안된 방법을 응용하여 현업 문제에 적용을 해야한다. 크게 3가지 방식으로 적용할 수 있는데, 구체화는 팀원들과 논의한 후에 ..!

방법 1. S 별 Attention Masking

  • Attention Mask 를 적용하여 S에 따라 동적으로 생성되게 한다.
  • 중요 센서간(i,j)의 관계에서만 학습이 되도록 변환
  • 이 방법은 논문에서 제안한 구조에서 크게 바뀌지 않는다.

방법 2. S별로 Multi Scale Convolution Network를 만들어 학습

  • 모든 센서 공통 CNN 와, 특정 S에만 활성화되는 S 전용 필터를 병렬로 두어 S의 데이터가 들어오면, S번에 할당된 컨볼루션 필터들만 활성화되어 특징을 추출
  • 입력데이터와 S 임베딩을 결합하여 게이트를 만드는 방식으로, S에서 중요한 s의 신호는 증폭, 나머지는 억제한 상태로 Conv 에 전달
  • Attention Head 자체를 S에 할당하여 최종 특징 벡터 생성
  • 이후 특징 벡터를 VAE의 잠재공간 z로 보낼 때 S를 다시 결합하여 z에서 S별로 Cluster 가 다르게 형성되도록 함

방법 3. VAE의 Latent 를 S 별로 분리 (조건부 입력)

  • S별로 다른 Latent 분포 학습
  • ELBO(S)=Eqϕ(zx,S)[logpθ(xz,S)]βKL(qϕ(zx,S)p(zS))\text{ELBO}(S) = E_{q_\phi(z|x, S)}[\log p_\theta(x|z, S)] - \beta KL(q_\phi(z|x, S) \| p(z|S))
profile
2026년 화이팅!!!

0개의 댓글