7.4 연쇄 법칙과 합성 함수의 미분

1. 연쇄 법칙의 정의

연쇄 법칙(chain rule)은 합성함수의 미분을 체계적으로 수행하기 위한 핵심 규칙이다. 로봇공학에서는 순기구학, 자코비안 계산, 동역학 해석, 신경망 학습 등 거의 모든 미분 계산에서 연쇄 법칙이 적용된다.

1.1 일변수 연쇄 법칙

y = f(u)이고 u = g(x)일 때, 합성함수 y = (f \circ g)(x) = f(g(x))의 도함수는 다음과 같다.

\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx} = f'(g(x)) \cdot g'(x)

엄밀한 정리: g가 점 a에서 미분 가능하고, f가 점 g(a)에서 미분 가능하면, 합성함수 f \circ g는 점 a에서 미분 가능하며 다음이 성립한다.

(f \circ g)'(a) = f'(g(a)) \cdot g'(a)

1.2 증명

g가 점 a에서 미분 가능하므로, xa에 충분히 가까울 때 다음과 같이 쓸 수 있다.

g(x) = g(a) + g'(a)(x - a) + \varepsilon_1(x)(x - a)

여기서 \lim_{x \to a} \varepsilon_1(x) = 0이다. 마찬가지로 fb = g(a)에서 미분 가능하므로:

f(u) = f(b) + f'(b)(u - b) + \varepsilon_2(u)(u - b)

여기서 \lim_{u \to b} \varepsilon_2(u) = 0이다. u = g(x)를 대입하면:

f(g(x)) - f(g(a)) = [f'(g(a)) + \varepsilon_2(g(x))][g(x) - g(a)]

양변을 x - a로 나누고 x \to a의 극한을 취하면:

\lim_{x \to a} \frac{f(g(x)) - f(g(a))}{x - a} = [f'(g(a)) + 0] \cdot g'(a) = f'(g(a)) \cdot g'(a)

\square

2. 다중 합성함수의 연쇄 법칙

세 함수의 합성 y = f(g(h(x)))에 대해 연쇄 법칙을 반복 적용하면 다음을 얻는다.

\frac{dy}{dx} = f'(g(h(x))) \cdot g'(h(x)) \cdot h'(x)

일반적으로 n개 함수의 합성 y = (f_1 \circ f_2 \circ \cdots \circ f_n)(x)에 대해:

\frac{dy}{dx} = \prod_{k=1}^{n} f_k'\bigl((f_{k+1} \circ \cdots \circ f_n)(x)\bigr)

여기서 f_{n+1} \circ \cdots \circ f_n은 항등함수로 해석한다.

예제: y = \sin^3(2x + 1)의 도함수를 구하라.

y = u^3, u = \sin v, v = 2x + 1로 놓으면:

\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dv} \cdot \frac{dv}{dx} = 3u^2 \cdot \cos v \cdot 2 = 6\sin^2(2x+1)\cos(2x+1)

3. 다변수 연쇄 법칙

3.1 스칼라 함수의 다변수 연쇄 법칙

z = f(u, v)이고 u = u(x, y), v = v(x, y)일 때:

\frac{\partial z}{\partial x} = \frac{\partial f}{\partial u}\frac{\partial u}{\partial x} + \frac{\partial f}{\partial v}\frac{\partial v}{\partial x}

\frac{\partial z}{\partial y} = \frac{\partial f}{\partial u}\frac{\partial u}{\partial y} + \frac{\partial f}{\partial v}\frac{\partial v}{\partial y}

이를 행렬로 표현하면:

\begin{bmatrix} \dfrac{\partial z}{\partial x} & \dfrac{\partial z}{\partial y} \end{bmatrix} = \begin{bmatrix} \dfrac{\partial f}{\partial u} & \dfrac{\partial f}{\partial v} \end{bmatrix} \begin{bmatrix} \dfrac{\partial u}{\partial x} & \dfrac{\partial u}{\partial y} \\ \dfrac{\partial v}{\partial x} & \dfrac{\partial v}{\partial y} \end{bmatrix}

3.2 일반적 다변수 연쇄 법칙

\mathbf{y} = \mathbf{f}(\mathbf{u})이고 \mathbf{u} = \mathbf{g}(\mathbf{x})일 때, 여기서 \mathbf{f}: \mathbb{R}^m \to \mathbb{R}^p, \mathbf{g}: \mathbb{R}^n \to \mathbb{R}^m이면:

\mathbf{J}_{(\mathbf{f} \circ \mathbf{g})}(\mathbf{x}) = \mathbf{J}_{\mathbf{f}}(\mathbf{g}(\mathbf{x})) \cdot \mathbf{J}_{\mathbf{g}}(\mathbf{x})

여기서 \mathbf{J}_{\mathbf{f}}\mathbf{f}의 야코비 행렬(Jacobian matrix)이다. 성분으로 표현하면:

\frac{\partial y_i}{\partial x_k} = \sum_{j=1}^{m} \frac{\partial f_i}{\partial u_j} \frac{\partial g_j}{\partial x_k}

이는 행렬곱 \mathbf{J}_{(\mathbf{f} \circ \mathbf{g})} = \mathbf{J}_{\mathbf{f}} \mathbf{J}_{\mathbf{g}}에 해당하며, 야코비 행렬의 곱으로 합성함수의 미분이 표현된다는 것이 다변수 연쇄 법칙의 핵심이다.

4. 로봇공학에서의 응용

4.1 자코비안 행렬의 계산

n-자유도 직렬 매니퓰레이터의 순기구학은 동차변환행렬의 곱으로 표현된다.

\mathbf{T}_n^0 = \mathbf{T}_1^0(q_1) \mathbf{T}_2^1(q_2) \cdots \mathbf{T}_n^{n-1}(q_n)

말단장치 위치 \mathbf{x} = f(\mathbf{q})의 자코비안을 구할 때, 각 변환행렬이 하나의 관절 변수에만 의존하므로 연쇄 법칙이 자연스럽게 적용된다. i번째 열은 다음과 같이 구해진다.

\mathbf{J}_i = \frac{\partial \mathbf{x}}{\partial q_i}

4.2 -링크 플래너 매니퓰레이터 예제

말단장치 위치가 다음과 같다.

x = l_1 \cos q_1 + l_2 \cos(q_1 + q_2)

y = l_1 \sin q_1 + l_2 \sin(q_1 + q_2)

연쇄 법칙을 적용하여 자코비안을 계산하면:

\mathbf{J} = \begin{bmatrix} \dfrac{\partial x}{\partial q_1} & \dfrac{\partial x}{\partial q_2} \\ \dfrac{\partial y}{\partial q_1} & \dfrac{\partial y}{\partial q_2} \end{bmatrix} = \begin{bmatrix} -l_1 \sin q_1 - l_2 \sin(q_1+q_2) & -l_2 \sin(q_1+q_2) \\ l_1 \cos q_1 + l_2 \cos(q_1+q_2) & l_2 \cos(q_1+q_2) \end{bmatrix}

여기서 \cos(q_1 + q_2), \sin(q_1 + q_2)의 미분에 연쇄 법칙이 적용되었다.

4.3 시간 미분과 연쇄 법칙

말단장치 속도는 자코비안과 관절 속도의 곱으로 표현된다.

\dot{\mathbf{x}} = \mathbf{J}(\mathbf{q})\dot{\mathbf{q}}

말단장치 가속도를 구하려면 이 식을 다시 시간에 대해 미분해야 한다.

\ddot{\mathbf{x}} = \dot{\mathbf{J}}(\mathbf{q})\dot{\mathbf{q}} + \mathbf{J}(\mathbf{q})\ddot{\mathbf{q}}

\dot{\mathbf{J}}의 각 성분은 다변수 연쇄 법칙에 의해 다음과 같이 계산된다.

\dot{J}_{ij} = \sum_{k=1}^{n} \frac{\partial J_{ij}}{\partial q_k} \dot{q}_k

4.4 동역학에서의 연쇄 법칙

라그랑주 역학에서 운동 에너지 T = \frac{1}{2}\dot{\mathbf{q}}^\top \mathbf{M}(\mathbf{q})\dot{\mathbf{q}}에 대해 오일러-라그랑주 방정식을 유도할 때, 다음의 미분이 필요하다.

\frac{d}{dt}\frac{\partial T}{\partial \dot{q}_i} = \sum_{j=1}^{n} M_{ij}(\mathbf{q})\ddot{q}_j + \sum_{j=1}^{n}\sum_{k=1}^{n} \frac{\partial M_{ij}}{\partial q_k}\dot{q}_k\dot{q}_j

두 번째 항에서 M_{ij}(\mathbf{q})를 시간에 대해 미분할 때 다변수 연쇄 법칙이 적용된다.

\frac{dM_{ij}}{dt} = \sum_{k=1}^{n} \frac{\partial M_{ij}}{\partial q_k} \dot{q}_k

4.5 신경망에서의 역전파

로봇 제어에 사용되는 다층 신경망에서, 가중치 w에 대한 손실함수 \mathcal{L}의 기울기는 연쇄 법칙의 반복 적용으로 계산된다. L개 층을 가진 신경망에서:

\frac{\partial \mathcal{L}}{\partial \mathbf{W}^{(l)}} = \frac{\partial \mathcal{L}}{\partial \mathbf{a}^{(L)}} \cdot \frac{\partial \mathbf{a}^{(L)}}{\partial \mathbf{a}^{(L-1)}} \cdots \frac{\partial \mathbf{a}^{(l+1)}}{\partial \mathbf{a}^{(l)}} \cdot \frac{\partial \mathbf{a}^{(l)}}{\partial \mathbf{W}^{(l)}}

여기서 \mathbf{a}^{(l)}l번째 층의 활성화 벡터이다. 이 계산은 다변수 연쇄 법칙의 행렬 형태에 정확히 대응한다.

5. 전미분과 연쇄 법칙

스칼라 함수 f(\mathbf{q}(t))의 시간에 대한 전미분(total derivative)은 연쇄 법칙에 의해 다음과 같이 주어진다.

\frac{df}{dt} = \sum_{i=1}^{n} \frac{\partial f}{\partial q_i} \dot{q}_i = \nabla f \cdot \dot{\mathbf{q}}

벡터값 함수 \mathbf{f}(\mathbf{q}(t)): \mathbb{R}^n \to \mathbb{R}^m의 경우:

\frac{d\mathbf{f}}{dt} = \mathbf{J}_{\mathbf{f}}(\mathbf{q}) \dot{\mathbf{q}}

이 공식은 말단장치 속도 \dot{\mathbf{x}} = \mathbf{J}\dot{\mathbf{q}}의 수학적 근거가 된다.

6. 고계 연쇄 법칙

합성함수의 2계 도함수는 다음과 같다. y = f(g(x))에 대해:

\frac{d^2y}{dx^2} = f''(g(x))[g'(x)]^2 + f'(g(x))g''(x)

파아 디 브루노 공식(Faa di Bruno’s formula)은 n계 도함수의 일반화로, n계 합성함수의 도함수를 벨 다항식(Bell polynomial)을 이용하여 표현한다.

\frac{d^n}{dx^n}f(g(x)) = \sum_{k=1}^{n} f^{(k)}(g(x)) \cdot B_{n,k}\bigl(g'(x), g''(x), \ldots, g^{(n-k+1)}(x)\bigr)

여기서 B_{n,k}는 불완전 벨 다항식(incomplete Bell polynomial)이다.


참고 문헌

  • Stewart, J. (2015). Calculus: Early Transcendentals. 8th ed. Cengage Learning.
  • Rudin, W. (1976). Principles of Mathematical Analysis. 3rd ed. McGraw-Hill.
  • Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. 3rd ed. Pearson.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.

v 0.1