인일의 공부 블로그

Word2Vec 본문

AI ML DL/머신러닝-딥러닝

Word2Vec

nineil912 2024. 10. 10. 12:28

포스팅 개요

https://wikidocs.net/22660

 

Word2Vec의 학습 방법에는 CBOW와 Skip-Gram 두가지가 있음.

 

목차

1. 1번

2. 2번

3. 3번

 

 

 

 

🎈 1. 희소 표현

- 원 핫 벡터 인코딩을 표현

- 단어의 인덱스 값만 1으로 하고 나머지는 0으로 표현

 

 

🎈 2. 분산 표현

- 분포 가설(distributional hypothesis)을 가정하고 만듦

- 비슷한 문맥에서 등장한 단어들은 비슷한 의미를 가진다는 뜻

 

강아지의 인덱스가 4 라는 예시

1. 원핫벡터

  • Ex) 강아지 = [ 0 0 0 0 1 0 0 0 0 0 0 0 ... 중략 ... 0]

2. 분산 표현

  • Ex) 강아지 = [0.2 0.3 0.5 0.7 0.2 ... 중략 ... 0.2]

- 단어의 의미를 여러 차원에 분산하여 표현

- 단어 벡터 간 유의미한 유사도 계산 가능

 

🎈 3. Continuos Bag of Words(CBOW)

- 주변에 있는 단어들을 입력으로 중간에 있는 단어들을 예측

  • 예문 : "The fat cat sat on the mat"

- 슬라이딩 윈도우(sliding window)방식 채택

- 윈도우의 크기가 정하고, 윈도우를 옆으로 움직여서 주변 단어와 중심 단어의 선택을 변경해가며 학습을 위한 데이터 셋을 제작

 

 

- CBOW의 인공 신경망을 간단히 도식화 한 것

- Input layer : 입력의 앞, 뒤로 사용자가 정한 윈도우 크기 범위 안에 있는 주변 단어들의 원핫벡터

- Output layer : 예측하고자 하는 중간 단어의 원핫벡터 (레이블로 사용) 

 

🎈 4. Skip - Gram

- 중간에 있는 단어들을 입력으로 주변 단어들을 예측

 


간단 후기

논리적으로 봤을때, 많은 데이터를 input 하고 하나의 output을 결정 짓는 CBOW 방식이 더 좋은 방식이라 생각했다. 하지만 실험을 통해 Skip-gram에 대한 성능이 더 좋으미 밝혀졌다고 한다.

Deep Learning 분야에서는 특히 직관을 믿어 가설을 세우고 실험을 통해 검증을 하는것이 중요하다는걸 학습 과정에서 깨달았다.

'AI ML DL > 머신러닝-딥러닝' 카테고리의 다른 글

[ML] 기울기 소실(Vanishing Gradient)  (0) 2022.08.23