어떠한 데이터 입력이 들어왔을 때, 해당 입력을 압축 시켜 latent vector로 만든 후, 해당 embedding vector를 다시 본래의 입력 데이터 형태로 복원 하는 신경망
2. 구조
인코더와 디코더로 이루어짐
인코더는 입력 데이터를 압축하여 latent vector로 만듬, recognition network 라고도 불림
디코더는 latent vector를이용하여 원래의 입력 형태로 만듬, generative network 라고도 불림
3. 활용
데이터에 대한 차원 축소, 이상 탐지, 노이즈 제거, 인식, 생성 등에 활용됨
4. VAE(; Variational AutoEncoder)
기본적인 형태의 오토인코더와 다름
확률적 오토인코더로, 학습이 끝난 이후에도 출력이 부분적으로 우연에 의해 결정
생성 오토인코더로, 학습 데이터셋에서 샘플링된 것과 같은 새로운 샘플을 생성할 수 있음
입력 데이터에 대해 가우시안 분포에 의해 랜덤하게 샘플링된 것 처럼 보이는 평균과 표준편차에 대해 latent vector를 생성
학습 과정에서 loss function이 latent vector를 가우시안 샘플들의 집합처럼 보이는 latent space로 이동시키기 때문이며, 이때문에 학습이 종료된 후 가우시안 분포로부터 랜덤한 latent vector를 샘플링하여 디코더를 거치면 새로운 샘플을 생성할 수 있음
loss function
오토인코더가 입력을 재구성하도록 만드는 reconstruction loss와 가우시안 분포에서 샘플링된 것 같은 latent vector를 가지도록 오토인코더를 제어하는 latent loss로 구성