일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- NEXT
- 미래는_현재와_과거로
- BFS
- 회고록
- 세그먼트 트리
- dfs
- 가끔은_말로
- 다익스트라
- 조합론
- 가끔은 말로
- object detection
- pytorch
- Overfitting
- 너비 우선 탐색
- tensorflow
- dropout
- 문자열
- 자바스크립트
- DP
- 크루스칼
- 분할 정복
- 백트래킹
- lazy propagation
- c++
- 2023
- 알고리즘
- 우선 순위 큐
- 이분 탐색
- back propagation
- 플로이드 와샬
- Today
- Total
Doby's Lab
미분의 연쇄 법칙(Chain Rule)에 대하여 본문
Gradient Vanishing 현상에 대해 공부하던 중에 Back Propagation의 작동 원리에 대해 알아야 했고, 이 과정에서 미분의 연쇄 법칙이 쓰여 정리해 봅니다.
미분의 연쇄 법칙(Chain Rule)
미분의 연쇄 법칙이란 말이 잘 안 쓰일 뿐이지, 학생 시절에 꽤 많이 봤던 법칙 중 하나입니다.
미분의 연쇄 법칙이란 합성함수에 대한 미분법입니다.
\( y=f(g(x)) \)라는 합성함수를 예로 들어 설명해 보겠습니다.
이 합성함수를 미분하면 아래와 같은 결과가 나오는 것은 다 압니다.
$$ y' = f'(g(x))\times g'(x) $$
이게 왜 이렇게 되는지 궁금해졌습니다.
미분을 한다는 것을 자세히 풀어보면 아래와 같습니다.
미분의 유도 과정
$$ \begin{align}
y' &= \lim_{t\to0}\frac{f(g(x+t))-f(g(x))}{t} \\ \\
&= \lim_{t\to0}[\frac{f(g(x+t))-f(g(x))}{g(x+t)-g(x)}\times\frac{g(x+t)-g(x)}{t}] \\ \\
&= \lim_{t\to0}\frac{f(g(x+t))-f(g(x))}{g(x+t)-g(x)}\times\lim_{t\to0}\frac{g(x+t)-g(x)}{t} \\ \\
&= f'(g(x))\times g'(x)
\end{align} $$
더 복잡한 합성함수
이런 원리를 알고, 3개의 함수가 합성된 형태를 알아봅시다.
조금 복잡하지만 이해하면 쉽게 적용할 수 있을 것입니다.
$$ \begin{align}
y &= f(g(h(x))) \\ \\
y' &= f'(g(h(x))\times g'(h(x))\times h'(x)
\end{align} $$
즉, 미분의 연쇄법칙이란 Outer Function을 미분한 후에 Inner Function을 미분하여 곱해주면 됩니다.
바로 위 합성함수에서는 g가 Inner Function에서 h에 대해 Outer Function이 된 케이스입니다.
라이프니츠 표기법
미분의 연쇄법칙을 라이프니츠 표기법으로 나타내면 아래와 같습니다. 보통 Back Propagation을 설명할 때는 라이프니츠의 표기법이 자주 사용되기 때문에 이에 대해 알아둘 필요가 있습니다.
$$ \begin{align}
y' &= f'(g(x)) \times g'(x) \\ \\
&= \frac{\partial f}{\partial g} \times \frac{\partial g}{\partial x}
\end{align} $$
'AI > Math' 카테고리의 다른 글
몫의 미분법(Quotient Rule)에 대하여 (0) | 2023.01.14 |
---|