Review/논문 리뷰

[논문 리뷰] 이상치 탐지 | Adversarial Autoencoder

어쩌다통계 2022. 11. 3. 01:00
728x90

이 글이 도움되셨다면 광고 클릭 부탁드립니다 : )

 

이번 포스트에서는 Autoencoder와 GAN이 결합된 Adversarial AutoEncoders(AAE) 논문을 리뷰해보려고 합니다.

2015년에 게재된 해당 논문은 2022년 10월 기준 2450회 인용될 만큼 많은 주목을 받고 있고 있습니다.

일반적인 Autoencoder(AE)나 Variational AutoEnocoder(VAE)와는 달리 어떤 구조를 가지는 지, 강점은 무엇인 지 차근차근 알아가 보겠습니다. 아래 내용은 논문을 바탕으로 작성하였으며, 중간중간 제가 이해하는데 도움이 되었던 내용(이활석님 자료)들도 추가하였습니다.

AE/VAE에 대한 전반적 이해가 필요하시면 이활석님의 네이버 d2-오토인코더의 모든 것 강의를 추천합니다.

 


0. Abstract

본 논문에서는 Generative adversarial networks(GAN)을 사용해 AE의 hodden code vector(z)의 aggregated posterior를 임의의 prior distrubution과 일치시켜 variational inference를 수행하는 probabiliity autoencoder인 AAE를 제안합니다.

aggregated posterior를 prior distribution을 일치시키면, prior space의 어떤 부분에서 sampling해도 의미 있는 sample들을 보장하게 됩니다. 결론적으로, AAE의 decoder는 prior가 data distribution으로 맵핑되는 deep generative model을 학습하게 됩니다.

AAE는 semi-supervised classification, disentangling style and content of images, unsupervised clustering, dimensionality reduction과 data visualization 등에 적용할 수 있습니다.

 

 

1. Introduction

데이터의 분포를 파악하기 위한 generative model을 만드는 것은 머신러닝의 주요 과제입니다. 최근까지는 주로 MCMC기

반으로 deep generative model을 학습해왔으나, 훈련이 진행될수록 부정확한 gradient of loglikelihood을 계산하게 됩니다.

그래서 최근 direct back-propagation을 통해 학습하고 MCMC의 한계를 피할 수 있는 VAE나 GAN과 같은 generative model이 제안되었습니다.

 

본 논문에서는 AE를 generative model로 전환할 수 있는 AAE라는 방법을 제안합니다.

 

AAE는 dual objectives를 가지고 학습을 합니다.

  • traditional reconstruction error criterion
  • adversarial criterion, AE의 latent representation의 aggregated posterior distribution과 arbitrary prior distribution을 일치

이와 같은 학습 criterion은 VAE와 strong connection을 보입니다. 이러한 학습으로 Encoder는 data distribution을 prior distribution으로 convert 하도록 학습하고 Decoder는 prior에서 data distribution으로 맵핑하는 deep generative model을 학습하게 됩니다.

 

(이활석님 자료)

오토인코더 설명

 

오토인코더 별 목적

  • Autoencoder : Manifold Learning
  • VAE : Generative Model Learning

VAE Loss fuction

 

 

2. Adversarial Autoencoder

Adversarial Autoencoder

  • VAE의 KL term(인코딩 된 잠재 분포 $q(z|x)$와 사전 정규분포를 일치시키는)이 Gaussian이 아니면 구하기 어려워 KL 대신 GAN Loss를 사용
  • VAE는 monte carlo로 KL-divergence 계산이 필요하기 때문에 특정 함수로 지정(explicit density, 주로 가우시안)해야 하지만, AAE는 prior를 특정 함수로 지정하지 않고 샘플링만 가능한 Implicit density를 가정
  • Generator가 생성한 것은 Fake로 인식되고 Prior distribution에서 나온 것은 True로 인식하도록 학습

AAE Architecture

 

학습 방법

 

3. Likelihood Analysis of Adversarial Autoencoders

 

 

4. Supervised Adversarial Autoencoders

Label 정보를 통합하기 위해서 Decoder에 label의 one-hot vector encoding을 추가하도록 구조를 변경하였습니다. Decoder는 label 정보와 hidden code $z$를 모두 사용하여 이미지를 reconstruct 합니다.

 

 

 

5. Semi-Supervised Adversarial Autoencoders

Semi-Supervised AAD는 AAE의 inference network가 Encoder $q(z, x|y)$를 사용하여 discrete class 변수 $y$와 continuous latent 변수 $z$을 모두 예측할 수 있는 구조를 가집니다.

Decoder는 class lable을 one-hot vector로 사용하고 hidden code $z$를 사용하여 이미지를 reconstruct 합니다.

AE의 hidden representation을 정규화하는 두 개의 개별 adversarial network가 있습니다.

  • 첫 번째 adversarial network는 label representation에 범주형 분포를 부여하고, latent class variable $y$가 style 정보를 전달하지 않고 $y$의 aggregated posterior distribution가 범주현 분포와 일치하도록 ensure 합니다.
  • 두 번째 adversarial network는 latent variable $z$가 continuous Gaussian variable임을 ensure 하도록 style representation에 Gaussian distribution을 지정합니다.

 

 

6. Unsupervised Clustering with Adversarial Autoencoders

7. Dimensionality Reduction with Adversarial Autoencoders

8. Conclusion

 

 

9. 구현 코드

반응형