워드 임베딩에 대해서 알아보자.
임베딩(Embedding)이란 무엇일까?
이 단어 또한 수많은 말들로 정의될 수 있지만, 결론적으로 입력이되어지는 String 형태의 문장을 Float 형태의 벡터로 변환하는 행위를 뜻한다고 생각한다. 아래의 코드를 보면 임베딩의 역할을 직관적으로 이해할 수 있을 것이다.
만약 "I love the nature and nature."라는 문장이 있다면, 우리는 이 문장을 불필요한 부분을 전처리하고 토큰화(Tokenize)하여
[ I, love, the, nature, and, nature ]의 단어리스트로 만든뒤, 고유한 단어들에대해 각각의 정수 index를 부여한다.
여기서는 [1, 7, 3, 11, 5, 11]로 인덱스가 부여되었다고 가정한다. 이 때, embedding은 (5000, 10)의 크기로 만들어졌으며
각 0~4999 범위의 정수에 1:1로 대응되는 크기가 10인 벡터가 생성되어 lookup Table 처럼 저장되어져있는 변수이다.
이 embedding에 정수를 대입하면 각 정수에 대응되는 벡터가 출력값으로 나타되고, 우리는 이러한 전체과정을 임베딩이라한다.
'Deep Learning > PyTorch' 카테고리의 다른 글
PyTorch 학습 모델 저장 및 불러오기 (0) | 2020.07.27 |
---|---|
영상 Resolution 복원을 위한 CNN 모델을 구현해보자! (0) | 2020.07.16 |
Fashion MNIST를 이용한 CNN기반 Classification 따라해보기! (0) | 2020.07.16 |
나만의 신경망 모듈 만들어보기! (0) | 2020.07.14 |
Overfitting 문제 해결해보기 (0) | 2020.07.14 |