[Home] AI로 돌아가기 Wikipedia - Autoencoder
Introduction to Autoencoders
위키독스()의 Autoencoder 개요

Autoencoder (AE, 오토인코더)


(1) 개요

Autoencoder는 입력 데이터를 압축하여 저차원 표현으로 인코딩한 후, 다시 이를 복원하는 방식의 비지도 학습 모델이다. 입력과 출력이 동일하도록 학습되며, 주로 데이터 압축, 노이즈 제거, 이상 탐지 등의 응용에 활용된다.

오토인코더(Autoencoder)는 입력층과 출력층이 동일한 네트워크에 데이터를 입력하여 비지도학습을 하는 것이다. 인코더(Encoder)를 통해 입력 데이터에 대한 특징을 추출하고, 디코더(Decoder)를 통해 원본 데이터를 재구성하는 학습을 한다. 다층신경망 가중치의 좋은 초기값을 얻는 목적으로 이용된다. 인코더와 디코더가 중요한 이유는 데이터 압축 때문이다. 영상 데이터처럼 의미 없는 부분이 많은 데이터는 중요한 부분만 추려낸 후에도, 그 데이터로 원본을 복원할 수 있어 오토인코더가 딥러닝에서 중요한 모델로 자리 잡고 있다.


Autoencoder 개념도
그림 1. 오토인코더 구조
출처: 위키독스 (wikidocs.net)

Autoencoder 구조 개념도
Figure 10: Face completion by filling in the missing pixels (source: SymmFCNet)
출처: https://pyimagesearch.com/

(2) 정의

오토인코더(Autoencoder)입력 데이터를 저차원 표현으로 압축(인코딩)하고, 다시 이를 원래 차원으로 복원(디코딩)하는 방식의 신경망 구조이다. 이 과정에서 데이터의 중요한 특징만을 남기고 불필요한 요소를 제거한다.

1) 인코더 (Encoder)

2) 디코더 (Decoder)


(3) 학습 과정

오토인코더는 입력과 출력의 차이를 최소화하는 방향으로 학습되며, 일반적으로 다음과 같은 손실 함수를 사용한다.


(4) 활용

1) 차원 축소

...
PCA와 오토인코더의 비교
출처: Nugroho, Herminarto. (2020). Fully Convolutional Variational Autoencoder For Feature Extraction Of Fire Detection System. Jurnal Ilmu Komputer dan Informasi. 13. 10.21609/jiki.v13i1.761.

2) 이상 탐지

...
오토인코더 기반 이상 탐지/분할의 개념:
A) 정상 샘플만을 사용한 모델 학습 및
B) 이상을 포함할 수 있는 입력 샘플의 오류가 있는 재구성으로부터의 이상 분할.
출처: Baur, Christoph & Denner, Stefan & Wiestler, Benedikt & Albarqouni, Shadi & Navab, Nassir. (2020). Autoencoders for Unsupervised Anomaly Segmentation in Brain MR Images: A Comparative Study. 10.48550/arXiv.2004.03271.

3) 노이즈 제거

...
오토인코더를 사용한 이미지 노이즈 제거
출처: https://levelup.gitconnected.com/unsupervised-deep-learning-using-auto-encoders-4813bec64d

4) 생성 모델

...
변분 오토인코더를 사용하여 이미지를 생성하는 방법
출처: https://theaisummer.com/Autoencoder/