벡터의 연산과 기하학적 표현을 복습하고, 단어 임베딩에서 벡터 연산이 단어의 의미 관계를 어떻게 나타내는지 탐구합니다.
| 단계 | 활동 | |
|---|---|---|
| 도입 | ChatGPT는 문장을 어떻게 만들어낼까? | 5분 |
| 활동1 | 벡터의 연산과 기하학적 표현 | 10분 |
| 활동2 | 단어 벡터 유추 탐구기 | 20분 |
| 활동3 | 벡터 연산으로 언어를 완벽히 표현할 수 있을까? | 10분 |
ChatGPT는 사람의 질문을 형태소 분석, 단어 임베딩을 거쳐 언어 모델에 입력합니다. 언어 모델에서는 문장을 이해하고 확률적으로 다음에 나올 단어를 예측하여 새로운 문장을 생성합니다.
두 벡터 $\vec a=(a_1,a_2,\cdots,a_n)$, $\vec b=(b_1,b_2,\cdots,b_n)$과 실수 $k$에 대하여
$\vec a+\vec b=(a_1+b_1,a_2+b_2,\cdots,a_n+b_n)$
$\vec a-\vec b=(a_1-b_1,a_2-b_2,\cdots,a_n-b_n)$
$k\vec a=(ka_1,ka_2,\cdots,ka_n)$
좌표평면에서 벡터 $\vec a$는 시점을 원점에 맞추었을 때 종점 $\mathrm{A}(a_1,a_2)$의 위치로 기하학적으로 표현할 수 있습니다. 단어 임베딩은 비슷한 의미가 있는 단어들을 서로 가까운 곳에 있는 벡터로 표현하므로, 벡터 연산을 하면 의미 있는 결과가 나옵니다.
실제 단어 임베딩 공간에서는 다음과 같은 벡터 연산이 성립합니다 (출처: word2vec.kr). 버튼을 눌러 각 관계를 벡터 그림으로 확인해 보세요.
벡터 연산은 '왕'과 '남자', '여왕'과 '여자'와 같은 관계는 잘 표현하지만, 모든 언어적 관계를 완벽하게 모델링할 수는 없습니다. 더 복잡한 문맥적 뉘앙스는 잘 포착하지 못할 수 있습니다.
오늘은 벡터 연산이 단어의 의미 관계를 표현하는 원리를 배웠습니다. 다음 시간에는 인공지능 수학 탐구를 스스로 설계하는 5단계 방법을 배우고 전체 단원을 정리합니다.