Image processing/논문 Review

오토 인코더(Auto-Encoder)의 이해

유니디니 2019. 6. 1. 17:32
728x90
반응형

[참고 자료]

1.핸즈온 머신러닝(Hands-On Machine Learning with Scikit-Learning & TensorFlow), 한빛 미디어
2. 오토인코더의 모든 것(naver d2, 발표자 : 이활석님) https://youtu.be/o_peo6U7IRM

1. 오토 인코더의 개념

오토 인코더는 "어떤 감독 없이도(즉, 레이블 되어 있지 않은 훈련 데이터를 사용해서) 입력 데이터의 효율적인 표현인 코드를 학습할 수 있는 인공 신경망"을 말합니다. 여기서 코드는 입력차원의 데이터를 표현할수 있는, 입력보다 낮은 차원의 데이터를 말하므로 종종 차원 축소에 유용하게 사용되기도 합니다. 
(코딩은 Latent Variable, feature, Hidden representation으로 불리기도 합니다.)

기본적으로 오토인코더의 구성은 [그림 1]처럼 인코더(Encoder)와 디코더(decoder)로 이루어져 있습니다. 

[그림 1] 오토 인코더의 구조

인코더 부분에서는 입력 데이터를 표현할 수 있는 핵심 특징(정보)으로 압축시키고(Manifold Learning), 핵심 특징은 다시 디코더 부분에서 입력 데이터와 동일하게 복원(Generative model Learning)시키게 됩니다. 오토인코더를 학습할때에는 비교사 학습방법(Unsupervised Learning)을 따른다. 여기서 비지도 학습이란 데이터의 형태, 분포 로 학습을 하는것을 말하며, 쉽게말해 주어진 입력과 비슷한 군집을 추정해 내는것을 말한다. 예로들면, K-means, clustering등이 있다. 

학습과정은 다음과 같다. 

[그림 2] 오토 인코더의 구조 

입력에 대해, 출력으로 나온 데이터를 이용해서 MSE(Mean Squared Error)를 계산하는 방식이다. 

반응형