오토인코더는 입력 데이터를 스스로 복원하도록 학습하는 신경망 구조이다.
입력을 한 번 압축한 뒤 다시 원래 형태에 가깝게 복원한다.
이 과정에서 데이터의 중요한 특징이 잠재 표현으로 학습된다.
1. 오토인코더가 적합한 상황
오토인코더는 정답이 없는 데이터에서 구조를 파악하고 싶을 때 사용된다.
입력과 동일한 출력을 목표로 하지만 단순 복사가 아니라 압축을 거치기 때문에 의미 있는 표현이 만들어진다.
- 고차원 데이터를 더 작은 차원으로 줄이고 싶을 때
- 노이즈가 섞인 데이터를 원래 형태에 가깝게 복원하고 싶을 때
- 정상 패턴을 학습해 이상 데이터를 구분하고 싶을 때
- 다른 모델에 사용할 특징 벡터를 만들고 싶을 때
즉 오토인코더는 예측보다는 표현 학습에 초점이 맞춰진 구조이다.

2. Encoder의 개념
Encoder는 입력 데이터를 더 작은 차원의 벡터로 변환하는 부분이다.
레이어를 거치며 차원은 점점 줄어든다.
최종적으로 만들어지는 벡터를 잠재 표현이라고 한다.
이 잠재 표현은 데이터의 핵심 정보를 담고 있다.
- 입력 → 차원 감소
- 정보 압축 역할
- 잠재 벡터 생성
3. Decoder의 개념
Decoder는 잠재 표현을 다시 원래 입력 형태로 복원하는 부분이다.
줄어들었던 차원은 점점 다시 커진다.
출력은 입력과 최대한 유사하도록 학습된다.
- 잠재 벡터 → 차원 증가
- 입력과 비슷한 데이터 생성
복원 오차는 잠재 표현이 얼마나 잘 학습되었는지를 보여주는 기준이 된다.
4. Encoder와 Decoder의 차이
| 구분 | Encoder | Decoder |
| 역할 | 입력 압축 | 압축 표현 복원 |
| 차원 변화 | 감소 | 증가 |
| 목적 | 핵심 정보 추출 | 입력 복원 |
5. 정리
오토인코더는 입력을 압축하고 다시 복원하도록 학습하는 구조이다.
Encoder는 데이터를 요약하고 Decoder는 그 요약을 바탕으로 원래 형태를 만든다.
차원 축소나 노이즈 제거 같은 문제에서 활용될 수 있다.
'데이터 분석' 카테고리의 다른 글
| 데이터 증강(Data Augmentation)이란? (0) | 2026.02.27 |
|---|---|
| 이미지를 모델에 입력하기 전 리사이징과 정규화 (0) | 2026.02.27 |
| CNN을 구성하는 레이어 (0) | 2026.02.13 |
| PyTorch Tensor와 NumPy Array의 차이 (0) | 2026.02.06 |
| PyTorch와 TensorFlow 비교 (0) | 2026.02.06 |