개요
Word2Vec은 2013년 구글의 토마스 미콜로프(Thomas Mikolov) 연구팀이 발표한 자연어 처리(NLP) 분야의 대표적인 워드 임베딩(Word Embedding) 기법입니다. 각 단어를 고차원 공간의 벡터로 변환해, 단어 간의 의미적 유사성을 벡터 간의 거리나 방향으로 표현할 수 있게 합니다. 즉, 비슷한 의미를 가진 단어들은 벡터 공간상에서 서로 가까운 위치에 놓이게 됩니다.
내용
Word2Vec은 대규모 텍스트 데이터(말뭉치 또는 코퍼스)에서 단어와 주변 단어들의 관계를 학습해, 각 단어를 고정된 크기의 실수 벡터로 변환합니다. 이 벡터는 단어의 의미와 문맥 정보를 내포하고 있어, 벡터 간 연산(예: 코사인 유사도)으로 단어 유사도를 측정할 수 있습니다.
Word2Vec은 얕은 신경망을 사용하는데, 대표적으로 CBOW와 Skip-Gram 이 있습니다. 여기서 학습 데이터는 슬라이딩 윈도우(Sliding Window) 방식으로 생성됩니다. 예를 들어, 윈도우 크기를 2로 설정하면, 한 단어의 좌우 2개 단어씩을 주변 단어로 보고 데이터셋을 구성한다
CBOW | Skip-Gram |
주변 단어 → 중심 단어 예측 | 중심 단어 → 주변 단어 예측 |
주변 단어 벡터의 평균값을 사용하여 계산 | 단일 중심 단어 벡터 직접 활용하여 계산 |
효율적 계산량 | 고차원 연산 필요 |
빠른 학습 속도 | 느린 학습 속도 |
희소 단어 처리에 약점 발생 | 정교한 의미 표현 가능 그러나 높은 계산 비용이 발생 |
1. CBOW(Continuous Bag of Words)
주변 단어를 입력으로 받아 중심 단어 예측합니다. "The fat cat ___ on the mat"를 입력하면 빈칸에 들어갈 "sat"을 예측합니다. 학습 시 하나의 중심 단어에 대해 주변 단어 전체를 한 번에 학습하기 때문에, 단어당 1회 업데이트가 발생합니다.
2. Skip-Gram
중심 단어를 입력으로 받아 주변 단어들을 예측합니다. "sat"이라는 단어를 입력하면 주변 단어인 "The fat cat ___ on the mat"을 각각 예측합니다. 학습 시 하나의 중심 단어로 여러 주변 단어를 개별 학습하기 때문에, 단어당 m회 업데이트가 발생합니다. (윈도우 크기 m 기준)
'AI & GPU' 카테고리의 다른 글
SMOTE (0) | 2025.05.04 |
---|---|
슬라이딩 윈도우 메커니즘 (1) | 2025.05.04 |
Tensor Parallelism과 Pipeline Parallelism (0) | 2025.04.20 |
MCP (0) | 2025.04.20 |
AI 학습에서의 분산 학습 (0) | 2025.04.13 |