딥러닝에는 정답(label)이 있는 지도학습뿐만 아니라,
정답 없이 데이터의 구조를 학습하는 비지도 학습(Unsupervised Learning) 도 존재합니다.
그 대표적인 모델이 바로 오토 인코더(Autoencoder) 입니다.
이번 글에서는
을 차근히 정리해보겠습니다.
오토 인코더는 입력 데이터를 그대로 복원하도록 학습하는 신경망입니다.
즉,
입력 → 압축 → 복원 → 출력
출력이 입력과 최대한 같아지도록 학습합니다.

오토 인코더는 단순히 “복사”를 배우는 모델이 아닙니다.
데이터의 중요한 특징만 남기고 압축하는 과정이 핵심입니다.
다음과 같은 상황에서 특히 유용합니다.
고차원 데이터를 저차원으로 줄이고 싶을 때 사용합니다.
예:
PCA와 비슷한 역할을 하지만, 오토 인코더는 비선형 구조까지 학습할 수 있다는 장점이 있습니다.
노이즈가 포함된 데이터를 입력하고
깨끗한 데이터를 출력하도록 학습시킬 수 있습니다.
예:
실제로 Denoising Autoencoder는 이미지 복원 문제에서 자주 사용됩니다.
정상 데이터만 학습시킨 뒤,
이 원리를 이용하여 이상치를 탐지합니다.
예:
저차원 잠재 표현(latent representation)을 저장하여
효율적인 데이터 표현이 가능합니다.
입력 데이터를 저차원 잠재 공간(latent space) 으로 압축하는 부분입니다.
z = f(x)
Encoder는 “정보 요약기”라고 생각하면 이해하기 쉽습니다.
압축된 잠재 벡터(z)를 다시 원래 데이터 형태로 복원하는 부분입니다.
x' = g(z)
Decoder는 “복원기” 역할을 합니다.
| 구분 | Encoder | Decoder |
| 역할 | 압축 | 복원 |
| 방향 | 고차원 → 저차원 | 저차원 → 고차원 |
| 목적 | 특징 추출 | 입력 재구성 |
| 출력 | 잠재 벡터(z) | 복원 데이터(x') |
✔ Encoder는 정보 요약
✔ Decoder는 정보 복원
두 부분은 서로 반대 방향의 연산을 수행합니다.
오토 인코더는 다음과 같은 손실을 최소화합니다.
Loss = || x - x' ||
즉, 입력과 출력의 차이를 최소화하는 것이 목표입니다.
일반적으로 사용하는 손실 함수:
오토 인코더는 다양한 형태로 발전했습니다.
특히 이미지 데이터에서는 Convolutional Autoencoder가 자주 사용됩니다.
✔ 오토 인코더는 입력을 스스로 복원하도록 학습하는 비지도 모델이다.
✔ 차원 축소, 노이즈 제거, 이상 탐지에 적합하다.
✔ Encoder는 정보를 압축하고
✔ Decoder는 정보를 복원한다.
결국 오토 인코더의 핵심은 "데이터의 가장 중요한 특징만 남기는 것" 입니다.
| 데이터 증강(Data Augmentation)이란 무엇이며, 이미지 데이터에서 주로 사용하는 증강 기법들 (0) | 2026.02.28 |
|---|---|
| 이미지를 모델에 입력하기 전에 리사이징(Resizing)과 정규화(Normalization)를 하는 이유 (0) | 2026.02.28 |
| CNN을 구성하는 각 레이어의 역할 (0) | 2026.02.14 |
| PyTorch의 텐서(Tensor)와 NumPy의 Array(배열) 차이 (0) | 2026.02.07 |
| 딥러닝 프레임워크 PyTorch와 TensorFlow의 차이 (0) | 2026.02.07 |