오토인코더
IT 위키
더 많은 작업
오토인코더(Autoencoder)는 입력을 낮은 차원의 표현으로 압축했다가 다시 입력과 같은 모양으로 복원하도록 학습하는 인공 신경망으로, 정답 레이블 없이 입력 자체를 목표값으로 삼는 비지도 학습 모델이다.
오토인코더는 출력이 입력을 그대로 다시 만들어 내도록(재구성, Reconstruction) 학습한다. 입력을 그대로 베끼는 것만으로는 쓸모가 없으므로, 중간에 병목(bottleneck)을 두어 정보를 압축하게 만든다. 좁은 통로를 지나서도 입력을 되살리려면 신경망은 입력 특성 사이의 상관관계와 구조를 익혀야 하고, 그 결과 중간층에 데이터의 핵심을 담은 표현이 남는다.
학습에 쓰는 목표값이 입력 자체이므로 사람이 레이블을 붙일 필요가 없다. 그래서 비지도 학습으로 분류한다. 입력에서 정답을 스스로 만든다는 뜻에서 자기 지도 학습으로 보기도 한다.
| 구성 요소 | 역할 |
|---|---|
| 인코더(Encoder) | 입력 x 를 낮은 차원의 코드 z 로 압축한다 |
| 코드(잠재 표현, 잠재 공간) | 압축된 표현. 병목에 해당하는 은닉층이다 |
| 디코더(Decoder) | 코드 z 에서 입력과 같은 크기의 출력 x̂ 를 복원한다 |
- 코드층 뉴런 수가 입력보다 작은 것을 과소완전(undercomplete) 오토인코더라 한다. 가장 일반적인 형태이며, 이때는 입력층 뉴런 수가 은닉층보다 많다
- 코드층이 입력과 같거나 더 큰 과대완전(overcomplete) 오토인코더도 있다. 그대로 두면 입력을 복사하는 항등 함수를 배워 버리므로, 희소성 제약이나 입력 잡음 같은 규제를 더해 쓸모 있는 표현을 배우게 한다
- 따라서 "입력층의 뉴런 수는 은닉층의 뉴런 수보다 항상 작다"는 틀리다. 흔한 경우는 오히려 그 반대(입력층이 더 크다)이고, 크기 관계가 어느 한쪽으로 항상 정해져 있지도 않다
- 차원 축소 : 코드층의 출력을 저차원 특성으로 쓴다. 활성화 함수가 선형이고 평균 제곱 오차로 학습한 오토인코더는 주성분 분석(PCA)과 같은 부분공간을 학습하며, 비선형 활성화 함수를 쓰면 PCA 가 잡지 못하는 비선형 구조까지 압축할 수 있다
- 이상 탐지 : 정상 데이터로만 학습하면 정상 데이터는 잘 복원되고 처음 보는 패턴은 재구성 오차가 커진다. 재구성 오차가 기준보다 큰 것을 이상치로 판정한다. 부정 거래, 설비 고장 징후 탐지 등에 쓴다
- 잡음 제거 : 잡음이 섞인 입력에서 깨끗한 원본을 복원하도록 학습한다
- 특성 추출과 사전 학습 : 레이블이 적을 때 오토인코더로 특성을 먼저 학습한 뒤 그 인코더를 지도 학습 모델의 앞단으로 쓴다
| 종류 | 특징 |
|---|---|
| 적층 오토인코더(Stacked) | 은닉층을 여러 개 쌓은 깊은 오토인코더 |
| 희소 오토인코더(Sparse) | 코드층 뉴런 중 일부만 활성화되도록 희소성 벌점을 주어, 코드층이 커도 유용한 특성을 배운다 |
| 디노이징 오토인코더(Denoising) | 입력에 일부러 잡음을 넣고 원래의 깨끗한 입력을 복원하게 한다. 입력을 단순히 복사하지 못하게 막는 효과가 있다 |
| 합성곱 오토인코더(Convolutional) | 인코더·디코더를 합성곱 신경망으로 구성해 이미지에 쓴다 |
| 변분 오토인코더(VAE) | 코드를 하나의 값이 아니라 확률분포(평균·분산)로 학습한다. 손실에 재구성 오차와 쿨백-라이블러 발산을 함께 쓰며, 변분 추론을 바탕으로 한다. 잠재 공간에서 표본을 뽑아 새 데이터를 만들 수 있는 생성 모델이다 |
- Hinton, G. E., & Salakhutdinov, R. R. (2006). Reducing the Dimensionality of Data with Neural Networks. Science, 313(5786).
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. Chapter 14 Autoencoders.
- Kingma, D. P., & Welling, M. (2013). Auto-Encoding Variational Bayes. arXiv:1312.6114.