Eatchu space/자료조사

간단하게 정리하는 Autoencoder

eatchu 2021. 5. 26. 22:14
반응형

오토인코더에 대한 자세한 원리와 이해는 더 좋은 설명글이 구글에 있을것이라 생각하고!

간단하게 자료정리한것들만 적어보겠습니다.

사실 이 글로는 오토인코더에 대한 이해가 어렵겠지만 제가 노트정리 해두었던 내용들이라 기록용으로 올립니다.

 

먼저 autoencoder는 인코더와 디코더로 이루어져 있습니다.

인코더는 데이터를 받아 그 데이터의 주요 정보를 압축하는 역할을 하고 디코더는 그 정보들을 다시 원 데이터로 복원하는 역할을 합니다.

이때 인코더가 압축한 정보들을 모아둔 곳이 latent space라고 할 수 있죠.

Autoencoder

  • 인코더와 디코더를 통해 압축과 해제를 실행
    • encoder = 정보를 최대한 보존하도록 손실 압축을 수행
      • 이때 데이터에 대한 중요한 정보만 압축하게 됨.  필요 없거나 뻔한 특징들은 버림.
    • decoder =  정보를 입력과 같아지도록 복원을 수행
      • 보통 MSEloss를 통해 최적화 수행.
    • bottleneck = 입력에 비해 작은 차원으로 구성됨
      • 정보의 선택과 압축이 발생, 차원에 따라 압축의 정도를 결정.
      • 입력에 대한 feature vector라고 할 수 있음.
      • 압축의 효율이 높아야 하므로 dense vector임.
      • 작은 차원으로 압축된 공간을 hidden(latent) space라고 부르며 input space의 샘플이 이 잠재공간에 embedding 된 것.
  • 인코더에 통과시키는 것은 feature vector에 대한 embbedding 과정이라고 볼 수 있음.

 

Autoencodermaniford learning이다.

  • 앞단을 학습하기 위해 뒷단을 붙임, 입력 데이터의 압축을 통해 의미있는  maniford를 학슴

고차원의 공간에서는 의미적으로 가깝다고 생각되는 샘플들간의 거리가 먼 경우가 많다. 즉 고차원 공간에서는 이런 샘플들의 의미가 달라 유의미한 거리 측정 방식이 어렵다. 따라서 이 공간의 밀도는 낮다.

고차원의 데이터는 밀도가 낮지만 데이터의 집합을 포함하는 maniford가 존재한다. 우리는 이 maniford를 통해 샘플 데이터의 특징을 파악 할 수 있는 것이다. moniford를 찾는다면 데이터의 중요한 특징을 찾게되고 좌표를 변경해가며 데이터를 유의미하게 변화시킬 수 있다. 따라서 지배적인 특징이 유사한 샘플들을 찾아 볼 수 있다.


고차원에서 저차원으로 변경시키는 과정에서 원본 데이터의 지배적인 특징이나 의미 있는 속성들을 추출하는 것이다. 이상적으로 이렇게 추출된 특징들이 그 데이터의 본질적인 차원이 될 수 있다.

반응형