Chapter 01

벡터 내적

두 벡터의 방향과 크기를 곱하여 하나의 값으로 나타내는 가장 기본적인 연산이다.

챕터별 딥러닝 도식화

챕터를 하나씩 진행할 때마다 아래 도식이 조금씩 채워져요. 지금까지의 구조예요.

X1X2X3Y1Y2Y3가중치x₂·y₂결과

왼쪽 X1, X2, X3와 오른쪽 Y1, Y2, Y3가 선으로 이어져 있어요. 오른쪽 노드 하나는 왼쪽이랑 가중치를 곱해서 더한 값(내적)이에요.

딥러닝에서 보는 내적

내적(Dot Product)은 두 줄의 숫자(벡터)에서 같은 자리끼리 곱한 다음, 그 결과를 전부 더해서 숫자 하나로 만드는 계산이에요. 예를 들어 [2, 3]과 [4, 1]이 있으면 2×4 + 3×1 = 11, 이 11이 내적 결과예요.

내적에는 '두 벡터가 얼마나 같은 방향을 가리키는지'를 재는 의미가 숨어 있어요. 내적이 클수록 비슷한 방향, 0이면 직각(관계없음), 음수면 반대 방향이에요. 그래서 '비슷한 정도(유사도)'를 숫자 하나로 표현할 때 아주 유용해요.

수식으로 쓰면 a · b = a₁×b₁ + a₂×b₂ + … + aₙ×bₙ 이에요. 벡터 길이(원소 개수)가 같아야만 내적을 할 수 있다는 점을 기억하세요.

실제 AI에서는 수백~수천 차원 벡터끼리 내적을 해요. 사람은 손으로 하기 어렵지만, 컴퓨터는 순식간에 계산해요. 그래서 '이 문장과 저 문장이 얼마나 비슷한지', '이 이미지와 이 글 설명이 얼마나 맞는지'를 숫자 하나로 비교할 수 있어요.

딥러닝에서 뉴런 하나가 출력을 내는 핵심 계산이 바로 내적이에요. '입력 숫자들'과 '가중치 숫자들'을 같은 자리끼리 곱해서 전부 더하면, 그 뉴런이 '이 입력에 얼마나 반응하는지' 점수가 나와요.

내적이 딥러닝의 가장 기본 연산인 이유는, 행렬 곱도 결국 내적을 여러 번 모아놓은 것이기 때문이에요. 선형 계층, ‘어디에 집중할지’ 점수, 비슷한 글 찾기(검색)·사진과 설명 문장 매칭처럼 거의 모든 곳에서 내적이 반복돼요.

비슷한지 비교가 필요한 곳엔 항상 내적이 들어가요. ‘질문을 숫자로 바꾼 것’과 ‘문서를 숫자로 바꾼 것’의 내적, ‘사진을 숫자로 바꾼 것’과 ‘문장을 숫자로 바꾼 것’의 내적처럼, 같은 길이의 벡터끼리 내적하면 ‘얼마나 비슷한지’ 점수가 나와요. 이걸 코사인 유사도(벡터 길이로 나누면)로 쓰기도 해요.

검색·비슷한 글 찾기: 질문을 숫자(벡터)로 바꾸고, 미리 저장해 둔 문서들도 숫자로 바꾼 뒤 내적으로 ‘얼마나 비슷한지’ 점수를 매겨요. 점수가 큰 문서만 골라서 답을 만드는 데 써요. 도서관에서 ‘이 주제와 비슷한 책 찾기’처럼요.

추천: ‘사용자를 숫자로 바꾼 것’과 ‘영화·상품을 숫자로 바꾼 것’을 내적해서 맞춤 점수를 매겨요. 넷플릭스·유튜브 추천, 쇼핑몰 ‘이런 거 좋아해요’ 추천이 같은 원리예요.

사진–문장 매칭: 사진과 문장을 같은 방식의 숫자(벡터)로 바꾼 뒤, 사진 벡터문장 벡터의 내적으로 ‘이 사진을 가장 잘 설명하는 문장은 어느 것인지’ 점수를 냅니다. 포토 앨범에서 ‘이 사진에 어울리는 설명 고르기’처럼요.

번역·요약에서 집중할 단어 정하기: 문장에서 ‘지금 어떤 단어에 더 집중할지’를 정할 때, 현재 단어와 다른 단어들을 내적으로 비교해서 관련도 점수를 구해요. 번역기·요약기가 문맥을 볼 때 쓰는 방식이에요.

계산법: 두 벡터의 같은 자리 숫자끼리 곱한 뒤, 결과를 전부 더하면 내적이에요. 예: [1, 2, 3] · [4, 5, 6] = 1×4 + 2×5 + 3×6 = 4 + 10 + 18 = 32.

빈 칸 찾기: 최종 내적 값과 나머지 곱들이 주어져 있으면, 나머지 곱의 합을 먼저 구하고 전체에서 빼면 빈 칸의 곱을 알 수 있어요. 그 곱을 해당 자리 숫자로 나누면 빈 칸 값이 나와요.

주의할 점: 두 벡터의 길이(원소 개수)가 반드시 같아야 해요. 또 곱한 것들을 빠짐없이 모두 더해야 하니까, 원소를 하나씩 체크하면서 계산하면 실수를 줄일 수 있어요.

검산: 한 자리라도 빠뜨리면 결과가 달라져요. 곱셈을 모두 한 뒤 덧셈을 다시 한 번 확인하는 습관을 들이면 좋아요.

a = [2, 3], b = [4, 1] → a·b = 같은 위치 성분 곱의 합

a₁×b₁ = 2×4 = 8
a₂×b₂ = 3×1 = 3
aba \cdot b = 8 + 3 = 11

문제

아래 벡터의 내적 aba \cdot b 를 구하세요.

2
0
-1
0
1 / 20