Autoencoder 이해: 입력을 압축했다가 다시 복원하는 이유

난이도: 중급

태그: generative,autoencoder,latent

Autoencoder는 "중요한 정보만 남기도록 압축했다가 다시 복원하게 만드는 모델"이다.

Autoencoder는 입력을 저차원 latent representation으로 압축하고, 그 표현만으로 원래 입력을 다시 복원하도록 학습한다. 이 과정을 통해 데이터의 핵심 구조를 학습할 수 있다.

핵심은 단순 복사가 아니라 병목을 통해 "무엇을 버리고 무엇을 남길지"를 배우게 한다는 점이다. 그래서 autoencoder는 차원 축소, representation learning, 이상탐지, denoising 등으로 자연스럽게 이어진다.

이 문서를 읽을 때는 autoencoder를 단순 복원 모델로만 보기보다, 표현 학습의 가장 직관적인 예시로 보는 것이 좋다. 이후 VAE, sparse autoencoder, representation editing으로 이어지는 출발점이기 때문이다.

1. 구조

2. 핵심 목적

단순 복사가 아니라, 제한된 병목 구조를 통해 "무엇이 중요한 정보인가"를 배우게 하는 것이다.

만약 병목이 충분히 강하지 않으면 모델은 그냥 입력을 그대로 베끼는 쪽으로 흘러갈 수 있다. 그래서 구조와 regularization이 representation 품질에 직접 영향을 준다.

3. 대표 loss

L=xx^2

입력 \(x\)와 복원 결과 \(\hat{x}\) 차이를 줄이는 것이 기본 목표다.

4. 왜 중요한가

면접에서는 "왜 autoencoder가 PCA와 닮았지만 더 일반적인가" 또는 "왜 latent representation이 useful feature가 될 수 있는가" 같은 질문으로 이어지기 쉽다.

5. 체크리스트