seegongsik
공업수학

내적은 닮음을 잰다

내적은 길이와 방향의 닮음을 한꺼번에 담고, 길이를 떼면 코사인 유사도가 되어 검색과 추천의 핵심이 된다

검색창에 단어를 치면 엔진은 글을 한 글자씩 비교하지 않는다. 글마다 벡터로 바꿔 놓고, 두 벡터가 얼마나 같은 쪽을 가리키는지를 본다. 이 얼마나 같은 쪽인가를 한 숫자로 재는 도구가 내적이에요. a·b = |a||b|cos θ. 두 벡터의 길이와 둘이 이루는 각의 코사인을 곱한 값이다. 여기서 길이를 떼어 내면 cos θ 하나만 남는데, 이것이 바로 코사인 유사도다. 같은 방향이면 닮았고, 직각이면 무관하고, 반대면 정반대다. 검색과 추천, 단어 임베딩이 모두 이 한 줄 위에서 돌아가요.

초록 화살표 a는 고정해 두고 파란 화살표 b를 두 슬라이더로 다룬다. 한 슬라이더는 b의 각도를, 다른 슬라이더는 b의 길이를 바꾼다. 아래에 적힌 a·b 값이 두 슬라이더에 모두 반응해요. b를 길게 하면 값이 통째로 커지는 길이 효과가 나타나고, b를 돌리면 같은 쪽일 때 양수, 직각이면 0, 반대쪽이면 음수로 바뀌는 정렬 효과가 나타난다. 부호에 따라 글자 색이 초록, 흐린 색, 빨강으로 바뀌고, a 위로 떨어지는 b의 발(금색 점)도 함께 움직인다. 내적 하나가 길이와 정렬 두 가지를 동시에 담는다는 것을 손으로 느낄 수 있어요.

내적은 다른 눈으로도 볼 수 있다. a를 +x축에 길이 2로 눕혀 두고 b의 각도만 슬라이더로 돌리면, 금색으로 그려지는 막대가 b를 a 위로 곧장 떨어뜨린 그림자, 곧 사영이에요. 막대 끝에는 그 길이가 적힌다. 그러면 a·b는 정확히 |a| 곱하기 그 사영 길이가 된다. b를 a 쪽으로 눕히면 그림자가 길어져 내적이 크고, b를 세울수록 그림자가 짧아져 내적이 준다. 직각이 되면 그림자가 0이라 내적도 0이다. 둔각으로 넘어가면 그림자가 반대쪽으로 넘어가 내적이 음수가 된다. 내적은 결국 한 벡터가 다른 벡터 방향으로 얼마나 뻗었는지를 길이로 재서 |a|배 한 값이에요.

내적의 부호만 따로 떼어 보면 규칙이 아주 단순하다. a를 +x축에 두고 b의 각도 θ를 0도에서 360도까지 슬라이더로 쓸면 평면이 두 영역으로 칠해져요. a와 같은 쪽 반평면(θ가 90도 안쪽)은 초록빛이고, 거기서는 내적이 양수다. 정확히 90도와 270도, 곧 직각에서는 0이다. 반대쪽 반평면(90도와 270도 사이)은 붉은빛이라 내적이 음수다. b를 돌리면 아래 글자가 양수 · 0 · 음수로 바뀌며 값도 함께 적혀요. 부호 하나로 같은 편인지, 무관한지, 반대편인지가 정해진다는 것이 한눈에 들어온다.

이제 길이를 완전히 떼어 낸다. cos θ = a·b / (|a||b|). 이 값은 언제나 -1과 +1 사이에 든다. a를 고정하고 b의 각도와 길이를 두 슬라이더로 바꾸면 결정적인 장면이 나와요. b의 길이만 늘이거나 줄이면 cos θ는 꿈쩍도 하지 않고, 아래 -1에서 +1까지 그어진 게이지의 바늘이 제자리에 있다. 반대로 각도를 돌리면 바늘이 쭉 미끄러진다. 코사인 유사도는 크기를 무시하고 방향만 보는 것이다. 그래서 검색 엔진과 임베딩은 글이 길든 짧든 상관없이 가리키는 방향만으로 두 글이 닮았는지를 견줘요.

마지막으로 내적이 정확히 0이 되는 순간을 직접 잡는다. a는 고정이고, 파란 화살표 b를 손으로 끌어 평면 위를 돌아다니면 아래에 a·b 값이 실시간으로 떠요. b가 a와 직각을 이루는 자리를 지날 때 값이 0을 가로지르면서 화살표가 금색으로 빛나고 직교라는 글자가 뜬다. 내적이 0이라는 것은 두 방향이 완전히 수직, 곧 서로 무관하고 독립이라는 뜻이다. 이 성질이 좌표축을 깔끔하게 만든다. x축과 y축이 직교하니까 한 축으로 움직여도 다른 축 값은 흔들리지 않기 때문이에요. 깨끗한 기저는 모두 이 내적 0에서 나온다.

빠른 적용내적 a·b = |a||b|cos θ는 두 정보를 하나로 묶는다. 두 벡터의 길이, 그리고 둘이 얼마나 같은 쪽을 가리키는지다. 길이를 떼어 내면 cos θ = a·b/(|a||b|), 곧 -1에서 +1 사이의 코사인 유사도가 남고, 이것이 검색과 추천과 단어 임베딩에서 방향만으로 닮음을 재는 일꾼이에요. 부호도 그대로 읽힌다. 양수면 같은 편, 0이면 직교라 무관하고 독립이며, 음수면 반대편이다. 내적이 0이라는 것은 두 방향이 수직이라는 뜻이고, 그래서 좌표축처럼 깨끗한 기저가 가능해요. 길이와 정렬을 한 숫자에 담은 내적 하나가 기하의 사영부터 AI의 의미 비교까지 같은 문장으로 묶는다.
← 공업수학
이 페이지가 도움 됐다면 후원하기