Chapter 01
내적
두 벡터의 방향과 크기를 곱하여 하나의 값으로 나타내는 가장 기본적인 연산이다.
챕터별로 완성되는 Tiny NN
챕터를 진행할수록 작은 신경망이 단계별로 완성됩니다. 아래는 지금까지의 구조입니다.
위 그림: 한 줄만 보면 내적처럼요. X₁=3, X₂=1, X₃=2와 Y₁=3, Y₂=2, Y₃=7 사이, 가운데 한 경로(예: X₂·Y₂)가 스칼라 하나로 모입니다.
딥러닝에서 보는 내적
내적은 쉽게 말해, 두 줄의 숫자에서 같은 자리끼리 곱해서 전부 더한 값이에요. 예: [2, 3]과 [4, 1]이면 2×4 + 3×1 = 11이에요.
비슷하게 생각하면, 내적이 클수록 두 벡터가 ‘비슷한 방향’이라고 볼 수 있어요. 그래서 ‘얼마나 비슷한지’를 한 숫자로 잴 때 쓰입니다.
딥러닝에서 뉴런 하나의 출력은, 가중치와 입력을 내적한 값이에요. 영화 추천처럼 ‘선호도(가중치)’와 ‘영화 특징(입력)’이 얼마나 맞는지 내적 하나로 점수를 냅니다.
여러 뉴런이 있으면 행렬 곱 한 번에 다 계산하고, 그 안에 내적이 여러 개 들어 있어요. 그래서 내적이 딥러닝의 가장 기본 계산이에요.
넷플릭스·유튜브 추천처럼 ‘이 사용자와 이 콘텐츠가 얼마나 맞는지’ 점수를 낼 때, 검색엔진에서 ‘검색어와 문서가 얼마나 관련 있는지’ 잴 때, 챗봇이 ‘질문과 답이 얼마나 맞는지’ 볼 때 모두 내적(또는 그 변형)을 씁니다.
번역기·음성 비서가 문장에서 ‘어느 단어에 집중할지’ 정할 때도, 내적으로 유사도를 구해서 쓰는 방식이에요.
같은 자리 숫자끼리 곱한 뒤, 전부 더하면 돼요. 두 벡터의 길이(개수)가 같아야 해요.
빈 칸이 있으면: 나머지 곱들을 먼저 구하고, 전체 합에서 빼서 빈 칸을 구할 수 있어요.
a = [2, 3], b = [4, 1] → a · b = 같은 위치 성분 곱의 합
문제
아래 벡터의 내적 a · b를 구하세요.