쏴아리의 딥러닝 스터디

Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery(2017) 본문

Anomaly Detection

Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery(2017)

말해보시개 2021. 4. 16. 21:08

Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery

 

 

 

 Abstract

  질병의 발병을 모니터링 하기 위하여, 이상한 이미지를 마킹하는 작업은 도전적인 문제입니다. 일반적으로 모델은 많은 라벨 데이터를 필요로 하기 때문입니다. 하지만 라벨을 annotation하는 작업은 비용이 많이 든다는 한계점이 있습니다. 본 연구에서는 비지도 학습기반의 방법론 AnoGAN을 통해 이미지 데이터를 위한 이상탐지를 수행합니다. AnoGAN은 정상데이터의 다양성의 Manifold를 학습하기 위한 Deep Convolutional Generative Adversarial Network로서, 새로운 이상 데이터를 latent space에 mapping하여 스코어링합니다. 새로운 데이터에 적용되었을 때, 모델은 이상탐지를 수행하고, 해당 이미지 패치가 학습한 분포로부터 fitting이 되는지 스코어링 합니다. 

 

 

 Introduction

 

Anomaly Detection Framework

Anomaly Detection Framework는 다음과 같습니다.

1) Figure 1의 가장 왼쪽 그림: Preprocessing

  • Flattening of the retinal area, patch extraction and intensity normalization

2) Figure 1의 파란색 Stage: Training the GAN 

  • Normal Data(Healthy data)를 활용하여 generative model을 adversarial training합니다. 

3) Figure 1의 붉은색 Stage: Identifying anomalies 

  • Labeled Test Data(Unseen data)를 활용하여, 이상이 있는 이미지를 탐지하고 이미지 내 anomaloues region(anomalies)을 잘 찾아내는지를 체크 합니다. 

 

 

 Generative Adversatial Representation Learning to Identify Anomalies

 

Figure 2는 AnoGAN에서 사용하는 (a) Deep convolutional generative adverdarial network(DCGAN)과, (b) normal, anomalous image간 discriminator 마지막 layer에서의 feature representation의 차이점을 보여주고 있습니다. 

 

(a) Deep convolutional generative adversarial network

  • Generator G는 noise z값을 입력받아 Fake Image를 생성합니다. 
  • Discriminator D는 Fake Image와 Real Image를 구분하는 분류 역할을 수행합니다. 

(b) t-SNE embedding

  •  파란색으로 표현된 정상 이미지, 붉은색으로 표현된 비정상 이미지를 Discriminator에 입력 한 뒤, Discriminator의 final layer feature representation 결과입니다. 
  • 정상데이터와 비정상데이터가 feature representation에서 잘 구분이 되는 것을 확인 할 수 있습니다.

 

 

 

AnoGAN의 동작방식 

1) Step 1: DCGAN 훈련

물공's 딥러닝

AnoGAN은 Normal Data만을 활용하여 DCGAN을 훈련합니다.

  • Generator G: Latent Space에서 Z를 입력 받아 Fake Image G(Z)를 생성합니다. 
  • Discriminator D: Real Image와 Fake Image를 구분하기 위한 분류기 입니다. 
    • 훈련 과정에서의 Real Image는 Only Normal Data 입니다. 

 

2) Step 2: Generator G와 Discriminator Z의 Parameter를 고정하고 Fake Image 생성 

물공's 딥러닝

  • Step 1)에서 정상 데이터로만 학습된 DCGAN이 있습니다. 
  • DCGAN의 Generator G와 Discriminator D의 Parameter를 Fix한 뒤, 최적의 z값을 찾도록 학습을 진행합니다. 
  • Latent Vector Z1을 Random Sampling 한 뒤, Generator G에 입력합니다.
  • Generator G의 출력 결과 G(Z1)는 Normal Image가 생성됩니다. 
    • Generator G는 Step 1)에서 Normal Data로만 학습을 하였기 때문입니다.  

 

 

3) Step 3: Residual Loss

물공's 딥러닝

  • Step 2)에서 생성된 Fake Image G(Z1)와 Real Image를 비교하여 Residual Loss를 계산합니다.
  • Residual Loss의 정의는 다음과 같습니다. 

Residual Loss

  • Residual Loss는 Real 이미지(query image x)와 Generated Image G(Zr)간 visual dissimilarity를 측정합니다. 

 

 

4) Step 4: Discrimination Loss 

물공's 딥러닝

  • Discrimination Loss를 계산합니다. 
  • 여기서 Discrimination Loss란 Fake Image와 Real Image를 Discriminator에 입력하여 나온 Feature Space에서의 Dissimilarity를 의미합니다. 

discrimination loss

  • f: Discriminator의 intermediate layer output

 

 

 

5) Step 5: Overall Loss = Residual Loss + Discrimination Loss 

  • Overall Loss = Residual Loss + Discrimination Loss를 계산합니다.
    • Overall Loss는 Residual Loss와 Discrimination Loss의 가중합계이며, Lambda가 가중치 입니다. 

Overall Loss

  • Overall Loss를 Objective function으로 정의하고 Backpropagation을 통해 Overall Loss를 Minimize 하기 위한 최적의 latent vector를 탐색합니다.  
  • 논문에서는 500번 Iteration을 진행합니다. Z1->Z2->...->Z500
  • 최적화 이후 Overall Loss를 Anomaly Score로 사용합니다. 
    • 테스트 단계에서 정상데이터가 들어왔다면, Overall Loss가 낮을 것입니다. 
      • 훈련데이터가 정상데이터로만 구성되어있는데, 훈련데이터와 유사한 이미지가 입력된다면 Generator가 생성한 Fake Image가 Real Image와 유사할 것이기 때문입니다. 
    • 테스트 단계에서 비정상 데이터가 입력되었다면, Overall Loss가 클 것입니다.
      • 훈련데이터에서 경험하지 못한 새로운 abnormal image가 들어온다면, Generator가 생성한 Fake Image와 Real Image간 차이가 클 것이기 때문입니다.  

 

 

 Experminets

Figure 3는 AnoGAN이 예제 이미지에서 anomalies를 잘 감지하는지 pixel-level에서 살펴본 것입니다. 

  • 첫번째 Row: Real Input Image
  • 두번째 Row: AnoGAN의 Generator가 생성한 Fake Image(첫번째 Row의 각 Real Input Image에 대응됨)
  • 세번째 Row: Residual overlay
    • Red bar: residual score에 의한 Anomaly identification
    • Yellow bar: discrimination score에 의한 Anomaly identification
  • 첫번째, 두번째 블록: 훈련데이터의 OCT Healthy Cases로부터 추출된 Normal Image
  • 세번째 블록: 테스트데이터의 diseased cases로 부터 추출된 Images 
  • 마지막 column: Hyperrefective foci(초록색 box) 

 

 Conclusion

 GAN을 사용한 이상탐지 방법론인 AnoGAN을 제안하였습니다. AnoGAN은 Generator와 Discriminator를  concurrently 훈련하여, 정상데이터로만 이루어진 비지도 학습기반 훈련방법론을 통해 훈련데이터에서 경험하지 않은 이상(anomalies)을 탐지 합니다. 

 

실험결과, AnoGAN은 retinal fluid와 HRF와 같은 훈련데이터와 다른 형태의 이상(anomalies)을 잘 탐지함을 확인하였습니다. 따라서 AnoGAN은 새로운 이상(anomalies)를 탐지하는데 효과적일 것으로 기대됩니다. 

 

 

같이 보시면 좋아요.

 

 

포스팅 내용이 도움이 되었나요? 공감과 댓글은 큰 힘이 됩니다!

 

Comments