Posts 연쇄 법칙 Chain Rule
Post
Cancel

연쇄 법칙 Chain Rule

개요

딥러닝에 중요하게 사용되는 연쇄 법칙 (Chain Rule)의 개념에 대해 알아본다.

연쇄 법칙의 개념

합성 함수

연쇄 법칙에 대해서 본격적으로 알아보기 전에, 합성 함수부터 알아보자.

\[z = g(y) = g(f(x)) = (g \circ f)(x) \\ where\;y = f(x)\]

어떤 함수 g(y)의 입력으로 또다른 함수 f(x)를 사용한다면, g(f(x))라고 표시할 수 있을 것이다. 이런 함수를 합성함수라고 한다.

미분 기호

앞서 우리는 미분의 개념에 대해서 알아보았다. 그에 이어서, 미분을 기호로 표시하는 방법은 아래와 같다.

\[y' = f'(x) = \frac{d}{dx}f(x) = \frac{dy}{dx}\]

위 표현은 x에 대한 y의 변화량을 의미한다.

합성함수를 미분하는 방법은?

그렇다면… 합성함수의 미분은 어떻게 할까?

\[z' = g'(f(x)) =\;???\]

관찰하기

천천히 생각해 보자.

\[z' = g'(y) = \frac{dz}{dy}\]

우선 y에 대한 z의 변화량이 dz/dy임은 쉽게 이해할 수 있다. 그런데 헷갈리는 점은 y도 하나의 함수라서 y = f(x)라는 점이다. 우리가 최종적으로 원하는 것은 중간 함수값인 y에 대한 z의 변화량이 아니라, 첫 입력인 x에 대한 z의 변화량이다.

우선 x에 대한 y의 변화량을 한번 나타내 보자.

\[\frac{dy}{dx}\]

이건 전혀 어렵지 않다! y = f(x)이기 때문에, 결국 x에 대한 함수 f의 변화량으로 손쉽게 이해할 수 있겠다.

이제 둘을 한번 곱해보자!

\[\frac{dz}{dy}\frac{dy}{dx} = \frac{dz}{dx}\]

dy를 제거할 수 있기 때문에, 우리가 원하던 식인 첫 입력 x에 대한 z의 변화량을 나타낼 수 있게 되었다!

이 과정에서 알 수 있는 것은, 각 입력에 대한 함수의 변화량을 차례대로 곱해나가면, 합성함수의 미분값을 구할 수 있다는 사실이다. 이를 연쇄 법칙이라고 한다.

적용 및 의의

\[k = h(z),\; z = g(y),\; y = f(x) \\ k = h(g(f(x))) \\ k' = ???\]

합성함수가 한단계 더 겹쳐졌다. 이 역시 함수의 변화량을 곱해나가서, 첫 입력에 대한 최종 출력의 변화율을 구할 수 있다.

\[k' = \frac{dk}{dx} = \frac{dk}{dz} \frac{dz}{dy} \frac{dy}{dx}\]

이러한 방법으로, 여러번 중첩된 합성함수라도 첫 입력이 변화했을 때 최종 출력이 어떻게 변화할 지 그 변화율을 구해낼 수 있다.

This post is licensed under CC BY 4.0 by the author.

미분

함수의 극값, 최대값과 최소값

Loading comments from Disqus ...