728x90

* 해당 필기내용은 패스트캠퍼스 자연어 입문 강의를 알려드립니다 

Auto Encoder

오토인코더의 목적은 입력값 x을 넣었을 때, 출력값이 입력값 이었던 x값을 최대한 그대로 출력하는 것이다. 이 과정에서 Z라는 병목현상이 발생한다. 즉 입구가 좁아지기 되면서 x의 모든 정보가 아닌 정말 중요한 값들만 살려서 압축시킨다. 이를 통해 우리는 중요한 feature만을 추출할수 있게 된다.

 

압축을 위해서 encoder는 버릴 건 버리고, 챙길 건 챙기는 역할을 수행한다. 버리는 것은 필요없는 정보, 뻔한 특징들을 예로 들 수 있겠다.

 

 

Z는 차원이 작기 때문에 데이터를 선택하고, 압축하는 과정을 수행한다. Z의 차원크기에 따라 압축의 정도가 달라진다. 또한 Z는 x를 복원하기 위한 정보를 엑기스로 모아 놓은 것이다. 그렇기 때문에 입력에 비해서 Dense vector이다.(엑기스만 있기 때문) Z를 feature vector라고도 볼수 있다.

 

또는 인코더에 샘플을 통과시키는 것은 feature vector에 대한 임베딩 과정이라고 볼 수 있다.

 

Decoder의 목적은 Z를 가지고 최대한 원상복구를 하는 것이다. 보통 MSELoss를 통해 수행한다.

 

encoder에서 차원이 바뀔 때 마다 변하는 feature vector들은 어떤 의미를 가지고 있는지 궁금할수 있다.

Mnist 데이터를 encoder에 돌린 Z의 결과를 시각화 한 그림이다. 각 색깔별로 군집되어 있으며 각 색깔은 0~9까지를 표현한다. 내가 알려주지도 않았는데 같은 숫자끼리는 뭉치는 걸 볼수 있다. 물론 서로 겹치는 부분도 존재한다. Plot에 뿌려진 공간을 잠재 공간이라고 부른다.

 

 

히든 벡터는 layer가 바뀔 때 마다 생기는 중간 결과물 이기도 하다. 히든 벡터에 핵심 정보를 잘 담아야 복원이 잘 이뤄질수 있는 것이다. 

 

하지만 각 히든 벡터의 핵석은 현재로썬 어렵다. 마지막으로 아래 요약을 통해 정리를 해본다

 

 

728x90

'NLP > 패캠_자연어 입문' 카테고리의 다른 글

6. MAP(Maximum A Posterior)  (0) 2021.12.01
5. MLE 수식  (0) 2021.11.29
4. MLE  (0) 2021.11.28
3. Probabilistic Perspective  (0) 2021.11.28
1. Feature Vector  (0) 2021.11.27

+ Recent posts