본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Miscellaneous

[2025-1] 박경태 - 밑바닥부터 시작하는 딥러닝 리뷰, (CH 5.2) 연쇄 법칙

by corqjffp010 2025. 3. 26.

1. 계산 그래프란 무엇인가?

계산 그래프는 수학적 계산 과정을 시각적으로 표현한 그래프 구조로, 복잡한 함수도 단순한 노드(Node)와 엣지(Edge)로 분해하여 나타낼 수 있다. 각 노드는 하나의 연산(예: 덧셈, 곱셈, 제곱 등)을 나타내며, 변수 간의 연산 흐름을 방향성 있는 그래프로 나타낸다. 이러한 표현은 계산의 흐름을 직관적으로 이해하고, 특히 미분 계산에서 매우 유용하다.


2. 계산 그래프를 통한 역전파의 개념

역전파는 계산 그래프를 활용해 각 노드에서의 출력에 대한 입력 변수의 기울기(미분값)를 구하는 절차이다. 즉, 출력값에 영향을 미치는 각 입력값의 민감도를 계산하는 과정이다.

예를 들어 y= f(x)라는 함수가 있을 때, 출력 yy가 다른 연산의 입력으로 사용된다면, 출력에 대한 미분값을 입력 방향으로 거슬러 전달하며 각 노드에서 국소적 미분을 계산한다.


3. 연쇄법칙이란?

연쇄법칙(Chain Rule)은 합성 함수의 미분을 계산할 때 사용하는 원리이다. 하나의 함수가 여러 함수의 조합으로 이뤄져 있을 때, 전체 함수의 미분은 각 부분 함수의 미분을 곱하는 방식으로 계산할 수 있다.

예를 들어 \( z = (x + y)^2 \)이라는 함수가 있을 때, 이를
\[
t = x + y, \quad z = t^2
\]
로 나누어 보면,
\[
\frac{\partial z}{\partial x} = \frac{\partial z}{\partial t} \cdot \frac{\partial t}{\partial x}
\]
와 같이 표현할 수 있다.


4. 연쇄법칙과 계산 그래프의 관계

계산 그래프에서 연쇄법칙은 각 노드에서의 국소 미분을 순차적으로 곱하여 전체 미분을 계산하는 방식으로 구현된다. 노드 간의 연결 관계에 따라 입력값에서 출력값까지의 경로를 따라가며 각 경로의 기울기를 곱해 최종 미분 값을 구할 수 있다.

즉, 연쇄법칙은 계산 그래프에서 역전파를 수행할 수 있는 이론적 기반이다.


5. 예제: 연쇄법칙 계산과 계산 그래프

앞서 본 \( z = (x + y)^2 \) 예제를 기반으로, 계산 그래프는 다음과 같은 흐름을 가진다:

입력: \( x, y \)  
중간 노드: \( t = x + y \)  
출력 노드: \( z = t^2 \)

이때 각 단계의 미분은 다음과 같이 구해진다:
\[
\frac{\partial z}{\partial t} = 2t, \quad \frac{\partial t}{\partial x} = 1
\]
따라서
\[
\frac{\partial z}{\partial x} = \frac{\partial z}{\partial t} \cdot \frac{\partial t}{\partial x} = 2(x + y)
\]
이 과정을 계산 그래프로 나타내면, 순전파는 왼쪽에서 오른쪽으로 계산이 진행되고, 역전파는 오른쪽에서 왼쪽으로 미분이 전파된다.


6. 계산 그래프의 역전파 해석

계산 그래프의 역전파는 각 노드에서의 국소 미분 값을 입력으로 받은 역전파 값에 곱하여 다음 노드로 전달하는 방식으로 진행된다. 이 과정은 연쇄법칙을 따르며, 그래프의 최종 출력에서 시작해 입력까지의 기울기를 계산하게 된다.

예를 들어, 출력 노드에서 시작해 미분 값이 1이라면, 곱셈 노드를 거칠 때 국소 미분

\[
\frac{\partial z}{\partial t} = 2t
\]
를 곱한 값이 전달되고, 그다음 노드에서는
\[
\frac{\partial t}{\partial x} = 1
\]
이 곱해져 최종적으로
\[
\frac{\partial z}{\partial x} = 2(x + y)
\]
가 된다.

 

❓ 퀴즈

다음 중 계산 그래프에서 역전파(backpropagation)의 설명으로 가장 적절한 것은?

A. 계산 그래프에서 각 노드의 출력 값을 오른쪽 방향으로 전달하는 과정이다.
B. 합성 함수의 결과값을 빠르게 계산하기 위한 전방향 계산 과정이다.
C. 출력값에 대한 입력값의 미분을 구하기 위해 국소 미분 값을 곱하며 좌측 방향으로 전달하는 과정이다.
D. 계산 그래프를 그릴 때 사용하는 노드의 연결 구조를 의미한다.