topic난이도 · 약 25

벡터란? — King - Man + Woman = Queen

벡터는 크기와 방향을 가진 수의 배열. 단어 임베딩으로 의미를 숫자로 표현한다.

#벡터#임베딩#Word2Vec#NumPy
왜 배우는가

AI가 '왕'과 '여왕'이 비슷한 관계라는 것을 어떻게 알까? 비밀은 단어를 숫자 벡터로 변환하는 것에 있다. King - Man + Woman = Queen, 이 마법 같은 수식이 벡터 공간에서 성립한다. 벡터 — AI가 단어의 의미를 숫자로 표현하는 핵심 도구이다.

벡터 = 화살표 — 크기와 방향을 가진 숫자의 나열

벡터는 크기와 방향을 가진 숫자들의 나열입니다

용어설명
벡터크기와 방향을 가진 수의 배열, 의미를 숫자로 표현
임베딩단어·문장을 고정 길이 벡터로 변환하는 것

[3, 4]는 '오른쪽 3, 위로 4' 만큼의 이동입니다

AI에서는 수백~수천 차원의 벡터를 사용합니다

벡터(Vector), 차원(Dimension), 임베딩(Embedding)

벡터 = 숫자들의 순서 있는 나열 [v₁, v₂, ..., vₙ] 차원 = 벡터 안 숫자의 개수 (n) 임베딩 = 단어/문장을 벡터로 변환하는 것

AI는 단어를 고차원 공간의 점으로 배치합니다

비슷한 의미의 단어는 가까이, 다른 의미는 멀리 배치됩니다

'왕' ↔ '여왕' = 가까움, '왕' ↔ '바나나' = 멀리

Word2Vec, GloVe, FastText — 초기 임베딩 모델들 GPT/BERT — Transformer 기반 문맥 임베딩 핵심: 비슷한 문맥에서 등장하는 단어 → 비슷한 벡터

벡터 연산으로 단어의 관계를 포착할 수 있습니다

\vec{King} - \vec{Man} + \vec{Woman} \approx \vec{Queen} '왕'에서 '남성성'을 빼고 '여성성'을 더하면 '여왕'이 됩니다. 벡터 공간에서 성별 관계가 방향으로 인코딩되어 있기 때문입니다.

\vec{Paris} - \vec{France} + \vec{Japan} \approx \vec{Tokyo} 수도–나라 관계도 벡터 연산으로 포착됩니다. '파리'에서 '프랑스'를 빼고 '일본'을 더하면 '도쿄'에 근접합니다.

벡터 연산이 의미를 포착하는 이유: 동일한 관계 = 동일한 방향 벡터 King→Queen 방향 ≈ Man→Woman 방향 Paris→France 방향 ≈ Tokyo→Japan 방향

NumPy로 벡터를 만들고 연산해봅시다

NumPy 배열로 벡터를 만들고, 덧셈/뺄셈 연산으로 King-Man+Woman≈Queen을 확인한다.

리스트로 벡터 덧셈과 뺄셈을 구현하고 단어 관계가 어떻게 포착되는지 실험합니다

순수 Python 리스트로 벡터 연산을 구현하여 King-Man+Woman의 결과가 Queen에 가장 가까움을 확인한다.

핵심 개념설명
벡터숫자들의 순서 있는 나열 [v₁, v₂, ..., vₙ] — 크기와 방향을 가짐
차원벡터 안 숫자의 개수 (n) — GPT는 수백~수천 차원 사용
임베딩단어·문장을 고정 길이 벡터로 변환하는 것
벡터 연산과 의미설명
King−Man+Woman≈Queen동일한 관계는 벡터 공간에서 동일한 방향으로 인코딩
의미적 유사성비슷한 문맥의 단어 → 가까운 벡터 위치
NumPynp.array()로 벡터 생성, +, -, @ 연산자로 벡터 연산

임베딩은 LLM 파이프라인의 첫 번째 단계! 토큰 → 벡터 변환 없이는 AI가 언어를 이해할 수 없습니다.

실기 드릴 5문항
edit실기 드릴 · 단답형

단어 임베딩에서 '비슷한 의미'의 단어들은 벡터 공간에서 어떤 관계를 갖나요?

check_circle실기 드릴 · OX

GPT, BERT 같은 Transformer 모델도 단어를 벡터로 변환하는 임베딩을 사용한다.

edit실기 드릴 · 단답형

벡터 [1, 2, 3]의 차원(dimension)은 얼마인가요?

edit실기 드릴 · 단답형

NumPy에서 v = np.array([1, 2, 3])의 shape은?

edit실기 드릴 · 단답형

Word2Vec에서 "King" - "Man" + "Woman"의 결과 벡터와 가장 가까운 단어는?