AI 수학 로드맵 노트 7 — 미분과 체인룰, 변화가 전달되는 법

표 3 · 도식 1작성 Rhymbro

제1원리 질문. AI는 왜 미분을 알아야 학습할 수 있는가. 학습은 가중치를 조금 바꿨을 때 오차가 얼마나 변하는지 알아야 방향을 정할 수 있고, ‘조금 바꿨을 때의 변화율’이 바로 미분이기 때문이다.

x², x³, 5x의 미분 패턴과 x = 3에서의 값을 정리한 표
개념도 — 미분 패턴. 본문 내용을 바탕으로 자체 제작

핵심 — 순간의 기울기

로드맵은 33주차 “기울기 = 얼마나 가파른가, 그것뿐”에서 시작해 35주차 미분을 “확대하면 곡선도 직선이다”로 요약한다. 곡선의 한 점을 계속 확대하면 거의 직선처럼 보이고, 그 직선의 기울기가 그 점의 미분값이다. 식으로는 아주 작은 h에 대해 (f(x + h) − f(x)) / h다.

함수 미분 (패턴) x = 3에서
x2 2x 6
x3 3x2 27
5x 5 5
상수 7 0 0

39주차 체인룰은 “톱니바퀴 비유 — 변화가 전달되는 법”이다. y = (3x + 1)2처럼 함수 안에 함수가 있으면, 안쪽 u = 3x + 1을 먼저 보고 dy/dx = (dy/du) × (du/dx)로 변화율을 곱한다.

체인룰 = 톱니바퀴 전달x = 1일 때 y = (3x + 1)²x입력, 여기서는 1u = 3x + 1du/dx = 3y = u²dy/du = 2u = 8dy/dx3 × 8 = 24

톱니바퀴 두 개의 기어비를 곱하면 전체 기어비가 되는 것과 같은 구조다.

코드로 번역하기

미분 공식을 외우지 않아도 컴퓨터로 ‘아주 작게 움직여 보기’를 할 수 있다. 아래는 앞뒤로 h만큼 움직여 기울기를 재는 중앙 차분(수치 미분)이다. 공식으로 구한 값과 일치하는지 확인하는 용도로 쓴다.

# 미분 = 아주 작은 h만큼 움직였을 때의 기울기
def f(x):
    return x ** 2

def diff(func, x, h=1e-6):
    return (func(x + h) - func(x - h)) / (2 * h)   # 중앙 차분

print(round(diff(f, 3), 4))        # 6.0  (공식 2x -> 2*3)

# 체인룰: y = (3x + 1)^2, 안쪽 u = 3x + 1
def g(x):
    return (3 * x + 1) ** 2

x = 1
u = 3 * x + 1
chain = (2 * u) * 3                # dy/du * du/dx
print(chain)                       # 24
print(round(diff(g, x), 4))        # 24.0 (수치 미분과 일치)

실행 결과

6.0
24
24.0

사례 적용 — 신경망은 체인룰의 연속

6편에서 본 신경망은 층이 겹겹이 쌓인 합성함수다. 맨 끝의 오차가 맨 앞 가중치에 얼마나 민감한지 알려면, 층마다의 변화율을 체인룰로 차례로 곱해 거슬러 올라가야 한다. 로드맵 47주차의 ‘예측→오차→미분→갱신’ 학습 루프에서 ‘미분’ 단계가 바로 이 계산이다.

수치 미분은 이해와 검산에는 좋지만, 가중치가 수백만 개일 때 하나씩 움직여 보는 것은 너무 느리다. 그래서 실제 프레임워크는 체인룰을 자동으로 적용하는 방식을 쓰며, 수치 미분은 그 결과가 맞는지 확인하는 검산 도구로 남는다.

1분 개념 체크

로드맵 교재 템플릿의 ‘1분 개념 체크’ 형식을 빌려 스스로 확인할 문제 두 개를 만들었다.

질문 답 근거
x4를 미분하면? 4x3 xn → n xn−1 패턴
y = (2x)2의 x = 1에서 dy/dx는? 8 dy/du = 2u = 4, du/dx = 2, 곱하면 8

내 해석 — Rhymbro가 읽은 것

체인룰의 톱니바퀴 비유는 감속기 계산과 정확히 겹쳤다. 모터 → 1단 감속 → 2단 감속 → 출력축으로 이어질 때 전체 감속비는 각 단 감속비의 곱이다. 입력을 조금 돌렸을 때 출력이 얼마나 도는지가 각 단 변화율의 곱이라는 점에서, 체인룰은 이미 동력 전달 계산에서 쓰던 원리였다.

수치 미분에서는 h를 너무 작게 잡으면 오히려 컴퓨터의 소수점 오차 때문에 값이 흔들릴 수 있다는 점도 함께 기억해 둔다. 이론상 ‘한없이 작게’와 계산상 ‘적당히 작게’는 다르다.

반론으로, 체인룰의 곱셈은 층이 매우 깊어지면 작은 값이 계속 곱해져 0에 가까워지거나 큰 값이 곱해져 폭발할 수 있으므로, 깊은 신경망에서는 이를 막는 별도의 설계가 필요하다.

요약

항목 정리
미분 아주 작게 움직였을 때의 기울기
패턴 xn → n xn−1
체인룰 dy/dx = (dy/du)(du/dx), 변화율의 곱
수치 미분 (f(x+h) − f(x−h)) / 2h, 검산용

그래서 나는 무엇을 하기로 했나

이번 주는 x3, (2x − 5)2, 그리고 두 함수의 합성 하나를 골라 공식 미분값과 수치 미분값을 코드로 비교해 보기로 했다.

주제와 순서는 개인 학습용으로 정리한 104주 AI 수학 로드맵 목차를 따랐고, 설명과 예제는 그 목차를 바탕으로 내 언어로 다시 썼다. 코드는 Python 3 + NumPy 2.x에서 실행해 출력을 확인했으며, 예시 수치는 설명용 가정 값이다.

함께 읽기: AI 수학, 네 기둥만 먼저 세운다 — 내가 잡은 로드맵

같은 카테고리에서 함께 읽기

강의자료 121편

댓글 1개

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다