임베딩 (embedding)
쉽게 풀면
지도 위의 도시들을 생각해보세요. "서울"과 "인천"은 지도에서 가까이 있고, "서울"과 "부산"은 지도에서 멀리 떨어져 있습니다. 이 위치(좌표)만 봐도 두 도시가 얼마나 가까운 관계인지 알 수 있죠. 임베딩은 이런 지도를 단어나 문장, 이미지에 대해 만드는 것입니다. 컴퓨터는 원래 "고양이"와 "강아지"라는 글자만 봐서는 이 둘이 비슷한 의미인지 전혀 알 수 없습니다. 그런데 이 단어들을 수백 개의 숫자로 이루어진 좌표(벡터)로 바꿔주면, 의미가 비슷한 단어일수록 좌표상에서 가까운 위치에 놓이게 만들 수 있습니다. 이렇게 만들어진 숫자 좌표가 임베딩입니다.
왜 중요한가
임베딩은 텍스트, 이미지, 음성 같은 비정형 데이터를 딥러닝 모델이 처리할 수 있는 형태로 바꿔주는 관문 역할을 하기 때문에, 자연어처리와 컴퓨터비전 전반의 거의 모든 최신 연구가 임베딩 표현 위에서 이루어집니다. 검색엔진의 문서 검색, 추천시스템의 아이템-사용자 매칭, 대규모 언어모델의 입력 처리에 이르기까지 핵심 인프라로 쓰이기 때문에, 더 나은 임베딩을 학습하는 방법 자체가 하나의 독립된 연구 주제로 다뤄집니다.
핵심 정리
- 임베딩은 단어·문장·이미지 같은 대상을 고정 길이의 실수 벡터로 바꾼 표현입니다.
- 학습 목적에 따라, 비슷하게 쓰이는 대상일수록 벡터가 가깝게 놓이도록 만듭니다.
- 단어 임베딩의 대표 연구로 Word2vec(Mikolov 등, 2013)과 GloVe(Pennington 등, 2014)가 있고, 신경망 언어모형으로 단어의 분산표현을 학습한 초기 연구로 Bengio 등(2003)이 있습니다.
- 가까움은 코사인 유사도, 내적, 유클리드 거리 같은 척도로 잽니다.
예시로 보기
가상의 3차원 벡터 a = (1, 2, 0), b = (2, 3, 1)로 코사인 유사도를 계산해 봅니다. 내적은 1×2 + 2×3 + 0×1 = 8, 길이는 √5 ≈ 2.236과 √14 ≈ 3.742입니다. 따라서 cos = 8 ÷ (2.236 × 3.742) ≈ 0.956으로 방향이 매우 비슷합니다. 실제 임베딩은 수백 차원이지만 계산 방식은 같습니다.
자주 하는 오해
| 오해 | 바로잡기 |
|---|---|
| 임베딩의 각 차원은 사람이 읽을 수 있는 의미를 갖는다. | 대부분의 학습된 임베딩에서 개별 차원은 해석하기 어렵고, 벡터 사이의 관계가 의미를 가집니다. |
| 같은 단어는 항상 같은 벡터다. | Word2vec 같은 정적 임베딩은 그렇지만, 문맥 임베딩은 문장에 따라 달라집니다. |
| 임베딩은 학습 데이터와 무관하다. | 학습한 말뭉치의 특성과 편향이 그대로 반영될 수 있습니다. |
논문에서는 이렇게 쓰입니다
실제 논문에서
국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.
“단어 임베딩 방법을 통해 슬픔, 두려움, 행복의 세 가지 범주로 감정 분류를 진행하고, 고전 문학 종류별 내용의 흐름과 감정을 비교 분석해 보았다.”
단어 임베딩을 통한 고전 문학 감정 분석, Journal of The Korean Data Analysis Society, 2021 · KCI 한국학술지인용색인 · 원문 보기 ↗
“두 신문의 언어사용을 비교 분석하는 방법으로 토픽모 델링, 워드 임베딩, 감성분석을 활용하였다.”
코로나19 언어 사용에 대한 전산언어학적 비교분석 - 조선일보와 한겨레를 중심으로 -, 언어사실과 관점, 2022 · KCI 한국학술지인용색인 · 원문 보기 ↗
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
이 문장은 "문서 하나하나를 숫자 벡터로 바꾸고, 그 벡터들이 얼마나 비슷한 방향을 가리키는지를 계산해서 문서들이 서로 얼마나 비슷한지 판단했다"는 뜻입니다.
추천시스템 분야에서 서로 다른 종류의 개체(사용자와 상품)를 같은 벡터 공간에 배치해 관계를 계산하는 데 임베딩이 쓰이는 예입니다.
서로 다른 데이터 형태(이미지, 텍스트)를 하나의 공통 임베딩 공간으로 결합하는 멀티모달 학습 맥락을 보여주는 예문입니다.
조금 더 깊게 보면
임베딩을 다루는 논문을 읽을 때는 벡터의 차원 수, 학습 목적함수(대조학습, 다음 단어 예측 등), 그리고 임베딩 공간의 구조를 평가하는 방법을 함께 살펴보는 것이 중요합니다. 코사인 유사도나 유클리드 거리처럼 벡터 간 거리를 재는 방식에 따라 "비슷하다"의 기준이 달라지며, 최근에는 임베딩을 빠르게 검색하기 위한 근사 최근접 이웃(ANN) 탐색 기법이나 벡터 데이터베이스와 결합해 활용하는 연구도 활발합니다. 또한 정적 임베딩(같은 단어는 항상 같은 벡터)과 문맥에 따라 벡터가 달라지는 문맥 임베딩(contextual embedding)의 차이를 구분하는 것도 최신 논문 이해에 도움이 됩니다.
주의할 점
임베딩은 원본 데이터의 "의미"를 근사적으로 담을 뿐, 완벽하게 보존하는 것은 아닙니다. 어떤 모델과 어떤 데이터로 임베딩을 학습시켰는지에 따라 결과가 달라지며, 학습 데이터에 존재하던 편향이 그대로 임베딩에 반영될 수도 있습니다. 이는 알고리즘편향 문제와도 연결됩니다. 또한 임베딩은 그 자체로 예측을 하는 것이 아니라, 트랜스포머와 같은 모델의 입력이나 자연어처리 작업의 중간 결과물로 흔히 사용됩니다.
헷갈리기 쉬운 용어
표현 학습 관련 용어입니다.
| 용어 | 한 줄 설명 | 비고 |
|---|---|---|
| 워드 임베딩 | 단어를 벡터로 나타낸 임베딩 | 임베딩의 한 종류 |
| 토큰화 | 텍스트를 처리 단위로 나누는 전처리 | 임베딩 이전 단계 |
| 코사인 유사도 | 두 벡터 방향의 유사도 척도 | 임베딩 간 비교에 쓰임 |
참고 문헌
- Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781.
- Pennington, J., Socher, R., & Manning, C. (2014). GloVe: Global vectors for word representation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), 1532–1543.
- Bengio, Y., Ducharme, R., Vincent, P., & Jauvin, C. (2003). A neural probabilistic language model. Journal of Machine Learning Research, 3, 1137–1155.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.