Chapter 12
기울기 (역전파)
기울기. 손실을 줄이기 위해 파라미터를 어느 방향으로 움직일지 알려준다.
챕터별 딥러닝 도식화
챕터를 하나씩 진행할 때마다 아래 도식이 조금씩 채워져요. 지금까지의 구조예요.
Y → H → X
딥러닝에서 보는 기울기
기울기(Gradient)는 '가중치(파라미터)를 아주 조금 바꿀 때, 틀린 정도(손실)가 얼마나, 어느 방향으로 변하는지'를 알려주는 숫자예요. '지금 어느 쪽으로 가야 손실이 줄어드는지' 방향을 알려주는 나침반 같아요.
비유: 눈을 감고 산에서 내려올 때 발밑의 경사(기울기)를 느끼고, '이쪽이 내리막이구나' 하고 한 걸음씩 내딛는 거예요. 기울기 반대 방향으로 가면 골짜기(손실 최소)에 도달해요. 이게 경사 하강법(Gradient Descent)이에요.
역전파(Backpropagation)는 출력 쪽에서 입력 쪽으로 기울기를 한 층씩 전달하는 방법이에요. 연쇄 법칙(Chain Rule)을 이용해서, 모든 층의 모든 가중치에 대한 기울기를 한 번에 효율적으로 구해요.
순전파는 입력 → 출력 방향으로 계산하고, 역전파는 손실에서 나온 기울기를 출력 → 입력 방향으로 전달해요. 이 둘이 짝으로 돌아가면서 학습이 진행돼요.
AI 학습 = 기울기를 보고 가중치를 수정하는 과정이에요. 기울기가 없으면 '어느 방향으로 수정할지' 알 수 없어서 학습이 불가능해요. 기울기는 딥러닝 학습의 심장이에요.
학습률(Learning Rate)은 '한 번에 얼마나 움직일지'를 정하는 값이에요. Adam, AdamW 같은 옵티마이저는 기울기 크기에 맞춰 걸음 크기를 자동으로 조절해 줘요. 이미지 인식·번역·챗봇 학습에서도 기울기가 핵심이에요.
기울기가 너무 크면(폭발) 학습이 불안정하고, 너무 작으면(소실) 앞쪽 층이 거의 학습 안 돼요. Gradient Clipping, Batch Norm, Skip Connection으로 이를 줄여요.
모든 학습 가능한 모델: 번역기, 챗봇, 이미지 인식(강아지/고양이), 추천, 스팸 필터까지, 학습은 모두 순전파 → 손실 → 역전파(기울기) → 가중치 수정을 반복하는 과정이에요.
추가 학습(파인튜닝): 이미 학습된 모델을 특정 용도(예: 우리 회사 문서만 답하기)에 맞게 조금 더 학습할 때도 새 데이터로 기울기를 구해서 가중치를 조금씩 수정해요. 휴대폰에서 조금씩 학습할 때도 같은 방식이에요.
순전파와 역전파: 순전파는 Z = W·X처럼 앞으로 계산하고, 역전파는 dZ, dW, dX 같은 기울기를 뒤에서 앞으로 전달해요. 층이 아무리 많아도 연쇄 법칙으로 한 번에 기울기를 구할 수 있어요.
문제 구조: 식은 순전파 Z = W·X 또는 역전파 dZ = dW·X 중 하나예요. 빈 칸(?)은 X의 한 성분 또는 Z(또는 dZ)의 한 성분 중 하나만 나와요. W와 dW는 모두 채워져 있어요.
순전파(Z = W·X): 결과 Z의 한 칸 = W의 해당 행과 X의 내적이에요. 빈 칸이 Z에 있으면 → 그 행의 W 성분과 X를 곱해서 더하면 돼요. 빈 칸이 X에 있으면 → 다른 Z와 W 행으로 식을 세워 그 X 성분만 구하면 돼요.
역전파(dZ = dW·X): 순전파와 같은 계산 구조에요. dZ의 한 칸 = dW의 해당 행과 X의 내적. 빈 칸이 dZ에 있으면 → dW 그 행과 X를 곱해 더하고, 빈 칸이 X에 있으면 → 식으로 그 X 성분을 구하면 돼요.
기울기는 함수가 변하는 방향과 크기를 나타내는 벡터예요. 손실을 줄이려면 기울기 반대 방향으로 파라미터를 조금씩 움직입니다. 순전파 , 역전파 로 기울기를 구해요.
순전파→역전파
순전파: Z = W·X (W의 각 행과 X의 내적)
역전파: dZ = dW·X (같은 구조, 값만 기울기)
선형 계층·은닉층 등에서 동일한 원리로 기울기를 계산합니다.
문제에서는 빈 칸(?)이 X 한 칸 또는 Z(순전파)·dZ(역전파) 한 칸으로 나와요.
문제
또는 에서 빈 칸(?)을 채우세요.
dZ = dW · X