AI 수학/최적화

다변수 함수의 연쇄법칙 (Chain Rule)

깊은대학 2021. 3. 23. 09:00

연쇄법칙(chain rule)은 합성함수(composite function)의 도함수를 구할 때 유용하게 사용되는 법칙이다. 합성함수란 두개 이상의 함수를 연결하여 하나의 함수로 만드는 연산을 말한다. 연쇄법칙은 신경망을 학습시킬 때 사용되는 역전파(backpropagation) 알고리즘의 근간을 이룬다.

 

 

벡터 y=[y1  y2]T를 변수로 하는 다변수 스칼라 함수 f(y)의 미분 df는 다음과 같이 계산된다.

 

(1)df=fy1dy1+fy2dy2

 

한편 y1, y2도 각각 x=[x1  x2  x3]T의 함수일 때 y1(x), y2(x)의 미분 dy1, dy2는 다음과 같이 계산된다.

 

(2)dy1=y1x1dx1+y1x2dx2+y1x3dx3dy2=y2x1dx1+y2x2dx2+y2x3dx3

 

식 (2)를 식 (1)에 대입하면 다음과 같다.

 

(3)df=fy1(y1x1dx1+y1x2dx2+y1x3dx3)  +fy2(y2x1dx1+y2x2dx2+y2x3dx3)

 

한편 f는 결국 x의 함수이므로 미분 df는 다음과 같이 표현할 수 있다.

 

(4)df=fx1dx1+fx2dx2+fx3dx3

 

식 (1)과 (3)은 같아야 하므로 다음 관계가 성립한다.

 

(5)fx1=fy1y1x1+fy2y2x1fx2=fy1y1x2+fy2y2x2fx3=fy1y1x3+fy2y2x3

 

이 식을 벡터와 행렬 형식으로 표현하면 다음과 같다.

 

(6)[fx1fx2fx3]=[y1x1y2x1y1x2y2x2y1x3y2x3][fy1fy2]

 

또는

 

(7)dfdx=dydxdfdy

 

여기서 dfdxdfdy는 그래디언트(gradient)로서 각각 다음과 같이 정의되고,

 

dfdx=[fx1fx2fx3],   dfdy=[fy1fy2]

 

dydx는 자코비안(Jacobian)으로서 다음과 같이 정의된다.

 

dydx=[y1x1y2x1y1x2y2x2y1x3y2x3]

 

식 (7)은 임의의 차원의 벡터일 때도 적용된다. 예를 들어 xRn,  yRm일 때 그래디언트와 자코비안의 차원은 각각 dfdxRn, dfdyRm, dydxRn×m이 된다.

식 (7)을 다변수 합성함수의 연쇄법칙(chain rule)이라고 한다. 연쇄법칙은 복합함수를 구성하는 개별함수의 도함수를 이용해서 복합함수의 도함수를 계산해주는 법칙이다.

 

 

연쇄법칙은 복합함수의 구성함수가 2개 이상일 때도 작용할 수 있다. 그림과 같이 연쇄적으로자코비안을 계산해주면 된다.