10. 미분 법칙과 테크닉 — 합성으로 세계를 미분하기
Calculus 2/5. 복잡한 함수는 전부 기본 함수의 사칙연산과 합성으로 만들어집니다. 따라서 기본 도함수 표 + 결합 법칙 네 개만 있으면 어떤 함수든 기계적으로 미분할 수 있습니다. 이 "기계적"이라는 성질이 나중에 자동미분이 되는 씨앗입니다.
f ( x ) f(x) f ( x ) f ′ ( x ) f'(x) f ′ ( x ) 비고 c c c 0 0 0 상수 x n x^n x n n x n − 1 n x^{n-1} n x n − 1 실수 n n n 전체에서 성립 e x e^x e x e x e^x e x 유일한 고정점 함수 a x a^x a x a x ln a a^x \ln a a x ln a a x = e x ln a a^x = e^{x \ln a} a x = e x l n a 로 환원ln x \ln x ln x 1 / x 1/x 1/ x 역함수 법칙으로 유도 sin x \sin x sin x cos x \cos x cos x cos x \cos x cos x − sin x -\sin x − sin x tan x \tan x tan x sec 2 x \sec^2 x sec 2 x 몫의 법칙으로 유도 arcsin x \arcsin x arcsin x 1 / 1 − x 2 1/\sqrt{1-x^2} 1/ 1 − x 2 역함수 법칙 arctan x \arctan x arctan x 1 / ( 1 + x 2 ) 1/(1+x^2) 1/ ( 1 + x 2 ) 역함수 법칙
( a f + b g ) ′ = a f ′ + b g ′ (af + bg)' = a f' + b g' ( a f + b g ) ′ = a f ′ + b g ′
미분은 선형 연산자입니다. 기댓값이 선형인 것과 함께, "선형인 것은 다루기 쉽다"는 수학 전반의 원칙을 보여줍니다.
( f g ) ′ = f ′ g + f g ′ (fg)' = f'g + fg' ( f g ) ′ = f ′ g + f g ′
직관 : 넓이가 f × g f \times g f × g 인 직사각형에서 두 변이 각각 조금씩 늘어날 때, 넓이 증가분은 "한 변씩 늘어난 기여의 합 + 무시 가능한 모서리 조각(f ′ g ′ h 2 f'g' h^2 f ′ g ′ h 2 )"입니다. 증명은 f ( x + h ) g ( x + h ) − f ( x ) g ( x ) f(x+h)g(x+h) - f(x)g(x) f ( x + h ) g ( x + h ) − f ( x ) g ( x ) 에 f ( x + h ) g ( x ) − f ( x + h ) g ( x ) = 0 f(x+h)g(x) - f(x+h)g(x) = 0 f ( x + h ) g ( x ) − f ( x + h ) g ( x ) = 0 을 끼워 넣어 분리하면 됩니다.
( f g ) ′ = f ′ g − f g ′ g 2 ( g ≠ 0 ) \left( \frac{f}{g} \right)' = \frac{f'g - fg'}{g^2} \qquad (g \neq 0) ( g f ) ′ = g 2 f ′ g − f g ′ ( g = 0 )
따로 외울 필요 없이 f ⋅ g − 1 f \cdot g^{-1} f ⋅ g − 1 에 곱의 법칙 + 연쇄법칙을 적용해도 같은 결과입니다.
( g ∘ f ) ′ ( x ) = g ′ ( f ( x ) ) ⋅ f ′ ( x ) 또는 Leibniz 꼴로 d z d x = d z d y ⋅ d y d x (g \circ f)'(x) = g'\big(f(x)\big) \cdot f'(x)
\qquad\text{또는 Leibniz 꼴로}\qquad
\frac{dz}{dx} = \frac{dz}{dy} \cdot \frac{dy}{dx} ( g ∘ f ) ′ ( x ) = g ′ ( f ( x ) ) ⋅ f ′ ( x ) 또는 Leibniz 꼴로 d x d z = d y d z ⋅ d x d y
증명 스케치 (선형 근사 관점) : 1편 의 정의 2를 쓰면 두 줄입니다.
f ( x + h ) = f ( x ) + f ′ ( x ) h + o ( h ) , g ( y + k ) = g ( y ) + g ′ ( y ) k + o ( k ) f(x+h) = f(x) + f'(x)h + o(h), \qquad
g(y+k) = g(y) + g'(y)k + o(k) f ( x + h ) = f ( x ) + f ′ ( x ) h + o ( h ) , g ( y + k ) = g ( y ) + g ′ ( y ) k + o ( k )
k = f ′ ( x ) h + o ( h ) k = f'(x)h + o(h) k = f ′ ( x ) h + o ( h ) 를 대입하면:
g ( f ( x + h ) ) = g ( f ( x ) ) + g ′ ( f ( x ) ) f ′ ( x ) h + o ( h ) g\big(f(x+h)\big) = g\big(f(x)\big) + g'\big(f(x)\big) f'(x)\, h + o(h) g ( f ( x + h ) ) = g ( f ( x ) ) + g ′ ( f ( x ) ) f ′ ( x ) h + o ( h )
즉 "선형 근사의 합성은 기울기의 곱" . 이 한 줄이 연쇄법칙의 전부이고, 다변수에서는 "Jacobian 행렬의 곱"으로, 계산 그래프에서는 역전파 로 확장됩니다. 딥러닝의 학습은 결국 이 법칙을 수백만 번 적용하는 것입니다.
예제 : d d x e − x 2 / 2 = e − x 2 / 2 ⋅ ( − x ) \dfrac{d}{dx} e^{-x^2/2} = e^{-x^2/2} \cdot (-x) d x d e − x 2 /2 = e − x 2 /2 ⋅ ( − x ) — 가우시안 밀도의 도함수가 "자기 자신 × ( − x ) (-x) ( − x ) " 꼴이라는 사실은 가우시안 분포 의 Stein 항등식, Ornstein–Uhlenbeck 과정 등 여러 곳에서 재등장합니다.
f f f 가 역함수 f − 1 f^{-1} f − 1 를 가지면:
( f − 1 ) ′ ( y ) = 1 f ′ ( f − 1 ( y ) ) \big(f^{-1}\big)'(y) = \frac{1}{f'\big(f^{-1}(y)\big)} ( f − 1 ) ′ ( y ) = f ′ ( f − 1 ( y ) ) 1
유도 : f ( f − 1 ( y ) ) = y f(f^{-1}(y)) = y f ( f − 1 ( y )) = y 양변을 y y y 로 미분(연쇄법칙)하면 f ′ ( f − 1 ( y ) ) ⋅ ( f − 1 ) ′ ( y ) = 1 f'(f^{-1}(y)) \cdot (f^{-1})'(y) = 1 f ′ ( f − 1 ( y )) ⋅ ( f − 1 ) ′ ( y ) = 1 .
예제 — ln \ln ln 의 도함수 : y = ln x ⟺ x = e y y = \ln x \iff x = e^y y = ln x ⟺ x = e y 이므로
( ln x ) ′ = 1 e ln x = 1 x (\ln x)' = \frac{1}{e^{\ln x}} = \frac{1}{x} ( ln x ) ′ = e l n x 1 = x 1
확률에서 역함수 미분은 변수 변환 공식 의 심장입니다. Y = g ( X ) Y = g(X) Y = g ( X ) 이고 g g g 가 단조이면:
f Y ( y ) = f X ( g − 1 ( y ) ) ∣ d d y g − 1 ( y ) ∣ f_Y(y) = f_X\big(g^{-1}(y)\big) \left| \frac{d}{dy} g^{-1}(y) \right| f Y ( y ) = f X ( g − 1 ( y ) ) d y d g − 1 ( y )
정규화 흐름(normalizing flow)이 이 공식 위에 서 있습니다.
y y y 가 x x x 의 함수로 명시적으로 풀리지 않아도, 관계식 양변을 미분해서 y ′ y' y ′ 을 구할 수 있습니다.
예제 — 원 : x 2 + y 2 = 1 x^2 + y^2 = 1 x 2 + y 2 = 1 양변을 x x x 로 미분하면 2 x + 2 y y ′ = 0 2x + 2y\,y' = 0 2 x + 2 y y ′ = 0 , 즉 y ′ = − x / y y' = -x/y y ′ = − x / y . y y y 를 x x x 로 풀지 않고도 접선 기울기를 얻습니다.
이 테크닉은 층을 방정식의 해로 정의하는 implicit layer, 하이퍼파라미터 미분(implicit function theorem 기반 bilevel optimization) 등에서 그대로 쓰입니다.
곱·거듭제곱이 겹겹이 쌓인 함수는 로그를 먼저 취해 합으로 풀어놓고 미분하는 편이 압도적으로 쉽습니다.
( ln f ) ′ = f ′ f ⟹ f ′ = f ⋅ ( ln f ) ′ (\ln f)' = \frac{f'}{f}
\quad\Longrightarrow\quad
f' = f \cdot (\ln f)' ( ln f ) ′ = f f ′ ⟹ f ′ = f ⋅ ( ln f ) ′
예제 — f ( x ) = x x f(x) = x^x f ( x ) = x x : ln f = x ln x \ln f = x \ln x ln f = x ln x 이므로 ( ln f ) ′ = ln x + 1 (\ln f)' = \ln x + 1 ( ln f ) ′ = ln x + 1 , 따라서
( x x ) ′ = x x ( ln x + 1 ) (x^x)' = x^x (\ln x + 1) ( x x ) ′ = x x ( ln x + 1 )
통계와의 연결 : 가능도 L ( θ ) = ∏ i p ( x i ∣ θ ) L(\theta) = \prod_i p(x_i \mid \theta) L ( θ ) = ∏ i p ( x i ∣ θ ) 를 직접 미분하는 대신 로그 가능도 ℓ ( θ ) = ∑ i ln p ( x i ∣ θ ) \ell(\theta) = \sum_i \ln p(x_i \mid \theta) ℓ ( θ ) = ∑ i ln p ( x i ∣ θ ) 를 미분하는 것이 정확히 로그 미분입니다. score function ∇ θ ln p \nabla_\theta \ln p ∇ θ ln p , 크로스 엔트로피 손실, REINFORCE의 log-derivative trick ∇ p = p ∇ ln p \nabla p = p \nabla \ln p ∇ p = p ∇ ln p 까지 — ML에서 로그가 어디에나 있는 이유의 절반은 "곱을 합으로 바꿔 미분을 쉽게 만들기 위해서"입니다.
도함수를 다시 미분한 것이 2계 도함수 f ′ ′ f'' f ′′ , 반복하면 f ( n ) f^{(n)} f ( n ) 입니다.
f ′ f' f ′ — 기울기(1차 정보): 증가/감소
f ′ ′ f'' f ′′ — 굽음(2차 정보): 볼록/오목, 접선 위/아래
f ′ ′ > 0 f'' > 0 f ′′ > 0 인 구간에서 f f f 는 볼록(convex) — 최적화 5편 에서 이 조건이 "극솟값 보장"으로 이어집니다.
예제 : ( e − x 2 / 2 ) ′ ′ = ( x 2 − 1 ) e − x 2 / 2 (e^{-x^2/2})'' = (x^2 - 1)e^{-x^2/2} ( e − x 2 /2 ) ′′ = ( x 2 − 1 ) e − x 2 /2 — 가우시안 종 모양의 변곡점이 정확히 x = ± 1 x = \pm 1 x = ± 1 (표준편차 지점)에 있다는 뜻입니다.
기본 도함수 표 + 네 법칙(선형성, 곱, 몫, 연쇄)으로 모든 초등함수를 기계적으로 미분할 수 있습니다.
연쇄법칙 = "선형 근사의 합성은 기울기의 곱". 딥러닝 역전파의 수학적 본체입니다.
역함수 미분은 확률 변수 변환 공식으로, 로그 미분은 로그 가능도·score function으로 각각 이어집니다.
2계 도함수는 볼록성을 판정하며 최적화의 2차 조건으로 연결됩니다.
다음: 평균값 정리와 테일러 전개