Title
- Anomaly Detection with Generative Adversarial Networks for Multivariate Time Series
이 논문 리뷰는 DSBA(김창엽) 논문 리뷰를 참고하여 작성하였습니다.
0. 논문 읽기 전에 알면 좋을 것
Cyber-Physical Systems (CPSs)
사전적 의미의 CPSs는 다음과 같음.
- 컴퓨터, 네트워크 및 물리 프로세스를 통합하는 시스템을 의미
- 컴퓨터 기반 알고리즘에 의해 제어하고 모니터링하는 메커니즘
- 물리적 세계와 컴퓨터의 디지털 세계를 연결하는 시스템으로, 이를 통해 더 효과적이고 지능적인 방식으로 물리적 환경을 모니터링하고 제어할 수 있음.
- ex) 자율 주행 시스템, 의료 모니터링, 로보틱스 시스템, 프로세스 제어 시스템 등
Abstract
📌 Cyber-Physical Systems (CPSs)
- 네트워크화된 센서와 액추에이터는 그 크기와 복잡성으로 인해 사이버 공격의 위험에 노출되어 있음.
- 기존의 접근 방식은 CPSs의 복잡하고 변화하는 특성을 효과적으로 관리하기 어려움.
- 네트워크에 연결된 센서와 액추에이터는 침입을 추적하기 위한 방대한 데이터 흐름을 제공
- 시스템의 동작을 파악하고 잠재적 위협으로 인한 비정상적인 행동을 찾아내기 위해 비지도학습 방식의 머신러닝을 활용할 수 있음.
📌 GAN 기반 이상 탐지인 GAN-AD 제안
- GAN 내에서 CPSs의 센서와 액추에이터의 정상 작동 다변량 시계열 데이터를 잡아내기 위해 LSTM-RNN을 활용함.
- 단독으로 각 센서와 액추에이터의 시계열을 다루는 대신, CPSs 내부의 다수의 센서와 액추에이터 시계열 데이터를 함께 처리함.
- Generator가 만든 데이터와 실제 샘플 사이의 차이(residual)를 이용해 CPSs의 복잡한 구조에서 잠재적인 이상치를 찾아내려는 시도를 함.
- GAN-AD 기술을 활용해 정상 조건과과 비정상 공격 상황을 구별하도록 설계함.
🤜 대상 데이터는 6단계 Secure Water Treatment (SWaT) System임.
🤜 실험 결과, 제안 방법론이 다양한 공격에 의한 이상치를 찾음.
🤜 기존 방법 대비 높은 탐지율과 낮은 fasle positive rate을 나타냄.
1. Introduction
📌 Cyber-Physical Systems (CPSs)
- CPSs는 중요한 업무 수행을 위해 상호 연동된 물리적 구조로 구성됨.
- IoT의 출현은 CPSs의 보급을 가속화시켰으며, 이로 인해 다수의 장치와 시스템이 네트워크상에서 독립적으로 소통하게 됨.
- CPSs에 대한 사이버 공격은 가장 큰 잠재적 리스크 중 하나로 간주됨.
📌 전통적인 이상 탐지 방법의 한계
- CUSUM, EWMA, Shewhart control Chart와 같은 통계 기반 제어 방법이 널리 적용되고 있음.
- IoT의 출현으로 인해 CPSs의 동적이고 복잡한 성질을 관리하는 것이 어려워짐.
📌 머신러닝 방법론을 사용
- 시그니처 중심의 접근법을 초월하여 빅데이터를 기반으로 한 더 스마트하고 유연한 해결책을 창출함.
- 이상 징후나 침입을 감지하기 위해 다양한 머신러닝 방법론, 예를 들면 지도학습 및 비지도학습을 적용하기 시작함.
하지만 머신러닝을 통한 이상 탐지 방식에는 한계점이 존재했음.
- 지도학습 방법은 신뢰성 있는 정상 데이터와 태깅된 비정상 데이터가 요구되며, 이에 따라 데이터 수집과 레이블링, 클래스 간 불균형 등의 문제가 발생
- 비지도 학습 기반 기법은 선형 Projection & Transformation 활용
📌 이와 같은 한계점을 극복하기 위해 GAN-AD 방식을 도입
- 비지도 학습 방식을 사용하는 이 모델은 다중 시계열 데이터 사이의 비선형 연관성을 파악하고 학습함.
1.1. GAN-AD
- 시계열 데이터를 다루기 위해 Generator(G)와 discriminator(D)는 각각 LSTM-RNN으로 설계됨.
📌 과정
(1) G는 잠재 공간에서 추출한 정보로 가상의 샘플을 생성하고 이를 D에게 제공하여 실제 데이터와의 차이를 판별하게
(2) D의 결과를 기반으로 시스템은 D와 G의 파라미터 값을 조정함
(3) D는 진짜와 허구인 샘플을 가능한 한 정확하게 구분하도록 학습
(4) G는 D를 속이기 위해 최대한 스마트하게 훈련함.
📌 Discriminator
- 실시간으로 얻은 Test sample과 Latent Space에서 Mapping하여 재구성한 sample 사이의 residual를 이용
- 실시간 Seires를 분류하고 Discriminator로 이상탐지작업을 수행함.
📌 과정
(1) Invert Mapping
: Test Sample -> Latent Space
(2) Residual Loss 계산
: Latent Space (z)로부터 데이터를 생성한 것과 기존 데이터 사이의 차이를 계산함.
(3) Discrimination Loss 계산
: Test Sample -> 학습한 D
(4) 두 Loss를 결합
: Residual Loss + Discrimination Loss를 결합해서 시퀀셜 CPSs 데이터의 잠재적 이상치를 탐지
Anomaly Detection
Statistical Process Control (SPC)
- 제조 공정의 품질을 모니터링하고 관리하기 위해 단변량 or 다변량 분석을 진행
- 대체로, 제조 공정에서의 평균과 분산의 변동을 확인
- 그러나 SPC 방법론은 여러 시퀀스 사이의 관계를 효과적으로 표현하는 데 한계가 있으며, 복잡하고 대용량의 데이터를 처리하는 현재의 CPSs에 적합하지 않음.
3. Anomaly Detection with Generative adversarial training
3.1. GAN with LSTM-RNN
- LSTM-RNN은 메모리 셀을 활용하여 정보를 과거 방향으로 전송하며, 이를 통해 복잡한 시계열 데이터를 이해할 수 있음.
- CCPSs에서 발생하는 시계열 데이터를 다루기 위해, GAN 내의 G와 D 모두에서 LSTM-RNN을 적용
- GAN 모델을 two-player minimax 게임으로 학습 시킴.
minGmaxDV(D,G)=εx∼pdata (x)[logD(x)]+εz∼pz(z)[log1−D(G(z))]
- 위의 식은 AnoGAN에서 언급되었으므로 pass
📌 Generator
- 생성한 sample에 대한 확률 분포를 암묵적으로 정의
- Grnn(z) -> z는 random한 Latent Vector 분포
📌 Discriminator
- 예측된 레이블과 시퀀스 레이블 사이의 평균적인 네거티브 cross entropy를 최소화하도록 훈련
📌 Discrimination Loss
📌 Generator Loss
- G는 생성된 샘플들이 D에 의해 실제로 인식되게 하는 방식으로 학습
📌 pseudo code
파란색 부분
은 GAN을 학습시키는 부분임.
(학습이 끝났을 때 G와 D를 고정시킴)
- 초록색 부분은 최적의 Zk 찾는 과정임.
- 빨간색 부분은 Residuals Loss와 Discrimination Loss를 구한 후 최종적인 Anomaly score를 구하는 과정임.
3.2. GAN-based Anomaly Score
- AnoGAN와 같이 CPSs 시계열 데이터의 이상 탐지는 Residuals과 Discrimination으로 구성됨.
- Test Sample과 일치하는 최적의 Zk를 찾는 과정임.
- 반복을 통해 에러가 충분히 작아지면 sample Zk를 Test sample에 대응하는 Latent Space에 위치한 매핑으로 정함.
📌 Anomaly Detection with Discrimination
📌 Anomaly Detection with Residuals
📌 최종 Anomaly Score
- Mini-batch stochastic optimization을 활용하여 학습함.
3.3. Anomaly Detection Framework
- LSTM-RNN은 고차원 입력을 갖고 높은 계산 복잡도를 갖음.
- PCA를 활용하여 고차원의 데이터를 사영 공간으로 변환하여 차원을 줄인 후 GAN에 데이터를 제공함.
- 사영 시킨 변수 값을 GAN-AD 모델에 전달한 뒤 Anomaly Score를 구함.
4. SWaT System and Cyber-Attacks
📌 SWaT
- SWaT의 수질 정화 과정은 P1~P6라 하는 6개의 하위 공정으로 구성됨.
📌 Cyber-Attacks
- 사이버 공격과 시스템 대응을 조사하기 위해 SWaT 시스템에 대한 다양한 실험 수행
5. Experiments
📌 다변량, 단변랑 데이터에 대한 GAN의 성능
- 50번의 반복 이후, 다변량 데이터에 대해서도 실제 데이터와 유사한 시간 연속성을 가진 시퀀스를 만들어냄.
- GAN 구조가 제대로 학습되었음을 알 수 있음.
📌 GAN-AD 평가 지표
- Accuracy, Precision, Recall, F1 Score, FPR
📌 Anomaly Detection Results
단변량 data
: 성능 Good
다변량 data
- 고차원 데이터를 PCA 사영해 저차원으로 변환
6. Conclusions
- GAN-AD라는 새로운 GAN 기반의 다변량 시계열 이상 탐지 방법을 도입
- CPSs에서의 정상적인 다중 센서 데이터의 패턴을 GAN으로 캡처하며, 시간적 특성을 잡기 위해 LSTM 구조를 채택함.
- 비지도 학습 접근법을 취하였으며, GAN-AD는 기존의 방법들에 비해 더 뛰어난 성능을 보임.
🎯 Summary
- 저자가 뭘 해내고 싶어 했는가?
- 복잡한 네트워크화된 Cyber-Physical Systems (CPSs)에 대해 새로운 Generative Adversarial Networks 기반의 이상 탐지 방법 (GAN-AD)을 제안
- CPSs의 정상 작동 조건에서 센서와 액추에이터의 다변량 시계열 분포를 포착하기 위해 LSTM-RNN을 사용
- 이 연구의 접근 방식에서 중요한 요소는 무엇인가?
- GAN의 Generator와 Discriminator 모두에서 LSTM-RNN을 사용하여 CPSs의 다변량 시계열 데이터를 처리함.
- 각 센서와 액추에이터의 시계열을 독립적으로 처리하는 대신, CPS 내의 여러 센서와 액추에이터의 시계열을 동시에 모델링하여 그들 사이의 잠재적 상호 작용을 고려하는 것
- 어느 프로젝트에 적용할 수 있는가?
- 네트워크화된 Cyber-Physical Systems (CPSs)에 적용
- 참고하고 싶은 다른 레퍼런스에는 어떤 것이 있는가?
- 느낀점은?
- 기존 LSTM-RNN과 AnoGAN을 결합한 방법론이었음. AnoGAN을 안 읽은 사람들이라면 이걸 먼저 꼭 읽거 오자!
- 논문 설명이 친절하게 잘 나와있어서 이해하기 수월했음.
📚 References
논문
Youtube