내적

선형 사상, 벡터, 행렬의 기하학과 대수

내적은 두 벡터를 받아 하나의 수를 돌려줍니다. 방법은 간단합니다. 대응하는 성분끼리 곱한 뒤 그 결과를 모두 더하면 됩니다. 이 단순한 산술 속에 기하학적 의미가 담겨 있습니다. 내적은 두 화살표가 같은 방향을 가리키는 정도를 측정합니다.

기억해 두면 좋은 것은 오른쪽 형태입니다. |a|와 |b|는 각 벡터의 길이이고, θ는 두 화살표 사이의 각입니다. 그래서 내적의 부호만 봐도 기하학이 곧바로 읽힙니다. 양수이면 두 화살표가 같은 쪽으로 기울어 있고(θ < 90°), 음수이면 서로 반대로 향하며(θ > 90°), 정확히 0이면 두 화살표가 수직입니다. 마지막 경우가 앞으로 거듭 등장합니다.

바람이 부는 동안 쇼핑 카트를 미는 모습을 상상해 보세요. 미는 힘과 바람의 내적(dot product)은 두 화살표가 얼마나 정렬되어 있는지 알려줍니다: 바람이 당신을 도울 때는 크고 positive 이며, 바람이 경로를 가로질러 불어 아무 일도 하지 않을 때는 zero 이고, 당신을 뒤로 밀어낼 때는 음수입니다. 유사도 점수로 읽을 때, 내적이 더 크다는 것은 단순히 "이 두 화살표가 더 많이 일치한다"는 것을 의미합니다.

머신러닝에서의 위치트랜스포머가 이전의 어느 토큰에 주의를 기울일지 결정할 때 계산하는 것이 바로 내적입니다. 어텐션 점수는 쿼리 벡터와 키 벡터 사이의 q · k입니다. 둘이 같은 방향을 가리킬수록 점수가 높아지고, 이는 «이 토큰이 저 토큰과 관련 있다»는 뜻이 됩니다. 코사인 유사도는 여기서 길이를 나누어 준 같은 발상입니다. 크기와 무관하게 두 임베딩이 얼마나 비슷한지 순위를 매기며, 검색과 추천이 쿼리를 문서에 짝지을 때 쓰는 방법이 바로 이것입니다.
▶ 내적
← Rⁿ의 벡터노름 →