[Home] AI로 돌아가기
🔗 관련 문서:
Wikipedia - Autoencoder
🔗 관련 문서:
Introduction to Autoencoders
Figure 10: Face completion by filling in the missing pixels (source: SymmFCNet)
출처: https://pyimagesearch.com/
🔗 관련 문서:
위키독스()의 Autoencoder 개요
그림 1. 오토인코더 구조
출처: 위키독스 (wikidocs.net)
Autoencoder (AE, 오토인코더)
Autoencoder는 입력 데이터를 압축하여 저차원 표현으로 인코딩한 후, 다시 이를 복원하는 방식의 비지도 학습 모델이다.
입력과 출력이 동일하도록 학습되며, 주로 데이터 압축, 노이즈 제거, 이상 탐지 등의 응용에 활용된다.
1. 정의
오토인코더(Autoencoder)는 입력 데이터를 저차원 표현으로 압축(인코딩)하고,
다시 이를 원래 차원으로 복원(디코딩)하는 방식의 신경망 구조이다.
이 과정에서 데이터의 중요한 특징만을 남기고 불필요한 요소를 제거한다.
1.1 인코더 (Encoder)
- 입력 데이터
x
를 잠재 공간(Latent Space) 변수 z
로 압축
- 데이터의 핵심 특징을 추출하는 역할
- MLP, CNN, RNN 등 다양한 구조로 구현 가능
1.2 디코더 (Decoder)
- 잠재 표현
z
를 기반으로 입력 데이터 x'
를 복원
- 원본과 유사한 출력을 생성하는 것이 목표
2. 학습 과정
오토인코더는 입력과 출력의 차이를 최소화하는 방향으로 학습되며, 일반적으로 다음과 같은 손실 함수를 사용한다.
x
: 입력 데이터
x'
: 복원된 출력
- 손실 함수: 평균 제곱 오차(MSE) 등
3. 활용
3.1 차원 축소
- 주성분 분석(PCA)과 유사하나, 비선형 구조도 학습 가능
- 시각화 및 데이터 압축에 활용됨
3.2 이상 탐지
- 정상 데이터에 대한 재구성 오류는 작지만, 이상치에 대해서는 복원 오차가 크게 나타남
- 금융 사기 탐지, 네트워크 보안, 의료 이상 진단 등 다양한 분야에 활용됨
3.3 노이즈 제거
- 입력 데이터에 노이즈를 추가한 뒤, 원본에 가까운 출력을 복원하도록 학습
- 이미지 복원, 음성 신호 정제 등에 사용
3.4 생성 모델
- 변분 오토인코더(VAE)는 확률적 구조를 도입하여 샘플 생성이 가능
- 신경망 기반 생성 모델의 기초 구성으로도 활용됨