오토인코더(AutoEncoder)는 입력을 잠재 공간으로 압축한 뒤 다시 복원하는 구조를 통해 데이터의 본질적인 표현을 학습하는 비지도 학습 모델입니다.

오토인코더의 적용 상황

1. 차원 축소 (Dimensionality Reduction)

  • PCA의 비선형 확장에 가까운 접근
  • 고차원 데이터의 핵심 정보 유지하며 저차원 표현 생성

2. 특징/표현 학습 (Feature & Representation Learning)

  • 인코더의 잠재 벡터가 의미 있는 표현을 담음
  • 전이학습, 사전학습 특징 추출기로 재사용 가능

3. 잡음 제거 (Denoising)

  • 노이즈 입력 -> 깨끗한 원본 출력으로 학습
  • 이미지 복원, 음성 신호 정제에 활용

4. 이상 탐지 (Anomaly Detection)

  • 정상 데이터 중심 학습 후 복원 오차 기반 판별
  • 정상은 복원 오차 작고, 이상은 오차 큼
  • 금융 사기, 설비 이상, 보안 분야에 활용

5. 이미지 생성 (Image Generation)

  • 학습된 디코더를 생성기로 활용 가능
  • 잠재 벡터 조작/샘플링으로 새로운 데이터 생성
  • VAE 같은 생성 모델의 기반 아이디어

오토인코더의 구성 요소

1. 인코더 (Encoder)

  • 역할: 원본 고차원 입력 -> 잠재 벡터
  • 특징:
    • 병목 구조(Bottleneck)로 차원 축소
    • CNN 기반: Conv + Pooling
    • MLP 기반: Linear 차원 축소

2. 디코더 (Decoder)

  • 역할: 잠재 벡터 -> 원본과 유사한 복원 출력
  • 특징:
    • 인코더의 대칭적 확장 구조
    • CNN 기반: ConvTranspose2d/업샘플링
    • MLP 기반: Linear 차원 확장

인코더 vs 디코더 요약

구분 인코더 (Encoder) 디코더 (Decoder)
목적 데이터 압축, 핵심 특징 추출 데이터 복원
구조 차원 축소(병목) 차원 확장(대칭)
입력 원본 고차원 데이터 잠재 벡터
출력 잠재 표현 원본 유사 데이터

마무리

오토인코더는 단순 복제가 아니라, 데이터의 핵심 구조를 압축·표현·복원하는 강력한 프레임워크입니다.

  • 데이터 이해: 차원 축소/특징 학습
  • 실무 응용: 노이즈 제거/이상 탐지
  • 생성 모델 확장: VAE, 이후 생성 모델 계열의 기반

생각해볼 질문

  • Q1. 오토인코더와 PCA의 표현력/계산 효율성은 어떻게 다를까?
  • Q2. 이상 탐지에서 복원 오차 외에 잠재 공간 분포를 활용하려면 어떻게 설계할까?
  • Q3. VAE는 기본 오토인코더의 어떤 한계를 해결했고, 어떤 응용에 특히 유리할까?