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
728x90

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

 

Featureand FeatureVector

1. 개요

머신러닝에서의 feature를 설명하기 위해서 Mnist 샘플을 통해 알아보자. 0과1 처럼 서로다른 숫자 모양에 대해서 구별할수 있는 feature가 필요하다. 또한 같은 5라는 숫자라도 사람마다 필기체가 다르듯 약간의 차이가 있다. 우리들은 다른 필기체라 하더라도 5라고 금방 인식하는 반면 머신러닝은 이둘을 구별하는 feature 필요하다. 정리를 하자면 각 샘플간의 feature와 샘플 내에 feature가 필요할것이다.

 

 

 

전통적인 머신러닝방법은 사람이 직접 feature를 정의하고 추출하는 전 과정이 필요한 반면, 딥러닝은 스스로 feature를 추출하는 장점이 있다. (각 장단점은 위 이미지 참고)

Tabular라는 건 엑셀처럼 행과 열로 구성되어서 row에 홍길동이 있고 어떤 특징들이 있는지 column에 나열하는 것을 말한다. 그래서 특징벡터는 각 특징들을 모아서 하나의 vector로 만든 것이라 할수 있다. 각 샘플만의 특징들을 vector로 정리 할수 있게 되고, 이를 이용해서 샘플간의 차이, 유사도 등 새로운 정보를 알아 낼수가 있다.

 

 

2. 원핫인코딩

 

원핫인코딩은 희소벡터이다.(값이 대부분 0으로 채워진) 희소벡터의 문제점은 벡터간의 유사도를 구할수 없다는 점이다. 위 공책과 노트의 벡터를 서로 곱해주면 0이 된다. 공책-노트, 노트-지우개 등 다른 벡터끼리 해봐도 결과는 0이기 때문에 추가 정보를 얻을수 없다. 사람은 볼펜과 샤프 혹은 연필과 샤프를 유사한 개념으로 보고있다. 그래서 “연필이 없으면 샤프를 쓴다” 라고 생각할수 있다. 하지만 희소벡터로 학습 시키면 이 두개의 유사도를 모르기 때문에 성능이 떨어지는 결과를 얻게 된다.

 

희소벡터의 문제점을 해결하기 위해서 임베딩이라는 개념이 생겨났다. Word2vec 등 임베딩 기법을 통해서 마치 사람처럼 사물간의 유사도를 잴수 있는 dense vector로 바꿀수 있게 된다.

 

 

 

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
2. Auto Encoder  (0) 2021.11.27

+ Recent posts