Word2Vec은 자연어 처리(NLP) 및 기계 학습 작업에 사용되는 인기 있는 단어 임베딩 기술입니다. 2013년 Tomas Mikolov가 이끄는 Google 연구원 팀에 의해 소개되었습니다.
우선 생각할 문제가 신경망에서 단어 처리는 어떻게 할까요? 신경망에서 Input Layer는 고정길이 벡터를 넣어야 합니다. 보통 단어는 고정길이가 니죠. 그래서 단어를 원핫 표현으로 변환해 주어야 합니다. 단어ID와 같은 원소는 1, 나머지는 모두 0으로 설정하는 '원핫 인코딩'을 합니다. 그림과 같이 7개 단어에 대해 7개 size만큼 있습니다.
Word2Vec이란
기본적인 아이디어는 "유사한 단어가 서로 더 가깝게 위치할 것이다."였습니다. 그래서 연속 벡터 공간에서 단어를 나타내보는 것이죠. 이 표현은 주어진 텍스트 모음의 문맥을 기반으로 단어의 의미론적 해석을 찾아냅니다. Word2Vec은 이러한 벡터 표현을 학습하기 위해 일반적으로 하나의 숨겨진 레이어가 있는 얕은 신경망인 신경망 아키텍처를 활용합니다.
여기서 입력층(Input Layer) 보다 은닉층(Hidden Layer)의 뉴런의 개수를 적게하는 것이 핵심입니다. 이과정을 통해 단어 예측에 필요한 정보를 ‘간결하게 ‘ 담게 됩니다. 입력층 7, 은닉층 3 이면 fully Connected로 계산하면 가중치는 7x3 =21개입니다.
1. Word2Vec의 아키텍처
기존의 원핫 벡터 방식의 단어 표현은 단어 간 유사도를 표현할 수 없다는 단점이 있었죠. 이를 해결하기 위해 Google에서 나온 기술로 단어들의 특정 dimension의 벡터로 만들어 주는 word embedding 방법을 사용합니다. 이를 2층 신경망 모델로 구현 가능합니다. Word2Vec 모델을 훈련하는 데는 CBOW(Continuous Bag of Words) 모델과 Skip-gram 모델이라는 두 가지 주요 접근 방식이 있습니다.
2. CBOW 모델
CBOW 모델의 목표는 주변에 있는 단어를 Input으로 중간에 있는 단어(target)를 예측하는 것입니다. 주변 단어의 고정 크기 문맥 창을 입력으로 받아 창 중앙에 대상 단어를 예측합니다. 모델은 실제 타겟 단어와 예측 단어 사이의 예측 오류를 최소화하도록 학습됩니다.
CBOW가 좋은 점은 학습속도가 더 빠릅니다. CBOW의 계산량은 C개의 단어, N개의 은닉층, 출력층 V개라고 하면 전체 계산량은 $ C\times N + N\times V $ 가 됩니다. Skip-gram은 손실을 맥락 수만큼 구해야 해서 계산 비용이 그만큼 커집니다.
3. Skip-gram모델
CBOW와 달리 Skip-gram 모델은 중간에 있는 단어들을 Input으로 주변단어들을 예측하는 방법입니다. 타겟 단어를 입력으로 받아 타겟 단어 주변의 특정 창 내에서 문맥 단어를 예측합니다. 모델은 목표 단어가 주어졌을 때 문맥 단어를 예측할 가능성을 최대화하도록 훈련됩니다.
결국 Skip-gram은 CBOW에서 다루는 맥락과 타깃을 역전시킨 모델입니다. 정밀도 면에서 Skip-gram 모델이 더 좋은 경우가 많고, 말뭉치가 커질수록 저빈도 단어나 유추 문제의 성능이 뛰어난 경향이 있습니다. 대신 Skip-gram은 더 많은 단어가 필요합니다.
Word2Vec의 역할
CBOW 및 Skip-gram 모델은 모두 대규모 텍스트 데이터 모음을 사용하여 학습됩니다. 여기서 단어 임베딩은 신경망의 최적화 프로세스를 통해 학습됩니다. 결과 단어 임베딩은 단어 간의 의미론적 관계를 포착합니다. 유사한 의미나 맥락을 가진 단어는 유사한 벡터 표현을 가지므로 단어 유사성, 텍스트 분류, 감정 분석 및 기계 번역과 같은 다양한 NLP 작업에 유용합니다.
Word2Vec은 텍스트 데이터에서 의미 정보를 캡처하는 단순성, 효율성 및 효율성으로 인해 NLP의 기본 기술이 되었습니다. 이는 산업계와 학계 전반에 걸쳐 다양한 응용 분야에 널리 사용하고 있습니다.
'딥러닝' 카테고리의 다른 글
순환신경망(RNN)이 언어 모델로 사용된 이유 (0) | 2024.03.27 |
---|---|
Word2Vec: CBOW 모델 추론 및 학습 (0) | 2024.03.26 |
통계 기반 기법 vs 추론 기반 기법의 차이점 (0) | 2024.03.22 |
통계 기반 언어 모델 특징 및 한계점(feat. 시소러스, WordNet) (1) | 2024.03.18 |
자연어 처리 과정과 n-gram (0) | 2024.03.14 |