embedding

Data Science/ML&AI

[NLP] Word Embedding with Lookup table - nn.Embedding()

파이토치에서는 임베딩 벡터를 사용하는 방법이 크게 두 가지가 있다. 임베딩 층 (embedding layer)를 만들어 훈련 데이터로부터 처음부터 임베딩 벡터를 학습하는 방법과 미리 사전에 훈련된 임베딩 벡터(pre-trained word embedding)들을 가져와 사용하는 방법이다. 우선 전자의 방법부터 알아보겟다. 임베딩 층의 입력으로 사용하기 위해서 입력 시퀀스의 각 단어들은 모두 정수 인코딩이 되어있어야 한다. 어떤 단어 -> 단어에 부여된 고유한 정수값 -> 임베딩 층 통과 -> 밀집 벡터 임베딩 층은 입력 정수에 대해 밀집 벡터로 매핑하고, 이 밀집 벡터는 인공 신경망의 학습 과정에서 가중치가 학습되는 것과 같은 방식으로 훈련된다. 훈련 과정에서 단어는 모델이 풀고자하는 작업에 맞는 값으로..

Data Science/ML&AI

[NLP] Embedding - fastText란?

페이스북에서 개발한 텍스트 임베딩 기법 중 하나로, 전반적으로 word2vec과 유사하나 가장 큰 차이점은 word2vec은 한 단어를 더 이상 쪼개질 수 없는 최소 단위라 생각한다면, fastText는 각 단어를 character 단위 n-gram으로 쪼갠다는 것이다. 즉 내부 단어를 고려하며 학습하여 word2Vec의 한계를 보완한다. 1. fastText의 원리 1-a 내부 단어(subword)의 학습 n의 값에 따라 단어가 얼마나 분리되는지 결정된다. 예를 들어 n = 3 일 때, happy 라는 단어는 hap app ppy + 시작과 끝을 의미하는 를 도입하여 총 다섯가지의 내부 단어를 벡터화 시킨다. # n = 3 # 단어 = happy 여기에 마지막으로 원래의 단어에 를 추가해준 벡터까지 추..

so.py
'embedding' 태그의 글 목록