1. 오토인코더란
정보가 차원 축소되는 병목 구간(z)을 통과하면서 자동적으로 특징을 추출하는 방식으로 학습
딥러닝의 특성을 잘 반영한 학습 알고리즘
인코더(encoder)와 디코더(decoder)를 통해 압축과 해제를 반복하며 특징 추출을 자동으로 학습한다.
- 인코더는 입력(x)의 정보를 최대한 보존하도록 손실 압축을 수행(필요 없는 정보는 버린다.)
- 디코더는 중간 결과물(z)의 정보를 입력(x)과 같아지도록 압축 해제(복원)를 수행
- 복원을 성공적으로 하기위해, 오토인코더(autoencoder)는 특징(feature)을 추출하는 방법으로 자동학습
2. Encoder
복원에 필요한 정보를 중심으로 손실 압축 수행
- 필요 없는 정보 (뻔한 특징)는 버릴 수도 있다
- ex) 일반적인 사람의 얼굴을 학습할 때: 사람의 얼굴에서 눈은 2개다.
3. Bottleneck
- 입력(x)에 비해 작은 차원으로 구성된다.
- 따라서 정보의 선택과 압축이 발생, 차원에 따라 압축의 정도를 결정함
- -집에 불이 나서 탈출할 때, 무엇을 들고 나갈 것인가?
- 그러므로 z는 입력(x)에 대한 feature vector라고 할 수 있다.
- 압축의 효율이 높아야 하므로, 입력에 비해 dense vector
4.Decoder
- 압축된 중간 결과물(z)을 바탕으로 최대한 입력(x)과 비슷하게 복원 :x_hat
- 보통 MSE Loss를 통해 최적화 수행
- 뻔한 정보는 주어지지 않더라도 어차피 알 수 있기에 복원가능
5.Summary
- 오토인코더(AE)는 압축과 해제를 반복하며 특징 추출을 자동으로 학습한다.
- 필요한 정보와 필요 없는 정보를 구분할 수 있게 되는 것
- 인코더로부터 나온 중간 결과물(z)은 입력 (x)에 대한 feature vector이다.
- 인코더에 통과시키는 것은 featrue vector에 대한 embedding 과정이라고 볼 수 있음.
1-2 Hidden Representations
- 인코더의 결과물 z를 plot 하였을때 비슷한 샘플들은 비슷한 곳에 위치함을 확인 할 수 있다.
- 이 plot이 뿌려진 공간을 hidden space라고 부름
- -input space의MNIST 샘플이 latent space에 embedding된 것으로 볼 수 있다.
- 즉 DNN에 샘플을 통과하는 과정은 hidden space에 mapping하는 과정이라고 볼 수 있고
- 각 레이어의 결과물을 (h1,h2,..)을 hidden vector라고 부른다(모두 feature vector라고 볼수 있음)
- Tabular data의 feature vector와 달리 hidden vector는 해석이 어려움
- 하지만, 비슷한 특징을 가진 샘플은 비슷한 hidden vector를 가진다.
'딥러닝 > 이론 정리' 카테고리의 다른 글
BPE알고리즘 과 텍스트 전처리 과정 (0) | 2021.08.05 |
---|---|
NLP의 기본 자연어 처리 (0) | 2021.08.02 |
원 핫 인코딩의 한계와 Vector Embeding의 필요성 (0) | 2021.07.30 |
딥러닝 입문( DNN 이진분류) (0) | 2021.07.22 |
딥 러닝 차근차근 이론 정리. (0) | 2021.07.02 |
댓글