https://kr.mathworks.com/discovery/autoencoder.html
오토인코더는 생성형 딥러닝 모델 구조 중 하나로 인코더와 디코더로 이루어져 있다.
https://taeu.github.io/paper/deeplearning-paper-vae/
AE에서는 단순히 인코더 output인 임베딩 벡터를 임베딩 공간에 매핑하였지만
VAE의 경우 인코더 output으로 n개 차원의 평균과 표준편차를 반환 후
표준 정규 분포로 생성된 텐서에 표준편차를 곱하고 평균을 더하는 샘플링을 거치게 됨
위 과정을 reparameterization trick이라고 하며 인코더와 디코더를 나누어 학습하지 않고 한번에 학습을 할 수 있도록 함.
아래의 이미지의 왼쪽은 AE의 임베딩 벡터, 오른쪽은 VAE의 샘플링 분포이다.
Jeremy Jordan
임베딩 벡터는 특정 값으로 매핑이 되는 반면 샘플링 분포는 확률적으로 분포되어 있는 것을 확인할 수 있음
-> 이 말은 즉 정규분포를 따르기 때문에 같은 input에 대해 비교적 비슷한 데이터가 생성되지만 항상 무작위의 데이터가 생성된다는 내용이다.
왼쪽 그림은 일반적인 AE의 latent space를 시각화한 이미지이다.
가운데 그림은 KL-Divergence만을 Loss 함수로 사용하여 학습을 진행한 VAE의 latent space를 시각화한 이미지이다.
오른쪽 그림은 앞서 설명한 두 가지 loss 함수를 모두 사용한 일반적인 VAE latent space이다.
이를 통해 일반적인 VAE의 경우 AE와 다르게 임베딩이 적절히 정규화되어 원하는 output을 적절하게 생성할 수 있는 디코더를 학습할 수 있는 것을 알 수 있다.
https://ichi.pro/ko/vae-variational-auto-encoder-leul-sayonghan-saengseong-modelling-277371603749134
AE의 경우 1번 이미지와 2번 이미지의 왼쪽 그림을 통해 확인할 수 있듯이 잠재 공간(latent space)에 정규화하여 매핑되지 않아 각 특징 데이터들이 적절하게 섞인 데이터를 생성할 수가 없음을 알 수 있다.
VAE의 경우 2번 이미지의 오른쪽 그림과 3번 이미지에서 확인할 수 있듯이 각 특징 데이터들이 잠재 공간(latent space)에 정규화하여 매핑되어 여러 특성이 적절히 결합된 데이터를 생성할 수 있게 된 것을 확인할 수 있다.
위 차이를 통해 AE는 실제 데이터와 유사하면서 다양한 데이터를 생성하기 어려운 점을 알 수 있고 VAE를 이용해 데이터를 생성할 때, 실제 데이터에는 존재하지 않지만 유사한 데이터를 생성할 수 있음을 알 수 있다.
https://terms.naver.com/entry.naver?docId=5917559&cid=66682&categoryId=66682
학습 데이터에 대한 라벨이 필요하지 않은 비지도 학습 모델
생성 모델과 판별 모델이 서로 경쟁하며 데이터를 생성 및 판별하는 모델을 의미한다. 궁극적으로는 생성 모델과 판별 모델의 성능이 지속적으로 향상되다가 판별 모델이 더 이상 실제 데이터와 생성 데이터를 구분할 수 없는 상태가 되면 학습을 종료한다.
이렇게 학습된 생성 모델은 실제 데이터의 분포에 가까운 데이터를 생성하게 된다.
장점:
단점:
장점:
단점: