Bamboo is coming

VAE(Variation Auto Encoder) 본문

인공지능 개념

VAE(Variation Auto Encoder)

twenty 2023. 10. 26. 20:48

오토인코더(Autoencoder)와 변분 오토인코더(VAE, Variational Autoencoder)는 모두 입력 데이터를 압축하고 복원하는 작업을 수행하는 딥러닝 모델입니다. 그러나 두 모델은 몇 가지 중요한 차이점을 가집니다.

오토인코더 (Autoencoder):
목적: 데이터의 차원을 축소(Dimensionality Reduction), 노이즈 제거(Denoising), 특성 학습(Feature Learning) 등에 주로 사용됩니다.
구조: 인코더와 디코더로 구성되어 있으며, 인코더에서 입력을 압축(encode)하고 디코더에서 복원(decode)합니다.
확률론적 접근: 오토인코더는 일반적으로 확률론적이지 않습니다. 즉, 동일한 입력에 대해 항상 동일한 출력을 생성합니다.

변분 오토인코더 (VAE):
목적: 데이터의 잠재적 표현을 학습하는 것 외에, 새로운 데이터를 생성(Generation)하는 데에도 사용될 수 있습니다.
구조: 인코더에서 입력의 평균과 분산을 계산하고, 이를 바탕으로 샘플링을 수행한 후 디코더로 전달하여 복원합니다.
확률론적 접근: VAE는 확률적입니다. 동일한 입력에 대해 다양한 출력을 생성할 수 있습니다.

 

주요 차이점:
확률성: VAE는 확률적인 모델이며, 오토인코더는 그렇지 않습니다.
데이터 생성: VAE는 새로운 데이터를 생성할 수 있는 능력이 있으나, 일반 오토인코더는 이에 한계가 있습니다.
목적: 오토인코더는 주로 차원 축소나 노이즈 제거에 사용되며, VAE는 이 외에도 데이터 생성 등에도 활용됩니다.
복잡성: VAE는 인코더에서 평균과 분산을 계산하고 샘플링 등 추가적인 과정이 필요하므로 구조가 복잡합니다.

 

변분 오토인코더(VAE, Variational Autoencoder)는 동일한 입력에 대해 다양한 출력을 생성할 수 있는 이유는 그 구조와 작동 원리 때문입니다. VAE는 인코더가 입력 데이터의 잠재 공간(latent space)으로의 매핑을 확률 분포로써 표현합니다. 즉, 인코더는 입력 데이터를 압축하여 평균(mean)과 로그 분산(log variance)라는 두 가지 파라미터를 출력합니다.

이 평균과 분산은 정규 분포(Normal Distribution)의 파라미터로 사용되며, 이 분포에서 샘플링을 수행합니다. 샘플링 과정에서 무작위성(randomness)이 도입되기 때문에 동일한 입력에 대해 다양한 잠재 변수(latent variables)가 생성될 수 있습니다. 이렇게 샘플링된 잠재 변수는 디코더를 통해 원래의 데이터 공간으로 복원됩니다.

간단한 예로, "같은 사람이 웃는 얼굴"이라는 입력 이미지가 있다고 가정해보겠습니다. VAE는 이 입력 이미지를 표현하는 잠재 공간의 확률 분포를 찾고, 이 분포에서 여러 번 샘플링을 할 수 있습니다. 각 샘플링은 약간씩 다른 "웃는 얼굴"을 생성할 것이고, 이로 인해 다양한 출력이 가능하게 됩니다.

이러한 확률론적 접근 방식 때문에 VAE는 동일한 입력에 대해 다양한 출력을 생성할 수 있으며, 이는 데이터 생성이나 다양한 스타일의 변환 등에 유용하게 활용됩니다.

'인공지능 개념' 카테고리의 다른 글

in-context learning  (0) 2024.01.27
distributed-representation  (0) 2024.01.19
생성형 AI 평가지표  (0) 2023.10.17
비지도학습(Unsupervised learning)  (0) 2023.10.05
생성형 모델  (1) 2023.10.04
Comments