본문 바로가기
딥러닝/이론 정리

파이토치 오토인코더 이론에 대해 알아보자

by 초보코딩러 2021. 7. 30.

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를 가진다.

 

댓글