본문 바로가기
데이터 과학 수학

다변수 함수와 편미분, 라이프니츠 표기법의 연산 마법

by dexien 2026. 4. 4.

경사하강법에서 w = w - α × dL/dw라는 공식을 봤을 때 한 가지 의문이 생겼습니다. 가중치가 하나일 때는 이해가 됐는데, 가중치가 수억 개라면 어떻게 되는 걸까요. 각각의 가중치가 손실에 얼마나 영향을 주는지 따로따로 알아야 할 텐데, 그게 어떻게 가능한 건지 처음엔 감이 안 왔습니다.

그 답이 편미분이었습니다. 나머지 변수는 다 고정하고 딱 하나만 건드려서 기울기를 보는 방법입니다. 그리고 이 편미분을 라이프니츠 표기법으로 쓰면 연쇄법칙과 결합할 때 놀라울 정도로 직관적으로 이해가 됩니다. 오늘은 그 흐름을 따라가 보겠습니다.

다변수 함수와 편미분 라이프니츠 표기법의 연산 원리
다변수 함수와 편미분, 라이프니츠 표기법의 연산 마법

다변수 함수란 무엇인가

중학교 수학에서 배우는 y = 2x + 1은 입력이 x 하나, 출력이 y 하나인 일변수 함수입니다. 그런데 현실 문제는 대부분 입력이 여러 개입니다. 오늘 기온, 습도, 풍속이 모여서 체감온도가 결정되는 것처럼요.

딥러닝 모델도 마찬가지입니다. 가중치 w1, w2, w3 … 이 수억 개의 입력이 들어가서 손실값 L 하나가 나오는 구조입니다. 이걸 수식으로 쓰면 L = f(w1, w2, w3, …, wn)입니다. 변수가 n개인 다변수 함수입니다.

변수가 2개일 때는 그래프가 3D 곡면이 됩니다. 변수가 3개 이상이면 눈으로 볼 수 없는 고차원 공간이 됩니다. 이 복잡한 공간에서 손실을 줄이는 방향을 찾으려면 각 변수가 손실에 어떤 영향을 주는지 개별적으로 파악해야 합니다. 그게 편미분의 역할입니다.

입력이 하나인 일변수 함수와 입력이 여러 개인 다변수 함수의 구조를 비교한 인포그래픽
일변수 함수는 입력이 하나지만 다변수 함수는 여러 입력이 하나의 출력을 결정한다


편미분 — 하나만 건드리고 나머지는 고정

편미분의 아이디어는 단순합니다. 변수가 여러 개일 때 딱 하나의 변수만 움직이고 나머지는 전부 상수로 고정한 채 미분하는 겁니다. x1이 손실에 미치는 영향만 보고 싶으면 w2, w3 … 은 전부 숫자처럼 취급하고 w1 만 미분합니다.

기호로는 d 대신 ∂(라운드 디)를 씁니다. ∂L/∂w1은 "다른 가중치는 고정하고 w1만 변할 때 손실이 얼마나 변하는가"를 나타냅니다. 이 값이 크면 w1이 손실에 큰 영향을 준다는 뜻이고, 작으면 별 영향이 없다는 뜻입니다.

각 가중치에 대한 편미분을 전부 구하면 어느 가중치를 얼마나 어떤 방향으로 바꿔야 손실이 줄어드는지 알 수 있습니다. 이 편미분 값들을 모아놓은 게 그레디언트 벡터이고, 경사하강법은 이 그레디언트 방향의 반대로 가중치를 업데이트합니다.


실제 숫자로 편미분 계산해보기

말로만 하면 추상적이니 실제로 계산해 보겠습니다. f(x, y) = x² + 3xy + y²라는 함수가 있을 때 편미분은 이렇습니다.

x에 대한 편미분:  ∂f/∂x = 2x + 3y  (y는 상수 취급)
y에 대한 편미분:  ∂f/∂y = 3x + 2y  (x는 상수 취급)

x=2, y=1일 때:
∂f/∂x = 2(2) + 3(1) = 7  ← x를 1 늘리면 f가 약 7 증가
∂f/∂y = 3(2) + 2(1) = 8  ← y를 1 늘리면 f가 약 8 증가

그레디언트: [7, 8]  ← 이 방향의 반대로 가면 f가 줄어든다

그레디언트가 [7, 8]이라는 건 현재 위치에서 x 방향보다 y 방향으로 더 빠르게 f가 커진다는 뜻입니다. 경사하강법은 이 반대인 [-7, -8] 방향으로 이동해서 f를 줄입니다. 가중치가 수억 개여도 이 계산을 각각에 대해 하는 게 전부입니다.

3D 곡면 위 한 점에서 x방향과 y방향의 편미분 기울기와 합성 그레디언트를 화살표로 표시한 다이어그램
편미분은 각 축 방향의 기울기를 따로 구하고 이를 합치면 그레디언트 벡터가 된다


라이프니츠 표기법이 특별한 이유

미분 표기법에는 크게 두 가지가 있습니다. 뉴턴의 y'(프라임 표기)과 라이프니츠의 dy/dx(분수 표기)입니다. 둘 다 같은 걸 나타내는데 왜 딥러닝에서는 라이프니츠 표기를 쓸까요.

이유는 분수처럼 다룰 수 있기 때문입니다. dy/dx는 실제 분수가 아니지만 많은 연산에서 분수처럼 약분하고 곱하는 게 가능합니다. 예를 들어 dy/dx × dx/dt = dy/dt처럼요. 중간의 dx가 약분되는 것처럼 보입니다. 이게 연쇄법칙입니다.

두 표기법의 차이를 정리하면 이렇습니다.

특징 라이프니츠 (dy/dx) 뉴턴 (y')
형태 분수 형태 프라임 형태
변수 명시 어떤 변수로 미분하는지 명확 생략되어 모호할 수 있음
연쇄법칙 분수 약분처럼 직관적 별도 규칙 적용 필요
주요 활용 다변수 미분, 딥러닝, 공학 물리학, 고전 역학

연쇄법칙과 라이프니츠 기호의 결합

신경망은 층이 여러 개 쌓인 구조입니다. 입력이 1층을 거쳐 2층으로, 2층에서 3층으로 이어지면서 최종 손실이 나옵니다. 이 구조에서 1층 가중치가 손실에 어떤 영향을 주는지 알려면 각 층을 거치면서 미분이 어떻게 전달되는지 추적해야 합니다.

연쇄법칙은 이걸 체계적으로 합니다. 라이프니츠 표기로 쓰면 이렇게 됩니다.

L이 z에 의존하고, z가 w에 의존할 때:

dL/dw = dL/dz × dz/dw

층이 세 개면:
dL/dw = dL/dz3 × dz3/dz2 × dz2/dw

중간 항들이 분수처럼 약분되어 연결되는 구조

라이프니츠 표기 덕분에 연쇄법칙이 분수 약분처럼 보입니다. 층이 100개여도 같은 패턴의 곱셈이 100번 이어질 뿐입니다. 역전파 알고리즘이 이 구조를 그대로 코드로 구현한 겁니다.

연쇄법칙을 라이프니츠 분수 표기법으로 나타내면 중간 항이 약분되는 구조를 보여주는 인포그래픽
라이프니츠 표기법으로 쓴 연쇄법칙은 중간 항이 약분되는 것처럼 보여 역전파 구조를 직관적으로 이해할 수 있다


역전파에서 이 모든 게 연결되는 방식

역전파(Backpropagation)는 결국 연쇄법칙의 반복 적용입니다. 출력층에서 시작해서 입력층 방향으로 거슬러 올라가며 각 가중치의 편미분을 계산합니다. 라이프니츠 표기로 쓰면 각 층의 미분이 분수처럼 연결되어 전달됩니다.

PyTorch에서 loss.backward()를 호출하는 순간 이 과정이 자동으로 실행됩니다. 내부적으로는 연산 그래프를 따라 역방향으로 편미분을 계산하며 각 가중치의. grad 속성에 값을 채워 넣습니다. 자동 미분(Autograd)이 라이프니츠의 연쇄법칙을 그대로 코드로 구현한 겁니다.

편미분을 처음 배울 때는 "왜 나머지를 상수로 고정하지?"라는 의문이 들었는데, 결국 그 단순한 아이디어가 수억 개 가중치를 동시에 학습시키는 구조의 기반이 됩니다. 라이프니츠가 300년 전에 만든 dy/dx 표기가 지금 PyTorch 코드 한 줄에 그대로 살아있는 겁니다.


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 블로그 이름