수학적 직관 다지기 · Chapter 1

벡터란 무엇인가

— 의미를 숫자로 바꾸는 법, 그리고 보이지 않는 차원을 믿는 법

눈높이: 중3 ~ 고1 키워드: 벡터 · 차원 · 임베딩

우리는 "컴퓨터는 단어를 어떻게 이해할까?"라는 질문에서 출발했다. 컴퓨터는 글자를 모른다. 컴퓨터가 아는 건 오직 숫자뿐이다. 그래서 단어의 의미를 숫자로 바꿔 쥐여줘야 한다. 이 한 가지 고민을 끝까지 따라가다 보면, 우리는 자연스럽게 '벡터'라는 개념에 도착하게 된다.

1 숫자 하나로는 부족하다

가장 단순한 생각부터 해보자. 단어마다 번호를 하나씩 붙이는 것이다.

사과 = 1    바나나 = 2    자동차 = 3

구분은 된다. 하지만 숫자에는 우리가 의도하지 않은 함정이 숨어 있다. 숫자는 한 줄로 세우는 순간, 저절로 순서거리를 갖게 된다.

1 2 3 사과 바나나 자동차
한 줄(1차원) 위에서는 바나나가 사과와 자동차 사이에 억지로 끼고, 두 간격이 똑같아진다. "바나나는 자동차만큼 사과에서 멀다"는 엉뚱한 관계가 강제로 생긴다.

사과와 바나나는 둘 다 과일이라 가까워야 하고, 자동차는 멀리 떨어져야 한다. 하지만 숫자 한 줄로는 이 관계를 표현할 자유가 없다. 줄 하나 위에서는 모든 것이 일렬로만 놓이기 때문이다.

2 숫자를 여러 개 주면, 공간이 생긴다

그렇다면 숫자를 하나가 아니라 두 개씩 주면 어떨까?

사과 = (3, 8)    바나나 = (2, 7)    자동차 = (9, 1)

숫자가 두 개라는 건, 단어를 한 줄이 아니라 평면(2차원) 위에 점으로 찍을 수 있다는 뜻이다. 가로축 하나, 세로축 하나. 이제 사과와 바나나는 가까이, 자동차는 멀리 놓을 수 있다.

가로축 (예: 딱딱함) 세로축 (예: 크기) 사과 (3,8) 바나나 (2,7) 자동차 (9,1) 가깝다
숫자 두 개 = 평면 위의 한 점. 사과와 바나나는 가까이 모이고 자동차는 멀리 떨어진다. 1차원의 답답함이 풀렸다.
영준님의 통찰 ① — "축이 두 개면, 세상을 단 두 가지 기준으로만 나눠야 한다. 크기와 딱딱함만 쓰면 돌멩이·콘크리트·호두·밤이 전부 '작고 딱딱한' 한 자리에 뭉쳐버린다." 평면도 결국 부족하다는 걸 스스로 발견했다.

3 부족하면 축을 더 늘린다

두 축으로 겹쳐버린다면? 답은 단순하다. 세 번째 축을 추가한다. 예를 들어 "먹을 수 있는 정도"라는 축을 넣으면, 크기·딱딱함이 비슷했던 돌멩이와 밤이 위아래로 쫙 갈라진다.

딱딱함 → 크기 ↑ 먹을 수 있나 ↗ 돌멩이 3번째 축에서 갈라진다
평면에서 겹쳐 보이던 돌멩이와 밤이, 세 번째 축(먹을 수 있나)이 생기자 높이 차이로 분리된다. 축이 늘수록 더 미세한 의미 차이를 담을 수 있다.

그런데 곧 또 이런 생각이 든다. "기준이 크기·딱딱함·먹을 수 있나, 셋뿐일까? 색깔도, 살아있나 죽었나도, 비싼가 싼가도 있는데… 기준은 수백 개도 넘잖아."

맞다. 그래서 진짜 임베딩은 축이 2개도 3개도 아니라 수백, 수천 개다. 영준님이 RAG에서 쓰는 임베딩이 768차원, 1536차원, 3072차원인 이유가 바로 이것이다. 사람은 그림으로 못 그릴 뿐, 컴퓨터는 단어 하나를 수천 개 기준 위의 좌표로 들고 있다.

영준님의 실무 경험 — 근로기준법을 1536차원으로 임베딩했을 때는 답이 잘 안 나오다가, 3072차원으로 늘리니 답변 품질이 좋아졌다. 이건 우리가 손으로 그려본 "축이 부족하면 의미가 뭉친다 → 축을 늘리면 갈라진다"는 원리가, 큰 스케일에서 그대로 일어난 것이다.

4 이게 바로 '벡터'다

지금까지 우리가 한 일 — 숫자를 순서대로 나열해서 어떤 공간 위의 한 점(또는 화살표)을 나타내는 것. 이것이 바로 벡터(vector)의 정의다.

핵심 정의

벡터 = 숫자를 순서대로 나열한 것. 그 숫자들이 공간 위의 위치(점)나 방향(화살표)을 가리킨다.

숫자가 몇 개냐 = 몇 차원 벡터냐.  (3,8) → 2차원 벡터 / 숫자 1536개 → 1536차원 벡터.

5 보이지 않는 차원을 믿는 법

여기서 가장 솔직하고 중요한 벽을 만난다. 우리는 3차원까지밖에 그림으로 그릴 수 없다. 4차원, 1536차원은 아무리 애써도 머릿속에 떠오르지 않는다. 그래서 벡터가 글로는 이해돼도 마음으로는 잘 안 믿어진다. 사람은 보이는 건 더 믿고, 안 보이는 건 덜 믿으니까.

안심하세요

4차원 이상을 그림으로 못 그리는 건 지극히 정상이다. 머리가 부족해서가 아니라, 인간의 시각 자체가 3차원 세계에 맞춰 진화했기 때문이다. 평생 수학만 한 사람도 4차원을 "본" 적은 없다.

그럼 수학자들은 어떻게 다룰까?

그들도 그림으로는 안 그린다. 대신 3차원에서 확실히 체득한 감각을 그대로 데려가서 믿는다. 거리를 재는 법, 두 화살표가 같은 방향이면 닮았다는 느낌 — 이걸 2·3차원에서 몸에 새겨두고, 고차원에서는 "계산 규칙이 똑같으니 그 느낌도 똑같이 살아있다"고 믿는 것이다.

"엑셀에서 컬럼이 3개든 1536개든,
계산하는 방식은 똑같다. 안 보일 뿐이다."
— 이 코스의 표어 (영준님이 직접 찾아낸 비유)

컬럼 3개짜리 표는 머릿속에 그려지지만 1536개짜리는 안 그려진다. 그렇다고 그 표를 못 다루는가? 아니다. "각 컬럼끼리 빼서 제곱해 더한다" 같은 규칙은 컬럼이 몇 개든 똑같이 적용된다. 벡터가 정확히 이렇다. 그림은 3차원에서 끝나지만, 규칙은 무한 차원까지 그대로 따라간다.

사실 영준님은 이미 이 전략을 무의식적으로 쓰고 있었다. RAG에서 1536차원을 한 번도 "본" 적 없으면서도, "방향이 비슷하면(코사인 유사도가 높으면) 의미가 비슷하다"는 2차원의 느낌을 그대로 믿고 잘 써왔으니까. 우리는 그걸 의식적으로, 2·3차원에서 탄탄히 다지기만 하면 된다.

이번 장 한눈에 정리

다음 장 예고

벡터를 "화살표"로 보면, 두 화살표가 얼마나 같은 방향을 보는지를 잴 수 있다. 그게 바로 내적(dot product)이고, 영준님이 매일 쓰는 코사인 유사도의 정체다. "왜 내적이 닮음을 재는 도구인지"를 다음에 손으로 느껴볼 것이다.