본문 바로가기

Model/Network

Autoencoder

반응형

Autoencoder(오토인코더)란, Input과 Output이 동일한 인공신경망을 이용해 Unsupervised Learning으로 feature를 추출하는 방법입니다. Input을 입력받아 저차원의 hidden layer를 통과하고, 다시 원래 Input을 출력하도록 모델을 학습합니다. 따라서 hidden layer에는 input 데이터가 압축되어 저장된다고 볼 수 있습니다. 즉, hidden layer의 값은 원본 데이터에서 추출된 feature입니다.

예를 들어 Word2Vec과 같이 One-hot encoding(어느 벡터에서 각각의 단어가 하나의 차원을 가지도록 인코딩) 수만~수십만 개의 단어를 200차원의 vector로 만들 때 Autoencoder를 사용할 수 있습니다.

1. AutoEncoder의 구조

AutoEncoder는 encoder와 decoder 두 부분으로 이루어져 있습니다. 이 모델은 encode된 값을 다시 decode하면 원래 input이 나오도록 학습하는 것입니다.

  • encoder 부분: input을 차원 축소하여 feature를 추출 (code layer)
  • decoder 부분: encoding된 feature를 이용하여 다시 원래 input을 출력

Code layer는 input에서 추출된 feature가 저장되는 layer인데, input/output layer보다 차원 수가 적어야 합니다. Code layer의 차원 수가 더 많으면, input layer를 그대로 복사해서 code layer를 거친 뒤, 그대로 output layer로 출력할 수 있습니다. 이렇게 되면 고차원의 데이터를 저차원의 feature로 압축할 수 없습니다.

 

반응형

'Model > Network' 카테고리의 다른 글

Transformer  (0) 2020.04.12
Attention Network, Attention Model  (0) 2020.04.12
GAN(Generative Adversarial Network), 적대적 생성 신경망  (0) 2020.04.12
Autoencoder / VAE  (0) 2020.04.12