[부스트캠프 AI Tech 7기] AEs (Autoencoders)

jinnk0·2024년 12월 6일

AE (Autoencoder)


Encoder와 Decoder로 구성되어 입력된 데이터를 복원하도록 학습하는 모델이다.

Encoder : 입력 이미지를 저차원의 잠재 공간(Latent Space)로 매핑하여 잠재 변수(z)로 변환한다.
Decoder : 잠재 변수를 입력으로 하여 원본 이미지를 복원한다.

학습 과정에서 목적 함수로 reconstruction loss를 사용한다. reconstruction loss는 원본 이미지와 복원 이미지의 차이를 최소화하기 위한 것으로, 보통 MSE, MAE 등을 활용한다.

VAE (Variational Autoencoder)

Autoencoder와 기본적으로 동일한 구조를 갖지만, 잠재 공간을 단순히 잠재 변수로 변환하는 것이 아니라 잠재 공간의 분포를 가정하여 학습한다.

모델 학습을 위한 목적함수로 기존의 reconstruction loss 뿐만 아니라 가정한 잠재 공간의 분포를 반영하기 위해 KL divergence를 함께 정의하여 사용한다.

VQ-VAE (Vector Quantized-Variational Autoencoder)


기본적인 구조는 VAE와 동일하지만, 잠재 공간(Codebook)의 분포를 가정할 때 연속적인 구조가 아닌 이산적인 구조를 가정하여 사용한다.

이산적인 구조를 가정하면 연속적인 구조보다 효율적인 데이터 압축과 표현이 가능하고, 고차원 데이터의 복잡성을 줄일 수 있다. 또한 불연속적인 구조로 인해 모델이 더욱 명확한 구분을 학습할 수 있다.

이러한 이산적인 잠재 공간은 이미지, 텍스트, 음성 등과 같은 데이터에 더욱 적합하다.

학습 과정에서 목적함수는 기존의 reconstruction loss를 사용하고, 별개로 잠재공간(codebook)을 나타내는 잠재 벡터 e와 encoder를 stop-gradient를 통해 따로 계산한다.

0개의 댓글