세상을 벡터로 놓다 — AI가 데이터를 보는 첫 언어
2026-04-18
새 시리즈를 엽니다. 에이전트 직접 짜기가 AI를 어떻게 만드는지의 실전이었다면, 이 시리즈는 AI가 왜 도는지를 수식으로 쌓아 올리는 이론입니다. 코드가 아니라 수학으로 증명하며 가고, 선형대수·확률·미적분의 필요한 조각을 그때그때 처음부터 세웁니다. 목표는 트랜스포머까지 한 줄기로 오르는 것이고요.
그 첫 질문은 의외로 단순합니다 — AI는 세상을 대체 어떻게 표현하는가? 집 한 채, 단어 하나, 이미지 한 장을 컴퓨터는 어떻게 붙잡을까요. 답은 하나로 모입니다.
규칙 — AI의 모든 것은, 데이터를 벡터로 놓는 데서 시작한다.
이 편에서 그 벡터가 정확히 무엇인지, 왜 그것이 AI의 첫 언어인지를 밑바닥부터 세웁니다.
벡터란 무엇인가 — 두 개의 관점
벡터를 보는 눈은 둘입니다. 둘 다 맞고, 둘 다 필요해요.
첫째, 수의 나열입니다. 실수 개를 순서대로 늘어놓은 것이죠.
여기서 은 "실수 개짜리 순서쌍 전체의 집합"입니다. 는 그 집합의 한 원소, 즉 차원 공간의 한 점이고요. (앞으로 벡터는 굵은 글씨 로, 그 성분은 로 씁니다.)
둘째, 방향과 크기를 가진 화살표입니다. 원점에서 그 점까지 그은 화살표죠. 나 에서는 이 그림이 눈에 보입니다. 같은 고차원에서는 안 보이지만, 화살표의 직관(더하면 이어 붙고, 늘이면 길어지고, 사이 각도가 있다)은 그대로 살아남습니다. AI 수학의 힘은 바로 이 지점에 있어요 — 눈에 안 보이는 고차원을, 보이는 2·3차원의 직관으로 다룬다는 것.
데이터는 왜 벡터가 되는가
이제 규칙의 앞부분을 채웁니다. 데이터를 벡터로 놓는다는 게 구체적으로 뭘까요.
집 한 채를 생각해 봅시다. 면적 , 방 3개, 12층. 이 세 숫자를 순서대로 늘어놓으면
집 한 채가 3차원 공간의 한 점이 됩니다. 이렇게 데이터를 이루는 각 속성을 **특징(feature)**이라 하고, 특징들을 모은 이 벡터를 **특징 벡터(feature vector)**라 부릅니다.
특징이 셋뿐일 이유는 없습니다. 집이라면 대지 면적·건축 연도·역까지 거리·층수… 수십 개가 될 수 있고, 그러면 집 한 채는 의 한 점입니다. 단어 하나를 768개 숫자로 표현하면(실제 언어 모델이 그렇게 합니다) 의 한 점이고요. 차원이 아무리 커도 원리는 같습니다 — 하나의 대상 = 하나의 점.
그리고 여러 대상을 모으면, 데이터셋은 그 공간에 흩뿌려진 점들의 구름이 됩니다. AI가 하는 일 대부분은 이 구름에서 구조를 찾는 것이에요 — 비슷한 점들을 묶고(군집화), 점들을 가르는 경계를 긋고(분류), 점들의 추세를 잇는(회귀) 식으로요. 그러니 이 첫 언어를 제대로 세우는 게 전부의 출발입니다.
규칙 회수 — 데이터를 이루는 특징들을 순서대로 늘어놓으면, 대상 하나가 의 한 점이 된다. 데이터셋은 그 공간의 점 구름이다.
선형결합 — 왜 '선형'이 중심어인가
벡터에는 두 가지 기본 연산이 있습니다. 이 둘이 이 시리즈 내내 '선형'이라는 말이 붙어 다니는 이유예요.
덧셈은 성분별로 더합니다. 화살표로는 이어 붙이는 것이고요.
스칼라배는 모든 성분에 같은 수 를 곱합니다. 화살표를 배로 늘이거나(음수면 뒤집으며) 줄이는 것이죠.
이 둘을 합치면 **선형결합(linear combination)**이 됩니다. 벡터 몇 개를 각각 늘여서 더한 것이죠.
시시해 보이지만, 이것이 AI가 딛는 거의 모든 계산의 뼈대입니다. 신경망 한 뉴런이 입력을 받아 하는 일이 바로 이 선형결합(, 가중치를 곱해 더하기)이고요. "선형"이란 덧셈과 스칼라배, 이 둘만으로 만들어지는 것을 뜻합니다. 단순하지만 강력하고, 그리고 — 뒤에서 정직하게 볼 텐데 — 이것만으로는 부족해서 '비선형'을 더하게 됩니다.
벡터공간과 기저 — '표현'이란 무엇인가
선형결합이 자유롭게 되는 집합을 **벡터공간(vector space)**이라 부릅니다. 이 대표적이죠. 더하고 늘여도 그 집합을 벗어나지 않는다는 게 핵심입니다.
여기서 중요한 개념이 **기저(basis)**입니다. 공간의 모든 점을 선형결합으로 만들어 낼 수 있는, 최소한의 '축이 되는 벡터들'이에요. 예컨대 에서는
이 셋이 표준 기저입니다. 임의의 점 는
처럼 기저의 선형결합으로 유일하게 쓰입니다. 기저를 이루는 벡터의 개수가 그 공간의 **차원(dimension)**이고요.
여기서 한 걸음 더 나아간 통찰이 있습니다 — 우리가 '데이터'라 부른 그 숫자들은, 사실 어떤 기저에서의 좌표일 뿐이라는 것. 라는 표현은 "면적·방 수·층수"라는 축을 골랐기에 나온 좌표입니다. 축을 다르게 고르면 같은 집이 다른 숫자가 되죠. 이 관점이 왜 중요하냐면, 뒤에서 다룰 임베딩이나 주성분이 결국 "더 좋은 축(기저)을 찾아 데이터를 다시 표현하는 일"이기 때문입니다. 표현을 바꾼다는 건 기저를 바꾼다는 뜻이에요.
규칙 회수 — 데이터의 숫자들은 어떤 기저에서의 좌표다. '표현을 바꾼다'는 것은 축(기저)을 바꿔 같은 대상을 다시 쓰는 일이다.
내적 — 유사도의 언어
두 벡터가 '얼마나 닮았나'를 어떻게 잴까요. 여기서 AI 수학의 주인공 하나가 등장합니다 — **내적(inner product, dot product)**입니다. 성분끼리 곱해 모두 더한 값이죠.
이 숫자 하나가 왜 중요한가는, 기하학적 의미에서 드러납니다. 내적은 두 벡터의 크기와 사이각 로 이렇게도 쓰입니다.
즉 내적은 두 벡터가 같은 방향을 얼마나 가리키는지를 재는 값입니다. 방향이 같으면() 최대, 직각이면(, ) 0, 반대면 음수죠. 여기서 크기의 영향을 걷어내고 방향만 보면 그 유명한 **코사인 유사도(cosine similarity)**가 나옵니다.
이게 바로, "king과 queen이 의미상 가깝다"를 언어 모델이 계산하는 방식의 씨앗입니다. 단어를 벡터로 놓고(임베딩), 두 벡터의 코사인 유사도를 재는 것이죠. 그리고 에이전트 시리즈에서 스쳐 간 트랜스포머의 어텐션도, 그 핵심은 질의(query)와 키(key) 벡터의 내적으로 관련도를 매기는 연산입니다. 내적 하나가 유사도·관련도·투영을 모두 말하는 공용 언어인 셈이에요.
규칙 회수 — 내적은 두 벡터가 같은 방향을 얼마나 가리키는지를 재는 한 숫자다. 유사도·관련도·투영이 모두 이 내적의 얼굴이다.
노름과 거리 — 얼마나 다른가
내적이 '방향'을 말한다면, **노름(norm)**은 '크기'를 말합니다. 벡터의 길이죠. 자기 자신과의 내적에 뿌리를 씌우면 됩니다.
에서 이건 정확히 피타고라스 정리예요 — 원점에서 점까지의 직선 거리. 그리고 두 점의 거리는 그 차 벡터의 노름입니다.
이게 우리가 아는 유클리드 거리이고, "두 데이터 점이 얼마나 다른가"를 재는 가장 기본 척도입니다. 위 노름은 제곱-합-제곱근이라 노름이라 부르고, 성분의 절댓값을 그냥 더하는 노름
도 자주 쓰입니다. 둘의 차이는 나중에 **정규화(regularization)**에서 결정적 역할을 하는데(는 값을 고루 줄이고, 은 아예 0으로 만들어 특징을 골라냅니다), 그건 최적화 편에서 제대로 다루겠습니다. 지금 붙잡을 것은 하나 — 거리는 차 벡터의 노름이고, 노름은 내적에서 나온다는 연결입니다.
행렬 — 데이터이자 변환
마지막으로, 벡터를 한 단계 끌어올립니다. 벡터를 여러 개 쌓으면 **행렬(matrix)**이 됩니다. 그리고 행렬은 AI에서 두 얼굴을 가져요.
첫째, 데이터 그 자체입니다. 샘플 개, 각 샘플이 특징 개면, 데이터셋 전체는
인 행렬 하나입니다. 여기서 성분 는 번째 샘플의 번째 특징이고요. 점 구름을 표 하나로 접은 것이죠.
둘째, 그리고 더 깊게는, 행렬은 **선형변환(linear transformation)**입니다. 행렬 를 벡터 에 곱하면 새 벡터가 나와요.
이 사상은 공간을 회전하거나, 늘이거나, 눌러 찌그러뜨립니다 — 하지만 원점을 지키고 직선을 직선으로 보내는(즉 선형결합을 보존하는) 방식으로만요. 그래서 '선형'변환입니다. 신경망의 한 층이 하는 일이 정확히 이거예요 — 입력 벡터에 가중치 행렬을 곱하고() 치우침 를 더하는() 것. 층을 여러 개 쌓는 건 이 선형변환을 합성하는 것이고, 변환의 합성이 바로 행렬곱입니다.
여기서 아주 중요한 예고가 하나 나옵니다. 선형변환을 아무리 여러 번 합성해도, 그 결과는 여전히 하나의 선형변환(도 그냥 행렬 하나)입니다. 즉 층을 백 개 쌓아도 선형이기만 하면 한 층과 표현력이 같아요. 이 사실이 왜 신경망에 비선형이 반드시 끼어야 하는지를 설명하는데, 그건 신경망 편의 핵심 장면이 될 겁니다.
규칙 회수 — 행렬은 데이터를 담는 표이자, 벡터를 벡터로 보내는 선형변환이다. 신경망 한 층은 이고, 층을 쌓는 것은 변환을 합성(행렬곱)하는 것이다.
왜 이것이 AI의 바닥인가 — 앞으로의 조망
이 편에서 세운 벡터·내적·노름·행렬은, 앞으로 이 시리즈가 오를 봉우리들의 공통 토대입니다. 미리 지도를 펼쳐 두면 이렇습니다.
- 임베딩: 단어·이미지·유저를 벡터로 놓는 것. '의미'가 벡터 공간의 위치와 방향이 되고, 유사도는 내적으로 잽니다. 오늘의 벡터·내적이 그대로 쓰이죠.
- 선형·로지스틱 회귀: 데이터 점 구름에 직선(초평면)을 맞추거나 가르는 것. 하나로 시작합니다.
- 신경망: 그 선형변환 사이사이에 비선형을 끼워 층층이 쌓은 것. 오늘 본 '합성'과 '선형의 한계'가 무대에 오릅니다.
- 어텐션·트랜스포머: 어느 정보에 주목할지를 내적으로 관련도를 매겨 정하는 것. 결국 오늘의 내적이 주인공입니다.
말하자면 오늘은 알파벳을 배운 셈이에요. 이 알파벳으로 앞으로 문장을, 문단을, 결국 트랜스포머라는 한 편의 글을 읽어 나갑니다.
정직하게 — 벡터라는 가정의 값과 한계
강력한 첫 언어지만, 벡터로 놓는다는 것 자체가 공짜가 아닌 선택입니다.
- 선형만으로는 세상을 못 담는다. 이 편은 온통 선형(덧셈·스칼라배·선형변환)이었습니다. 하지만 현실의 관계는 대개 휘어 있어요 — 선형변환을 아무리 합성해도 직선밖에 못 그린다는 걸 위에서 봤죠. 그래서 신경망은 비선형 함수를 끼워 넣습니다. 선형은 뼈대일 뿐, 살은 비선형이 붙입니다. 이건 이 시리즈의 중요한 전환점이 될 겁니다.
- 벡터 표현은 곧 모델링 선택이자 편향이다. 집을 (면적, 방 수, 층)으로 놓는 순간, 우리는 "이 세 가지가 집을 대표한다"고 가정한 겁니다. 채광이나 동네 분위기는 버려졌죠. 무엇을 특징으로 삼고 무엇을 버리는지가 곧 모델이 세상을 보는 편향이 됩니다. 좋은 표현을 자동으로 학습하려는 게 임베딩·표현 학습이고요.
- 고차원은 직관을 배신한다. 화살표 직관은 강력하지만, 차원이 수백·수천으로 커지면 이상한 일이 벌어집니다 — 거의 모든 점이 서로 비슷한 거리에 놓이고, 부피가 껍질로 쏠리는 '고차원의 저주'죠. 2·3차원의 그림을 고차원에 곧이곧대로 옮기면 틀릴 때가 있습니다. 이 긴장은 뒤에서 따로 다룰 값어치가 있어요.
- 연속·실수라는 가정. 우리는 특징을 실수로 놨지만, '색깔'이나 '지역' 같은 범주형 데이터는 그대로 실수가 아닙니다. 이를 벡터로 바꾸는 인코딩 자체가 하나의 기술이고, 잘못하면 없는 순서·거리를 지어내게 됩니다.
이 넷을 알고 쓰면, 벡터는 AI를 이해하는 가장 단단한 첫 발판이 됩니다.
정리 — AI의 첫 언어
- 벡터: 데이터를 이루는 특징을 순서대로 늘어놓은 것. 대상 하나 = 의 한 점이자 화살표. 데이터셋 = 점 구름.
- 선형결합: 덧셈과 스칼라배로 만드는 모든 것. '선형'이 AI의 중심어인 이유이고, 신경망 뉴런의 뼈대다.
- 기저·좌표: 데이터의 숫자는 어떤 기저에서의 좌표다. 표현을 바꾼다는 건 축을 바꾸는 것(임베딩·주성분의 씨앗).
- 내적: 두 벡터가 같은 방향을 얼마나 가리키는지(). 유사도·관련도·어텐션의 공용 언어.
- 노름·거리: 크기는 내적의 뿌리, 거리는 차 벡터의 노름. "얼마나 다른가"를 잰다.
- 행렬: 데이터를 담는 표이자 선형변환. 신경망 한 층은 , 층 쌓기는 행렬곱.
- 정직하게: 선형만으론 부족(비선형 예고), 벡터화는 곧 모델링 편향, 고차원은 직관을 배신, 범주형은 인코딩이 필요하다.
다음 편에서는 오늘 스쳐 간 거리와 유사도를 본격적으로 파고듭니다 — 노름의 여러 얼굴()과 그것이 학습에 어떤 성격을 부여하는지, 그리고 내적이 만드는 기하를 더 깊이 들여다봅니다.
핵심 한 줄 — AI는 세상을 벡터로 놓는 데서 시작한다. 대상 하나가 고차원 공간의 한 점이 되고, 그 점들 사이의 내적과 거리가 유사도와 차이를 말하며, 행렬이 그 점들을 변환한다. 이 벡터·내적·행렬이 임베딩부터 트랜스포머까지의 알파벳이다.