미분을 "변화율"로 직관적으로 이해하고, 연쇄법칙이 역전파 알고리즘의 핵심임을 파악한다.
미분이란 변화율이다
미분(differentiation)은 함수가 입력에 따라 얼마나 빠르게 변하는가를 측정합니다. 자동차의 속도계가 "지금 이 순간의 속도"를 보여주듯, 미분은 "지금 이 점에서의 기울기"를 알려줍니다.
# y = x² 의 미분
# dy/dx = 2x
# x=3에서 기울기: 2×3 = 6
# 즉, x가 1 증가할 때 y는 약 6 증가
미분의 기하학적 의미
함수 그래프 위의 한 점에서 접선을 그렸을 때, 그 접선의 기울기가 미분값입니다.
- 기울기 > 0: 오른쪽으로 갈수록 함수값 증가
- 기울기 < 0: 오른쪽으로 갈수록 함수값 감소
- 기울기 = 0: 극값(최대/최소) 후보
AI 학습의 목표는 손실함수를 최소화하는 것인데, 손실이 0에 가까운 지점은 기울기가 0인 곳입니다. 미분으로 그 방향을 찾아갑니다.
주요 미분 공식
y = c → dy/dx = 0 (상수)
y = x^n → dy/dx = n·x^(n-1) (거듭제곱 법칙)
y = e^x → dy/dx = e^x (지수함수)
y = ln(x) → dy/dx = 1/x (자연로그)
연쇄 법칙(Chain Rule): 역전파의 핵심
복잡한 함수를 미분할 때, 바깥 함수와 안쪽 함수를 각각 미분해 곱합니다.
# y = f(g(x)) 일 때
# dy/dx = (df/dg) × (dg/dx)
# 예: y = (3x+1)^2
# g(x) = 3x+1, f(g) = g^2
# dy/dx = 2g × 3 = 2(3x+1) × 3 = 6(3x+1)
신경망은 수백 개 레이어가 중첩된 합성함수입니다. 역전파는 연쇄 법칙을 체계적으로 적용해 각 파라미터의 기울기를 계산합니다.
파이썬으로 자동 미분 체험하기
import torch
x = torch.tensor(3.0, requires_grad=True)
y = x ** 2 # y = x^2
y.backward() # 역전파 실행
print(x.grad) # tensor(6.) — 2×3 = 6
PyTorch·TensorFlow는 이 자동 미분을 내부에서 처리합니다. 덕분에 우리는 수식을 직접 미분하지 않아도 됩니다.
활성화 함수의 미분
# ReLU: f(x) = max(0, x)
# 미분: 1 (x > 0), 0 (x ≤ 0)
# Sigmoid: f(x) = 1 / (1 + e^(-x))
# 미분: f(x) × (1 - f(x))
활성화 함수의 미분이 0에 가까워지면 "기울기 소실(vanishing gradient)" 문제가 발생합니다. ReLU가 널리 쓰이는 이유 중 하나입니다.
핵심: 미분은 "이 파라미터를 조금 바꾸면 손실이 얼마나 변하는가"를 알려주는 도구입니다. 역전파는 연쇄 법칙으로 모든 파라미터의 미분을 한 번에 계산합니다.
관련 검색어 · 미분 기울기, 연쇄법칙 chain rule, 역전파 backpropagation, 자동 미분, 딥러닝 미분, AI 미적분