- \(u(x)=(4x^2+7x)^{50}\)
- \(f(x)=x+1\), \(g(x)=\sqrt{x+1}\), \(u(x)=g(f(x))\)
1 Overview
Neural Network (NN)는 여러 노드(node)가 여러 층(layer)을 갖고 층 사이에 함수 관계가 있는 구조이다. NN의 결과값을 계산할 때 순방향(forward)으로 전 층의 노드가 그 다음 층의 입력값으로 들어가 복잡한 합성 함수가 만들어져 결과값을 출력하고, 학습을 할 때 역방향(backword)으로 그 합성 함수의 미분을 수행하게 된다 (Back Propagation). NN은 deep learning의 기본 구조가 되므로 합성 함수가 무엇이고 어떤 원리로 미분이 되는지 알 필요가 있다.
2 Chain Rule
정리 1 If the fucntions, \(f(x)\), \(g(x)\), are differentiable, then the composite function of \(f(x)\) and \(g(x)\), \(u=f\circ g\) defined by \(u(x)=g(f(x))\) is differentiable at \(x\) and \(u\) is given by the product, the chain rule is \[ \begin{aligned} u'(x)&=g'(f(x))f'(x) \end{aligned} \]
In Leibniz notation, if \(y=f(x)\) and \(u=g(y)\) are both differentiable functions, then \[ \frac{du}{dx} = \frac{du}{dy}\frac{dy}{dx} \]
Chain rule은 합성 함수의 미분으로 겉에 있는 함수를 미분하고 안에 있는 함수를 미분을 연달아 하는 방식이다.
2.1 Example
다음 식들의 도함수를 chain rule에 따라 구해본다.
\[ \begin{aligned} &\text{when the two functions are }f(x)=4x^2+7x, \space g(x)=x^{50}, \\ &u(x)=(4x^2+7x)^{50}=g(f(x))\\ &f'(x)=8x+7\\ &g'(x)=50x^{49}\\ &u'(x)=g'(f(x))f'(x)\\ &u'(x)=50f(x)^{49}(8x+7)=50(4x^2+7x)^{49}(8x+7) \end{aligned} \]
\[ \begin{aligned} &f(x)=x+1, \space g(x)=\sqrt{x+1} \\ &u(x)=g(f(x))=\sqrt{(x+1)+1}\\ &f'(x)=1\\ &g'(x)=\frac{1}{2\sqrt{x+1}}\\ &u'(x)=g'(f(x))f'(x)\\ &u'(x)=\frac{1}{2\sqrt{f(x)+1}}f'(x)=\frac{1}{2\sqrt{(x+1)+1}} \end{aligned} \]
$$ \[\begin{aligned} \lim_{\Delta x \to0}\frac{\Delta u}{\Delta x}&= \lim_{\Delta y \to0}\frac{\Delta u}{\Delta y}\lim_{\Delta x \to0}\frac{\Delta y}{\Delta x}\\&=\lim_{\Delta y \to0}\frac{\Delta u}{\Delta y}\frac{dy}{dx}\\ \frac{dz}{dx}&=\frac{dz}{dy}\frac{dy}{dx} &(\because \Delta x \to 0 \Longrightarrow \Delta y \to 0 ) \end{aligned}\]$$
\(\Delta x\rightarrow \Delta y \rightarrow \Delta z\)