딥러닝/VAE

[Autoencoder] 오토인코더 간략 설명

녕집사 2022. 2. 6. 22:20
반응형

최근 딥러닝의 부상으로 다양한 딥러닝 모델들의 관심이 뜨겁습니다.

 

그중에서도 생성모델인 autoencoder에 대해 간단하게 설명하고자 합니다.


* Autoencoder란?

  • Encoder와 Decoder로 구성된 딥러닝 모델을 의미합니다.
  • 입력과 출력의 크기가 동일합니다.
  • 가장 핵심은 데이터를 잘 압축하는 latent space vector를 얻고자 하는 것입니다.
    • Manifold Learning
  • Latent space vector를 통해서 데이터를 생성하는 것이 가능해집니다.
    • Generative model

 

Input과 output이 같으며 중간에 latent space vector를 가지고 있음

 

latent space vector의 값의 조정을 통해서 입력값을 다양한 형태로 변환이 가능해짐 - generative model

이미지 출처:
https://thilospinner.com/towards-an-interpretable-latent-space/
https://www.jeremyjordan.me/variational-autoencoders/
 

VISxAI 2018: Towards an Interpretable Latent Space

Abstract We present a comparison between autoencoders and variational autoencoders. For this, we describe their architecture and explain the respective advantages. To gain a deeper insight into the encoding and decoding process, we visualize the distributi

thilospinner.com

 

* Autoencoder의 활용도

  • Denoising
    • 이미지의 노이즈를 제거하는데 사용할 수 있습니다.
    • 노이즈가 있는 이미지를 Autoencoder를 통해 변환하면 노이즈가 제거된 이미지를 얻을 수 있습니다.

노이즈가 낀 이미지(왼쪽) 오토인코더를 통해 노이즈가 제거된 이미지(오른쪽)

 

  • 음성 잡음 제거
    • 주변 잡음이 있는 음성의 주변 잡음을 제거합니다.

 

* Autoencoder의 손실 함수

  • Autoencoder의 기본적인 손실 함수는 MSE(Mean Square Error)함수를 사용하여 backpropagation 계산을 진행합니다.
  • 입력값과 Autoencoder를 통해서 생성된 출력값의 차이가 최소화 되도록 학습합니다.
  • 하지만 MSE가 더 작다고 해서 이미지를 더 잘 생성한다고 하기는 어렵습니다.
    • 아래의 이미지에서 b의 경우는 생성된 이미지가 일부만 손실이 된 것을 알 수 있고, c의 경우에는 생성된 이미지가 픽셀이 옮겨진 것을 알 수 있습니다. 이때 MSE를 계산하면 b의 값이 낮게 측정이 되지만 눈으로 보기에는 c의 이미지가 원본 이미지에 가까운 것을 알 수 있습니다. 

a: 원본 이미지, b: 일부가 잘린 생성이미지, c: 픽셀이 옮겨진 생성이미지

* Autoencoder의 목적

  • autoencoder의 목적은 원본 이미지처럼 잘 생성하는 생성모델을 학습시키는 것을 목표로 합니다. 
  • 위에서 설명한 것처럼 MSE의 값이 낮다고만 해서 좋은 모델이라고 할 수는 없습니다. 
  • 따라서, MSE 뿐만 아니라 다양한 손실 함수를 조합하거나 원본의 이미지를 잘 표현할 수 있는 좋은 모델 구조를 활용하여 사용하는 것이 필요합니다.
    • latent space vector가 원본 이미지를 다양한 형태로 표현할 수 있는 벡터로 만들어지는 것이 중요합니다.
  • 다양한 Autoencoder에 대해서 요약하여 설명한 review 논문을 소개해드리도록 하겠습니다.

 

* 다양한 Autoencoder 리뷰 논문

  • 아래의 논문은 Autoencoder에 대한 다양한 접근 방법에 대한 논문들을 review한 논문입니다.
  • Autoencoder의 다양한 형태에 대해 학습할 수 있고, 본 게시글에서는 설명하지 않은 수식에 관련한 부분도 설명이 되어있습니다. 
https://arxiv.org/abs/2003.05991
반응형