반응형
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로 압축할 수 없습니다.
- 비지도 학습 - 오토인코더(Autoencoder): Autoencoder 소개 및 MNIST 예제
- 인공 신경망에 관한 설명. 스탠포드 대학 앤드류 응 교수의 sparse autoencoder 정리 노트로 인공신경망 이해하기
- 오토 인코더를 이용한 비정상 거래 검출 모델의 구현: Autoencoder의 decoder가 학습되지 않은 데이터에 대해서 잘 동작하지 않는다는 점을 이용해 비정상 거래 검출 모델을 만들었음
- hidden layer의 수가 더 많을 때, 사용하는 sparsity를 수학적으로 이해하기
반응형
'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 |