본문 바로가기
딥러닝관련/기초 이론

신경망 정리 9 (연쇄 법칙 chain rule)

by 머리올리자 2021. 5. 30.

국소적 미분을 전달하는 원리는 연쇄법칙(chain rule)에 따른 것.

 

y = f(x)의 계산을 역전파 하면...

 

순방향과는 반대 방향으로 국소적 미분을 곱한다.

신호 E에 노드의 국소적 미분을 곱한 후 → 다음 노드에 전달하는 것

 

여기서의 국소적 미분 : 순전파 때의 y = f(x) 계산의 미분.

 

이는 x에 대한 y미분을 구하는 뜻.

 

만약 y = f(x) = x^2 이면, 미분값인 2x를 상류에서 전달된 E와 곱해 앞쪽 노드로 전달.

 

연쇄 법칙

연쇄 법칙을 위해서는 합성 함수 이야기부터 시작.

 

합성 함수 : 여러 함수로 구성된 함수

 

예를 들어 z = (x + y)^2 이라는 식은 아래와 같이 두 개의 식으로 구성

 

연쇄법칙은 합성 함수의 미분에 대한 성질이며, 다음과 같이 정의

 

합성 함수의 미분은 합성 함수를 구성하는 각 함수의 미분의 곱으로 나타낼 수 있다.

 

예를 들면, x에 대한 z의 미분t에 대한 z의 미분x에 대한 t의 미분의 곱으로 나타낼 수 있다.

위 식에서 중복되는 ∂t를 지울 수 있다.

연쇄 법칙을 써서 x에 대한 z의 미분을 구해보기

위와 같이 t에 대한 z의 미분은 2t이고, t에 대한 x의 미분은 1이다.

 

이는 미분 공식에서 해석적으로 구한 결과

 

따라서, 아래와 같은 두 미분값을 곱해 계산 가능

연쇄법칙과 계산 그래프

위 식을 아래와 같은 계산 그래프로 나타낼 수 있다.

 

 

계산 그래프의 역전파는 오른쪽에서 왼쪽으로 신호를 전파.

 

 

덧셈 노드의 역전파

위의 식을 대상으로 역전파 확인

 

아래와 같이 해석 가능

 

덧셈 노드의 역전파는 입력 값을 그대로 흘려 보낸다.

 

 

덧셈 역전파 때는 상류에서 전해진 미분에 1을 곱하여 하류로 흘린다.

 

입력된 값을 그대로 다음 노드로 보내게 된다.

 

상류에서 전해진 미분 값을 아래와 같이 설정했는데 최종적으로 L이라는 값을 출력하는 큰 계산 그래프를 가정하기 때문

 

 

곱셈 노드의 역전파

곱셈 노드 예시

 

아래는 위 곱셈의 미분 결과

 

곱셈 노드의 역전파는 상류의 값에 순전파 때의 입력 신호들을 '서로 바꾼 값'을 곱해서 하류로 보낸다.

 

내용 참고

book.naver.com/bookdb/book_detail.nhn?bid=11492334

 

밑바닥부터 시작하는 딥러닝

직접 구현하고 움직여보며 익히는 가장 쉬운 딥러닝 입문서!『밑바닥부터 시작하는 딥러닝』은 라이브러리나 프레임워크에 의존하지 않고, 딥러닝의 핵심을 ‘밑바닥부터’ 직접 만들어보며

book.naver.com