Chapter 03
선형 계층 (가중치와 편향)
선형 계층(또는 선형 변환층). 입력에 가중치 행렬을 곱하고 편향을 더하는 층이다.
챕터별 딥러닝 도식화
챕터를 하나씩 진행할 때마다 아래 도식이 조금씩 채워져요. 지금까지의 구조예요.
이 구간이 선형 계층이에요. Y = W·X + b로 입력이 다음 층으로 한 번에 계산돼요.
딥러닝에서 보는 선형 계층
선형 계층(Linear Layer)은 입력 숫자들에 가중치(W)를 곱하고 편향(b)을 더해서 출력을 만드는 단계예요. 수식으로 쓰면 Y = W·X + b예요. 여기서 W·X는 행렬 곱(내적의 모음)이고, b는 기준선을 올리거나 내리는 역할이에요.
쉽게 비유하면, 시험 점수를 예측하는 공식 '국어×0.3 + 수학×0.5 + 영어×0.2 + 10'이 바로 선형 계산이에요. 여기서 0.3, 0.5, 0.2가 가중치(W), 10이 편향(b), 국어·수학·영어 점수가 입력(X)이에요.
선형 계층 하나는 '입력을 얼마씩 곱하고 얼마를 더해서 출력을 만들지'를 정하는 장치예요. 출력이 여러 개면 각 출력마다 다른 가중치와 편향을 써서, 한 번에 여러 점수를 낼 수 있어요.
왜 '선형'이에요? 입력이 두 배로 늘어나면 출력도 비례해서 늘어나는 직선 관계라서 그래요. 이런 관계만으로는 곡선이나 복잡한 패턴을 못 그리기 때문에, 다음 단계에 활성화 함수를 꼭 붙여요.
딥러닝의 거의 모든 모델이 선형 계층을 기본 블록으로 써요. 번역기, 챗봇, 이미지 인식(강아지/고양이 구분), 추천(영화·상품 맞춤)까지, 'W·X + b' 계산이 수백~수천 번 반복돼요. 딥러닝의 벽돌 한 장이에요.
모델 크기를 정할 때 '입력 몇 개 → 출력 몇 개'로 선형 계층의 크기를 결정해요. 휴대폰에 올리는 작은 모델은 이 숫자를 줄이고, 서버에서 돌리는 큰 모델은 크게 잡아요. 이 크기가 용량과 과적합 사이의 균형을 정해요.
선형 계층만 여러 개 쌓으면 결국 한 번의 곱셈+덧셈과 같아져요(직선밖에 못 그려요). 그래서 반드시 활성화 함수를 붙여 비선형(꺾임)을 넣어야, 곡선·복잡한 패턴을 배울 수 있어요.
번역·챗봇: 문장을 숫자(벡터)로 바꾼 뒤, 선형 계층을 여러 번 거치면서 문맥을 이해하고 다음 단어·답을 만들어요.
이미지 생성: 노이즈를 줄이는 각 단계에서 '현재 상태'에 선형 계층을 적용해 '다음에 픽셀을 얼마나 바꿀지'를 예측해요.
이미지 인식: 사진에서 뽑은 특징을 선형 계층에 넣어 '강아지·고양이·자동차·표지판' 점수를 한 번에 구해요. 휴대폰에서 돌리는 작은 모델도 같은 구조예요.
추천: 사용자·상품을 숫자로 바꾼 뒤 선형 계층에 넣어 '이 사용자에게 이 상품이 얼마나 맞는지' 점수를 구해요.
식 한 줄: 입력 X에 가중치 행렬 W를 곱하고 편향 b를 더하면 출력 Y가 됩니다. Y = W·X + b예요. 아래 보라색 상자에 나온 것처럼 X, W, b를 주고 Y를 구하는 게 선형 계층 문제예요.
숫자 예시: X = [2, 1], W = [[1,0],[1,1]], b = [1, -1]이면, W·X = (2, 3)이고 여기에 편향 b를 더해 Y = (2+1, 3-1) = [3, 2]가 돼요. 편향은 각 출력에 기준선을 올리거나 내리는 역할을 해요. Y의 한 칸은 W의 그 행과 X를 내적한 뒤 b의 그 칸을 더하면 됩니다.
빈 칸 전략: 빈 칸이 Y에 있으면 해당 행만 W·X+b 계산하면 돼요. 빈 칸이 W나 b에 있으면, Y와 X는 알고 있으니 식을 정리해서 빈 칸만 구하면 됩니다. 끝나면 Y = W·X + b에 다시 넣어서 검산하세요.
입력 X에 가중치 행렬 W를 곱하고 편향 b를 더하면 출력 Y가 됩니다.
W 1행·X + b[0] → Y[0]|W 2행·X + b[1] → Y[1]
문제
선형 계층 에서 빈 칸(?)에 들어갈 값을 구하세요.