서론

저번 시간에는 다변수 함수하고 관련된 이것 저것을 했는데…

정작 가장 중요한 연쇄 법칙에 대해서는 자세히 다루지 않았다.

오늘은 ‘왜 다변수 함수의 연쇄 법칙이 그렇게 되는가’에 대해서 한번 알아보자.

여기를 참조했다.

공식

일단 다변수 함수의 연쇄 법칙에 대한 공식을 다시 짚고 넘어가자.

eq

여기서 z = f(x, y)이고, x와 y는 t의 함수이다. 정 뭣하면 x = g(t), y = h(t)라고 하자.

이걸 까먹었던 이유가 아마 분명 수업시간에 그렇다고는 했는데 왜 그런지를 제대로 이해하지 못해서였을 것 같다.

증명 파트가 있기는 있었지만… 솔직히 한 십수줄 하는 증명을 딱 보고 이해할 수는 없지 않는가.

증명은 엄밀함을 위한거지, 그걸로 뭔가가를 기억하고 도출해내겠다 하는건 증명이 진짜 단순하지 않은 이상에는 힘들다.

직관

일단 가장 기본적인 직관에서 시작하자.

‘미분’이란 무엇인가?

y = f(x)에서 x값이 아주 조금 움직였을 때, y값이 얼마나 움직이는지를 보통 미분이라고 불렀지 않았는가.

수학적으로 조금 더 엄밀하고 싶다면 h->0의 극한을 취할 때 f(x+h) - f(x)와 h의 비율을 미분값이라고 불렀지 않았는가.

(공식으로 조금 더 깔끔하게 나타내면 eq이다.)

그런데 z = f(x, y)가 되면서 이제 신경써야 할 값이 하나가 더 늘어났다.

즉, x값과 y값이 아주 조금 움직였을 때, z값이 얼마나 움직이는지를 알아야 한다는 것이다.

물론 그라디언트를 계산해볼 수 있다. 그러면 x값이 z값을 얼마나 움직였는지, 또 y값이 z값을 얼마나 움직였는지 알 수 있다.

문제는 x값과 y값이 하나의 변수 - 예컨데 t - 에 대한 함수일 때, t 값이 z값을 얼마나 움직였는지를 알아내는 방법이다.

t값이 z값을 얼마나 움직였을지는, 직관적으로 생각해봐도 t값이 x값과 y값을 각각 얼마나 움직였는지와 관련이 있을 것이다.

eq

연쇄 법칙- 이라는게 있다는 사실을 알고 있다면, 그리고 계산 그래프를 그려봤다면, 이게 x값(혹은 y값)이 z값에 영향을 얼마나 주느냐와 관련이 있다는 것도 알 것이다.

정확히는 t와 x의 관계에 x와 z의 관계를 곱한 만큼의 영향이 있다는 것을 알 것이다.

eq

여기까지는 직관적으로 생각해서 간단하게 나온다. 문제는 위 공식에서 ‘???’로 표시한 그것이다.

과연 이 둘을 어떻게 잘 조합해야 할까?

그래프 위로 옮기기

아니, 계산 그래프 말고, 보통 ‘그래프’ 하면 먼저 떠올리는 그 그래프 말이다.

그래프라고 할 때 이미 자료구조 비스무리한 그래프가 먼저 떠올라버리기는 하지만, 그러면 좌표평면이라고 하자.

아무튼 x를 x축에 y를 y축에 둔다고 하고…

direcderiv

짠! 3차원 손그림이다.

대충 보이는 평면이 f 함수라고 하자. 또 x와 y는 t의 함수이기 때문에 t도 어떻게 표시를 해 줬다.

여기서 t를 살짝 움직여볼까?

direcderiv2

짠! 빨간색으로 표시한대로 움직이게 된다.

개인적으로 3D 손그림 치고 잘 뽑혀서 기분이 좋다.

아무튼 우리가 궁극적으로 구하고 싶은건 뭘까?

direcderiv3

바로 이 파란색으로 표시된 ?이다. 빨간색대로 값들이 움직일 때, 파란색 값은 얼마나 움직일까?

…어… 잠깐…. 이걸 표현하는 개념이 있었는데…?

참조: 방향도함수

어느 방향으로 움직일 때의 미분계수를 ‘방향도함수’라고 부른다.

계산 방법은 연쇄법칙이나 다를게 없기 때문에 생략한다.

다시 직관으로 돌아와서

direcderiv4

초록색으로 표시한 부분을 보자.

미분 관련된게 다 그렇듯이, 엄청 작은 부분을 다룰꺼기 때문에 대충 그 부분은 평면인걸로 치고, 주위를 확대해보자.

조금 더 그 부분을 크게 그려보자.

direcderiv5

이제 ‘평면’ 위로 올라왔기 때문에, 다음과 같이 생각해볼 수 있다.

z값의 변화량, 즉 우리가 구하고 싶은 값은… x좌표의 변화로 인해 z값이 변화한 양과 y좌표의 변화로 인해 z값이 변화한 양을 그대로 더한 것과 값이 같아지지 않을까?

이게 곡면 위에서라면 그대로 성립하지 않겠지만, 이건 미분이고, 아주 작은 양의 변화에 대해서 다룬다.

저렇게 보이지 않으면 저렇게 보일 때까지 줌을 당기면 되는거다.

왜 더한 값이 같아지는지에 대해 이해를 더 편하게 하기 위해 연두색 보조선 또한 그려보았다.

결론

다변수 함수의 연쇄법칙이 왜 ‘더하면 되는가?’에 대한 의문을 해결하기 위해서 이것 저것을 살펴보았다.

그래서 왜 그렇게 되는지에 대해 직관적으로 알아보았다.

다음에는 지금껏 만들던 Autograd로 돌아가도록 하자.