오토인코더(Autoencoder)는 입력 데이터를 압축(인코딩)하고 다시 원래의 형태로 복원(디코딩)하는 비지도 학습 신경망으로 다음과 같은 효과적인 상황에 사용됨.
- 차원 축소(Dimensionality Reduction): 고차원 데이터를 저차원으로 효율적인 압축을 통해 데이터의 주요 특징만 남기고 불필요한 정보를 제거할 때 사용함. 이는 PCA오 ㅏ달리 비선형 구조도 잘 포착할 수 있음.
- 데이터 압축 및 특징 추출: 이미지, 음성 등 대용량 데이터를 효율적으로 저장하거나 데이터의 핵심적인 특징만 추출해 후속 모델의 입력으로 사용할 때 적합함.
- 잡음 제거(Image Detection): 노이즈가 섞인 이미지나 신호에서 원본에 가까운 데이터를 복원하는 데 활용됨.
- 이상치 탐지(Anomaly Detection): 정상 데이터로만 학습된 오토 인코더는 이상치(비정상 데이터)에 대해 재구성 오류가 커지므로 이를 활용해 이상 데이터를 탐지할 수 있음.
- 생성 모델(Generative Modeling): 변이형 오토 인코더(VAE) 등은 새로운 데이터(이미지, 시계열 등)를 생성하는 데 활용됨.
인코더(Encoder)와 디코더(Decoder)의 개념과 차이점.
| 구분 | 인코더(Encoder) | 디코더(Decoder) |
| 역할 | 입력 데이터를 저차원(latent space)으로 압축 | 압축된 표현을 다시 원래 데이터 형태로 복원 |
| 목적 | 데이터의 중요한 특징만 추출, 불필요한 정보 제거 | 인코더가 추출한 특징을 바탕으로 입력과 유사한 데이터 생성 |
| 구조 | 점점 노드 수가 줄어드는 신경망(차원 축소) | 점점 노드 수가 늘어나는 신경망(차원 복원) |
| 대표적 용도 | 특징 추출, 데이터 압축, 차원 축소 | 데이터 복원, 생성 모델(신규 데이터 생성) |
차이점: 인코더는 데이터를 요약하고 디코더는 그 요약본으로 부터 복원하는 역할을 하며 인코더는 정보의 압축과 특징 추출을, 디코더는 정보의 복원과 생성에 포커싱.

'컴퓨터' 카테고리의 다른 글
| 데이터 증강(Data Augmentation)이란 무엇이며, 이미지 데이터에서 주로 사용하는 증강 기법에는 어떤 것들이 있나? (0) | 2025.06.29 |
|---|---|
| 이미지를 모델에 입력하기 전에 리사이징(Resizing)과 정규화(Normalization)를 하는 이유는? (0) | 2025.06.29 |
| CNN을 구성하는 각 레이어(layer)의 역할에 대해 설명 (0) | 2025.06.19 |
| PyTorch에서 텐서란 무엇이고, NumPy의 Array(배열)과 어떤 차이가 있나 (1) | 2025.06.15 |
| 딥러닝 프레임워크인 PyTorch와 TensorFlow를 비교 (1) | 2025.06.15 |