임베딩Embedding
말의 뜻을 자리를 나타내는 숫자로 옮겨 적은 것
- 임베딩은 말이나 문장의 뜻을 자리를 나타내는 숫자 묶음으로 옮긴 것이에요. 뜻이 비슷하면 자리도 가까워요.
- 자리를 사람이 정하지 않았어요. 방대한 글에서 어떤 말들이 비슷한 자리에 나오는지 보고 학습 중에 저절로 정해졌어요.
- 숫자 하나하나에 이름은 없어요. 중요한 건 값 자체가 아니라 다른 것과의 거리와 방향이에요.
- 임베딩 덕분에 글자가 달라도 뜻이 같으면 찾아낼 수 있어요. 검색과 추천이 확 달라진 이유예요.
- 말뿐 아니라 문장, 문서, 그림, 소리도 같은 방식으로 자리를 받을 수 있어요.
목차
1비유로 이해하기
등산로 이정표에는 지명만 적혀 있지 않아요. "약수터 0.6, 정상 2.4"처럼 기준이 되는 몇 군데까지의 거리가 함께 적혀 있어요. 이 숫자만 있으면 지도를 펼치지 않아도 두 이정표가 서로 붙어 있는지 멀리 떨어져 있는지 알 수 있어요. 숫자 조합이 비슷하면 실제로 가까운 자리니까요. 임베딩은 말에 이런 이정표 숫자를 붙여 주는 일이에요.
이정표에 적힌 숫자는 그 지점의 이름과 아무 상관이 없어요. "바위쉼터"라는 이름에는 위치 정보가 없지만, 거리 숫자에는 위치가 통째로 담겨 있어요. 임베딩도 마찬가지예요. 글자 모양이 아니라 뜻이 놓인 자리를 숫자로 적어요.
그래서 이름이 전혀 다른 두 지점도 숫자가 비슷하면 이웃이에요. "휴대폰"과 "스마트폰"이 그런 이웃이에요.
2자세히 알아보기
뜻이 비슷하면 자리가 가까워요
임베딩이 만든 자리에서는 거리가 곧 뜻의 닮은 정도예요. "사과"와 "배"는 붙어 있고, "사과"와 "지하철"은 멀리 떨어져요. 과일들끼리 한 구역에, 탈것들끼리 다른 구역에 모여요.
이 성질이 왜 대단하냐면, 글자가 하나도 겹치지 않는 두 말의 관계를 계산으로 잡아낼 수 있기 때문이에요. 예전 검색은 "환불"이라고 쳐야 "환불"이 적힌 문서를 찾았어요. 임베딩을 쓰면 "돈 돌려받고 싶어요"라고 써도 환불 안내가 나와요. 두 표현이 가까운 자리에 있으니까요.
거리를 재는 방법은 대체로 두 자리가 원점에서 볼 때 얼마나 같은 방향을 보고 있는지로 따져요. 길이보다 방향이 뜻을 더 잘 담고 있어서예요.
자리는 학습 중에 저절로 정해졌어요
누군가 "사과는 여기, 배는 그 옆"이라고 좌표를 적어 준 게 아니에요. 방법은 단순해요. 방대한 글을 훑으면서 비슷한 자리에 등장하는 말들을 서로 가깝게 당기는 일을 반복해요.
"사과를 깎았다", "배를 깎았다"처럼 두 말이 비슷한 문맥에 반복해서 나오면, 학습이 진행될수록 둘의 자리가 서로 끌려와요. 반대로 같은 문맥에 함께 나온 적이 거의 없는 말끼리는 밀려나요. 이 당기고 미는 일을 수없이 반복하면 뜻이 비슷한 것끼리 저절로 모여요.
그래서 임베딩에는 학습에 쓴 글의 성격이 그대로 배어요. 특정 직업 이름 옆에 특정 성별 표현이 가깝게 놓이는 식의 편향도 이 과정에서 함께 들어와요.
숫자 하나하나에는 이름이 없어요
임베딩 숫자는 보통 수백에서 수천 개예요. 첫 번째 숫자가 "달콤함", 두 번째가 "크기" 같은 식으로 정해져 있으면 좋겠지만 그렇지 않아요. 각 자리는 학습이 알아서 잡은 축이라 사람이 이름 붙이기 어려워요.
그래도 방향에는 뜻이 담겨요. "왕"에서 남성적인 성질 쪽으로 놓인 방향을 걷어 내고 여성적인 성질 쪽 방향을 더하면 "여왕" 근처에 닿는다는 관찰이 유명해요. 나라 이름에서 수도로 향하는 방향이 여러 나라에서 비슷하게 나타나기도 해요.
이런 관계가 언제나 딱 맞아떨어지지는 않아요. 잘 되는 예를 골라 보여 준 경우가 많고, 흔하지 않은 말에서는 잘 성립하지 않아요.
같은 말도 문맥에 따라 자리가 달라져요
초기 방식은 단어마다 자리를 하나씩만 줬어요. 그러니 "배가 아프다"의 배와 "배를 타다"의 배가 같은 자리에 놓였어요.
지금 쓰는 방식은 문장을 통째로 넣어야 자리가 나와요. 앞뒤 말을 함께 보고 그때그때 자리를 계산하니까, 같은 글자라도 문맥에 따라 다른 자리에 놓여요. 병원 이야기 속의 배와 항구 이야기 속의 배가 서로 멀리 떨어지는 거예요.
글만 자리를 받는 게 아니에요
문장 하나, 문서 한 편에도 자리를 줄 수 있어요. 긴 글을 통째로 넣으면 그 글의 요지를 담은 숫자 묶음이 나와요. 이걸 미리 만들어 저장해 두면 나중에 뜻으로 문서를 찾을 수 있어요.
그림과 소리도 같은 자리에 함께 놓을 수 있어요. 사진과 그 사진을 설명하는 문장이 가까운 자리에 오도록 학습시키면, 글로 사진을 검색하거나 사진에 어울리는 설명을 찾는 일이 가능해져요.
3조금 더 정확하게
임베딩은 이산적인 대상을 연속적인 벡터 공간의 한 점으로 대응시키는 것을 말해요. 차원 수는 보통 수백에서 수천이고, 이 값이 클수록 더 미세한 차이를 담지만 저장 공간과 계산량도 함께 커져요.
닮은 정도는 대개 코사인 유사도로 재요. 두 벡터가 이루는 각도가 좁을수록 값이 1에 가까워지는 방식이에요. 검색에 쓸 때는 이 값이 큰 순서대로 문서를 골라 와요.
비유가 어긋나는 지점도 있어요. 등산로 이정표의 거리는 실제 땅 위의 길이라 사람이 확인할 수 있고 기준점도 정해져 있어요. 임베딩의 숫자는 기준점이 무엇인지 아무도 지정하지 않았고, 그 값 자체는 다른 모델의 값과 비교할 수도 없어요. 서로 다른 임베딩 모델이 만든 숫자를 나란히 놓고 거리를 재는 일은 의미가 없어요. 같은 모델이 만든 것들 사이에서만 비교가 성립해요.
4직접 해보기
5흔한 오해
임베딩 숫자를 읽으면 뜻을 알 수 있다고 생각하기 쉽지만, 실제로는 숫자 하나하나에 이름이 없고 다른 임베딩과의 거리로만 의미가 생겨요.
같은 단어는 항상 같은 임베딩을 가진다고 여기기 쉽지만, 실제로는 요즘 방식은 앞뒤 문맥을 함께 보기 때문에 문장이 다르면 자리도 달라져요.
임베딩은 중립적인 숫자다라고 생각하기 쉽지만, 실제로는 학습에 쓴 글에 담긴 치우침이 자리 배치에 그대로 남아요.
7한 줄 요약
그러니까임베딩은 말의 뜻을 이정표 거리처럼 숫자로 옮겨 적어, 글자가 달라도 뜻이 가까운 것끼리 찾아낼 수 있게 만든 것이에요.
잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02