논문 제목 : Multi-Channel Multi-Scale Convolution Attention Variational Autoencoder (MCA-VAE): An Interpretable Anomaly Detection Algorithm Based on Variational Autoencoder
산업 자동화와 IoT 기술의 급속한 발전으로 공장 환경에서는 대규모 다차원 시계열 데이터가 지속적으로 생성되고 있다. 이러한 환경에서 이상 탐지는 설비 고장, 생산 중단, 비용 손실을 방지하기 위한 핵심 기술로 자리 잡았다. 따라서 이상 탐지 알고리즘은 높은 정확도뿐 아니라, 이상을 유발한 특정 센서 또는 장비를 신속히 식별할 수 있는 해석 가능성을 동시에 요구받는다.
그러나 기존 신경망 기반 이상 탐지 모델들은 다차원 시계열 데이터에 포함된 차원 내 시간적 특징과 차원 간 관계적 특징을 동시에 효과적으로 포착하지 못하는 한계를 가진다. 또한 두 특징을 모두 고려하는 일부 복잡한 모델은 이상 원인을 설명하지 못해 실제 산업 현장 적용에 어려움이 있다.
본 연구에서는 이러한 문제를 해결하기 위해, 변이형 오토인코더(VAE)를 기반으로 한 해석 가능한 이상 탐지 모델인 MCA-VAE(Multi-Channel Multi-Scale Convolution Attention Variational Autoencoder)를 제안한다. 제안 모델은 다중 스케일 가중치 공유 컨볼루션을 통해 각 차원의 시간적 특징을 추출하고, 멀티 헤드 어텐션 메커니즘을 활용하여 센서 간 관계적 특징을 모델링한다. 이후 추출된 특징을 VAE 잠재 공간에 매핑하고 재구성 오차를 기반으로 이상을 탐지한다.
또한 VAE의 확률 분포 특성을 활용하여 각 센서별 조건부 확률을 계산함으로써, 이상 발생 원인을 센서 단위로 해석할 수 있는 메커니즘을 제공한다. 실험 결과, 제안 모델은 산업 제어 데이터셋에서 AUC 0.982, F1 점수 0.905를 기록하며 기존 베이스라인 대비 우수한 성능을 보였고, 동시에 정확한 이상 원인 분석 능력을 확인하였다.
최근 산업 제어 시스템은 IoT 기술과 네트워크 인프라의 발전으로 인해 점점 더 많은 센서와 장비가 연결되는 구조로 변화하고 있다. 이러한 변화는 생산 공정의 자동화와 정밀 모니터링을 가능하게 하지만, 동시에 시스템 전반의 위험도를 증가시키는 요인이 된다.
현대 제조 공장에서는 다수의 센서와 액추에이터가 동시에 동작하며 고차원 다변량 시계열 데이터를 생성한다. 이 데이터는 설비 상태를 실시간으로 반영하지만, 이상 상황이 발생할 경우 빠르게 전체 시스템으로 전파될 수 있다. 예를 들어 특정 센서의 비정상 값이 즉시 탐지되지 않을 경우, 국소적 고장이 전체 생산 라인으로 확산되어 심각한 가동 중단과 경제적 손실로 이어질 수 있다.
이러한 배경에서 이상 탐지 알고리즘은 단순한 이벤트 감지를 넘어 다음과 같은 요구 조건을 충족해야 한다.
그러나 기존 방법들은 다음과 같은 구조적 한계를 가진다.
첫째, 많은 모델이 차원 내 시간적 특징과 차원 간 관계적 특징 중 하나에만 집중한다. 일부 모델은 개별 센서의 시간 패턴을 잘 학습하지만 센서 간 상호작용을 충분히 반영하지 못하며, 반대로 관계 구조에 집중한 모델은 각 센서의 세밀한 시간 변화를 놓치는 경우가 많다.
둘째, 두 특징을 모두 고려하는 모델이라 하더라도 해석 가능성이 부족한 경우가 대부분이다. 이러한 모델은 특정 시점에서 이상이 발생했음을 알려줄 수는 있지만, 실제로 어떤 센서가 문제의 원인인지 설명하지 못한다. 이는 산업 현장에서 유지보수 엔지니어가 즉각적인 조치를 취하는 데 큰 제약이 된다.
결과적으로, 기존 다변량 시계열 이상 탐지 기법은 다음 두 가지 측면에서 개선이 필요하다.
본 연구는 이러한 문제를 해결하기 위해 MCA-VAE 모델을 제안한다. 제안된 방법은 다중 스케일 컨볼루션을 통해 각 센서의 시간 패턴을 추출하고, 멀티 헤드 어텐션을 활용하여 센서 간 관계를 학습한다. 이후 VAE 기반 확률 모델을 통해 이상을 탐지하며, 재구성 확률 분해를 통해 센서별 이상 점수를 산출한다.
이를 통해 기존 방법이 가지는 정확도와 해석 가능성의 트레이드오프를 완화하고, 실제 산업 제어 환경에서 활용 가능한 이상 탐지 프레임워크를 제시하는 것을 목표로 한다.

시계열 이상치 탐지는 대상에 따라 단변량과 다변량으로 나눌 수 있다.
단변량 시계열 이상치 유형은 점 이상치와 패턴 이상치라는 두 가지 주요 범주로 나눌 수 있다. 연속된 점들의 집합은 패턴 이상치를 유발하며, 이는 주기 이상치와 모양 이상치, 추세 이상치로 더 세분화 될 수 있다.
다변량 시계열의 이상치 유형은 세 가지 범주로 나눌 수 있다. 여기엔 단변량의 가장 일반적인 이상치 유형도 속하, 상관 이상치와 상관-시간 이상치라는 두 가지 고유한 이상치 유형이 있다. 상관 이상치는 여러 지표 간의 관계가 갑작스러운 변화를 겪었거나 과거 관계를 위반 했음을 나타낸다. 상관-시간 이상치는 상관 이상치와 시간 이상치를 모두 포함하며 탐지하기 가장 쉬운 이상치 유형이다.
현재 이상치 탐지 모델들은 시계열 데이터의 각 차원을 모델링하는 데 집중하여 시계열 데이터 내의 차원 간 상관 관계를 무시하거나, 차원 간 상관관계를 추출하기 위해 복잡한 구조를 사용하지만, 각 차원 데이터의 시간 종속성에 대한 상세한 모델링 과정이 부족하다는 것을 이 논문에서는 문제점으로 지적한다. 따라서 더 나은 이상치 탐지 정확도를 달성하기 위해 차원 내 시간 종속성과 차원 간 상관관계를 동시에 모델링 하는 것을 제안한다.

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

모델은 위의 그림에서 나타낸 바와 같이 세 부분으로 구성된다.
다중 스케일 가중치 공유 컨볼루션 네트워크(Multi-Scale Weight Sharing Convolutional Network)
다중 헤드 어텐션 메커니즘(Multi-Head Attention Mechanism)
개선된 변이형 오토인코더(Improved Variational Autoencoder, VAE)
기존의 1D CNN 모델은 단일 채널 시계열 데이터에만 적합하며 , 여러 상관된 채널의 정보를 완전히 활용하지 못한다. 다중 채널 1D CNN 모델은 여러 개의 독립적인 Conv 커널을 사용하여 각 채널에 대해 Conv 연산을 수행한 후, 각 채널의 Conv 결과를 병합한다. 이 접근 방식은 여러 차원에서 시간적 특징을 동시에 추출하고 병합 연산을 통해 다중 채널 정보를 완전히 활용하여 모델의 성능과 정확도를 향상시킬 수 있다.
이를 적용하기 위해 각 입력 데이터 채널을 독립적으로 처리하기 위하여 다중 채널 커널 K를 생성해야 하는데, 이 수식은 아래와 같다.

단일 채널에 대한 Conv 과 다른 점은 모든 채널에 대한 추가적인 합산이 다르다는 점이다. 다중 채널 Conv에서는 각 채널에 대해 Conv 커널이 설정되며, 각 Conv 커널의 가중치 수가 더 많아져 모델 파라미터가 커지고 학습 속도가 느려지며 과적합 위험이 증가한다.
때문에 이 논문에서는 개선된 다중 스케일 가중치 공유 Conv 방법을 제안하는데, 많은 파라미터와 특징 추출 효과 사이의 균형과 다른 시간 스케일에 적응하지 못하는 문제를 해결하기 위해 가중치 공유 방법을 제안한다.
(다른 시간 스케일에 적응하지 못하는 문제란, 하나의 고정된 크기의 커널은 모든 시간 스케일의 특징을 동시에 잘 포착하기 어렵다는 말이다.)
가중치 공유는 서로 다른 위치에 있는 Conv 커널에 동일한 파라미터를 사용하는 것을 의미한다. 이 방법은 각 Conv 커널의 파라미터 수를 단일 Conv 커널과 동일한 수로 압축할 수 있어, 신경망의 파라미터 수를 크게 줄일 수 있다.
구체적으로, 컨볼루션 레이어에 k개의 컨볼루션 커널이 포함되어 있고, 각 컨볼루션 커널의 크기가 이며, 입력 채널 수가 이고, 출력 채널 수가 이라고 가정하면,
가중치 공유 방법을 사용하지 않으면 이 레이어의 파라미터 수는 이다. 하지만 가중치 공유 방법을 사용하면 이 레이어의 파라미터 수는 에 불과하다. 따라서 가중치 공유는 파라미터 수를 크게 줄여 모델의 복잡성을 감소시키고 모델의 학습 속도 및 일반화 성능을 향상시킬 수 있다.
하지만 global 가중치 공유 방법은 모든 conv 커널이 동일한 가중치 행렬을 사용하기 때문에 학습이 불충분하다는 문제가 있다.
이런 문제를 해결하기 위해 이 논문에선 추가로 local 가중치 공유 방법을 제안한다. local 가중치 공유는 가중치 행렬을 여러개의 지역 가중치 행렬로 분해하며, 지역 가중치 행렬은 독립적으로 조정될 수 있다.

수식 (2)는 global 가중치 공유 식이며, (3)은 local 가중치 공유 식이다. 여기서 는 좌표 (i, j)에서의 지역 가중치 행렬 내 가중치를 나타낸다. 논문 저자들은 데이터 간의 상관관계를 분석하여 상관관계가 강한 다차원 데이터에 대해 먼저 동일한 지역 가중치 행렬을 사용한다고 한다.
(→ 내가 지금 적용하고자 하는 아이디어에는 센서들을 그룹화 해서 step 별로 사용하면 될 것 같다.)
고정된 Conv 커널이 특정 스케일의 특징만 포착할 수 있다는 문제를 해결하기 위해 데이터셋에서 다양한 시간 스케일의 고도로 표현력 있는 잠재 특징을 추출하기 위한 다중 스케일 Conv 커널을 이 논문에선 추가로 제안한다. 여기선 세 개의 병렬 경롤르 가진 Conv 레이어를 구성하며, 각 경로는 서로 다른 커널 크기를 가지고, 각 Conv 레이어는 다중 Conv 방법을 사용한다.

논문에선 공장 데이터는 단기적인 규칙성(단일 센서 스케일에서 제품이 공정에 들어가거나 나가는 순간을 고려), 중기적인 패턴(단일 공정 내에서 발생하는 생산 공정을 고려), 그리고 장기적인 변화(운송, 생산, 검사를 포함하여 한 제품에서 다음 제품까지의 전체 주기를 고려)를 포함하여 이 세가지 상황을 포괄하기 위해 주기를 짧은주기, 중간 주기, 긴주기로 크기를 선택했다고 한다.
(→ 이 부분을 내 현업 도메인 지식에 맞춰 설명 가능하고 해석 가능한 주기로 변경하면 좋을 것 같다.)
이후 Conv 및 풀링 후 얻어진 특징 벡터들은 연결되어 새로운 전역 특징 벡터 행렬을 형성하는데, 이후 어텐션 메커니즘은 이런 계층적 특징으로 부터 유횽한 정보를 추출한다. 다양한 스케일의 Conv 레이어를 사용하여 특징을 추출한 후, 데이터 공간 차원을 줄이고 가장 중요한 특징을 유지하기 위해 특징 선택 및 다운 샘플링을 수행한다. 여기선 맥스 풀링을 사용하여 특징 맵에 대한 다운 샘플링 연산을 수행한다.

여기서 는 k의 커널을 사용하여 추출된 특징 맵을 나타내고, , 는 샘플링 후의 특징 맵을 나타낸다.

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

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

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

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

여기서 베타는 재구성 오류와 KL divergence 오류의 상대적 중요도를 제어하는데 사용한다. 만약 베타가 작으면, 모델은 재구축에 더 집중하여 입력 데이터를 더 정확하게 복원하는데 능숙해진다. 하지만 잠재 공간이 너무 압축되어 잠재 변수의 다양성이 줄어들고 새로운 데이터를 생성하는 능력이 떨어질 수 있다.
반대로 베타가 크다면 잠재 공간의 여러 지점에서 샘플링 했을 때 생성되는 데이터가 다양성을 가지게 되기 때문에 정상 데이터를 완벽하게 복원하는 능력이 떨어질 수 있다.
이 논문에선 이상확률에 대해 계산하여 비정상 스코어를 계산할 수 있도록 하는 방법또한 제안하였는데, 알고리즘이 이상 설명 기능을 제공하여 엔지니어가 비정상 장치를 신속하게 탐지할 수 있도록, VAE의 확률론적 이론을 결합하고 이상 설명을 위해 재구성 확률을 사용한다.

여기서 는 VAE의 디코더를 나타내고, 는 디코더의 매개변수를 나타냅니다. 그런 다음 각 차원의 재구성 확률 를 계산한다.
(잠재 변수 조건 가 주어졌을 때 i번째 차원의 에 대한 확률)
이후, 가우시안 분포를 통해 의 확률 밀도 함수 값을 계산한다.

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

재구성 확률에 음수 로그 변환을 적용한다.
여기서 는 i번째 차원에서 입력샘플 의 이상 점수를 나타내며, 이상 점수가 높을 수록 해당 샘플은 더 비정상임을 나타낸다.
이 논문에서 제안된 방법을 응용하여 현업 문제에 적용을 해야한다. 크게 3가지 방식으로 적용할 수 있는데, 구체화는 팀원들과 논의한 후에 ..!
방법 1. S 별 Attention Masking
방법 2. S별로 Multi Scale Convolution Network를 만들어 학습
방법 3. VAE의 Latent 를 S 별로 분리 (조건부 입력)