딥러닝에서 역전파: 완전하고 직관적이며 실용적인 가이드

발행: (2025년 12월 17일 오후 12:30 GMT+9)
12 min read
원문: Dev.to

Source: Dev.to

Nishanthan K

소개: 왜 역전파가 중요한가

역전파는 현대 딥러닝의 학습 엔진이다.

신경망이 예측을 개선할 때마다 — 얼굴 인식부터 텍스트 생성까지 — 그 개선은 하나의 메커니즘에서 온다: 그라디언트를 이용한 가중치 조정, 그리고 그 그라디언트는 역전파를 통해 계산된다.

왜 이것이 중요한가

  • 신경망은 본질적으로 수백만에서 수십억 개의 가중치를 가진 거대한 파라메트릭 함수이다.
  • 역전파는 각 가중치가 최종 오류에 얼마나 기여했는지를 효율적으로 계산하는 방법을 제공한다.
  • 역전파가 없으면, 깊은 모델을 학습시키는 것은 계산적으로 불가능해진다 — 각 가중치마다 부분 미분을 독립적으로 다시 계산해야 하며, 이는 지수적으로 증가한다.
  • 역전파는 학습을 실용적이고 효율적으로 만든다, 심지어 매우 큰 모델에서도.

또한 다음의 기반이 된다:

  • 합성곱 신경망
  • 트랜스포머
  • 확산 모델
  • 강화 학습
  • 대형 언어 모델

요약하면, 역전파는 현대 AI의 중추이다.

Source:

신경망이 실제로 계산하는 것 (전방 전달 개요)

역전파를 이해하기 전에, 전방 전달에서 네트워크가 수행하는 작업을 명확히 파악해야 합니다. 역전파는 단순히 이 계산을 역으로 수행하는 것이기 때문입니다.

핵심적으로, 신경망은 레이어를 가로질러 반복적으로 세 가지 단계를 수행합니다:

  1. 이전 레이어의 입력을 받는다.
  2. 가중치와 편향을 이용해 선형 변환을 적용한다.
  3. 그 결과를 비선형 활성화 함수에 통과시킨다.
# 수학적으로, 단일 레이어에 대해:
z = W @ x + b      # 선형 결합 (활성화 전)
a = f(z)           # 활성화

여기서

  • x = 입력 벡터
  • W = 가중치 행렬
  • b = 편향 벡터
  • z = 선형 결합 (활성화 전)
  • f(·) = 활성화 함수 (ReLU, Sigmoid 등)
  • a = 출력 (활성화)

깊은 네트워크는 이 과정을 레이어마다 반복합니다. 각 레이어는 입력을 최종 작업을 더 쉽게 수행할 수 있는 표현으로 변환합니다 — 분류, 탐지, 언어 모델링 등 어떤 작업이든 마찬가지입니다.

역전파와 관련된 이유

  • 전방 전달은 연산 그래프를 만든다 — 각 출력이 이전 출력에 의존하는 연산들의 연쇄.
  • 역전파는 이 그래프를 반대 방향으로 따라가며 각 가중치가 최종 손실에 어떻게 영향을 미치는지 계산한다.
  • 전방 전달에서 정확히 어떤 연산이 이루어지는지 알면, 기울기가 어떻게 뒤로 흐르는지 이해하는 데 도움이 된다.

역전파의 핵심 아이디어

“네트워크의 각 가중치를 어떻게 바꾸어 최종 오류를 줄일 수 있을까?”

신경망은 수백만 개의 매개변수를 가질 수 있으며, 각 매개변수는 출력에 약간씩 다른 방식으로 영향을 미칩니다. 역전파는 이러한 영향을 효율적으로 계산할 수 있는 체계적인 방법을 제공합니다.

간단히 설명한 단계

  1. 손실 계산 – 순전파가 끝난 뒤, 모델의 예측과 실제 라벨을 비교하여 예측이 얼마나 “틀렸는지”를 계산합니다.
  2. 손실이 마지막 층 출력에 어떻게 변하는지 결정 – 이는 모델이 즉시 조정해야 할 방향을 알려줍니다.
  3. 층을 거꾸로 이동 – 체인 룰을 사용해 손실이 다음에 어떻게 의존하는지 파악합니다:
    • 각 층의 활성화값
    • 각 층의 가중치
    • 각 층의 입력값
  4. 기울기 누적 – 모든 가중치는 다음을 알려주는 기울기 값을 갖게 됩니다:
    • 방향(양수 또는 음수)
    • 크기(업데이트 강도)
  5. 가중치 업데이트SGDAdam과 같은 옵티마이저가 이 기울기를 사용해 가중치를 조금씩 더 나은 값으로 이동시킵니다.

핵심 통찰

역전파는 각 가중치마다 처음부터 기울기를 계산하지 않습니다. 순전파에서 얻은 중간 결과를 재활용함으로써 전체 과정이 효율적으로 이루어집니다.

계산 그래프 이해

신경망은 계산 그래프로 볼 수 있습니다 — 각 노드가 수학 함수를 나타내고, 각 엣지가 데이터 흐름을 나타내는 연산들의 순서입니다.

이 그래프가 중요한 이유

  • 순전파 과정에서 생성되는 모든 값(z, a, 활성화 등)은 그래프의 일부가 됩니다.
  • 역전파는 이 그래프를 이용해 출력이 이전 연산에 어떻게 의존하는지 파악합니다.
  • PyTorchTensorFlow 같은 딥러닝 프레임워크는 이 그래프를 자동으로 뒤에서 구축합니다.

체인 규칙: 역전파의 수학적 엔진

역전파는 하나의 수학 원리, 즉 미분법의 체인 규칙에 완전히 기반합니다. 체인 규칙을 이해하면 역전파의 핵심을 이해한 것입니다.

체인 규칙이 필요한 이유

  • 신경망에서는 손실이 어떤 가중치에도 직접적으로 의존하지 않습니다.
  • 대신, 손실은 다음에 의존합니다:
    • 마지막 층의 활성화값
    • 이전 층에 의존하는 활성화값
    • 그 이전 층에 의존하는 활성화값

이렇게 길고 복잡한 의존 관계 사슬이 형성됩니다. 체인 규칙은 초기 변수(예: 가중치)의 작은 변화가 최종 손실에 어떻게 영향을 미치는지를 알려줍니다.

단일 레이어에 체인 규칙 적용

# Forward computations
z = W @ x + b
a = f(z)

# Loss
L = Loss(a)

체인 규칙을 사용하면 가중치에 대한 손실의 기울기는 다음과 같습니다:

[ \frac{\partial L}{\partial W} = \frac{\partial L}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial W} ]

여기서

  • ∂L/∂a – 레이어 출력에 따라 손실이 어떻게 변하는지
  • ∂a/∂z – 입력에 대한 활성화 함수의 반응 방식
  • ∂z/∂W – 이 레이어의 출력이 가중치에 어떻게 의존하는지

Source:

단일 뉴런을 통한 단계별 역전파

체인 룰과 계산 그래프 개념이 명확해졌으니, 하나의 뉴런 내부에서 역전파 과정을 살펴보겠습니다.

이는 신경망의 가장 작은 단위이며, 이를 이해하면 더 깊은 모델에 대한 혼란을 크게 줄일 수 있습니다.

순방향 전파 (단일 뉴런)

뉴런은 다음과 같이 계산합니다:

z = W * x + b
a = f(z)

# where
#   x → 입력
#   W → 가중치
#   b → 편향
#   f → 활성화 함수
#   a → 뉴런의 출력
#   L(a) → 손실 함수

역방향 전파 (목표: 기울기 계산)

활성화 출력에 대한 기울기

[ \frac{\partial L}{\partial a} ]

활성화 함수를 통한 기울기

[ \frac{\partial L}{\partial z}= \frac{\partial L}{\partial a}; f’(z) ]

가중치에 대한 기울기

(z = W x + b) 이므로,

[ \frac{\partial z}{\partial W}=x ]

[ \frac{\partial L}{\partial W}= \frac{\partial L}{\partial z}; x ]

편향에 대한 기울기

[ \frac{\partial z}{\partial b}=1 \quad\Rightarrow\quad \frac{\partial L}{\partial b}= \frac{\partial L}{\partial z} ]

입력에 대한 기울기

[ \frac{\partial L}{\partial x}= \frac{\partial L}{\partial z}; W ]

결론

역전파는 단순한 수학적 절차가 아니라 신경망이 학습할 수 있게 하는 핵심 메커니즘입니다.

네트워크를 통해 그래디언트가 어떻게 흐르는지 이해하면 다음에 대해 논리적으로 생각할 수 있습니다:

  • 왜 특정 아키텍처는 잘 학습되는가?
  • 왜 다른 아키텍처는 실패하는가?
  • 초기화, 활성화, 정규화, 그리고 잔차 연결이 그래디언트 동작에 어떻게 영향을 미치는가?
  • 트랜스포머, CNN, 그리고 깊은 RNN이 어떻게 안정적인가?
  • 어떻게 자신 있게 학습 문제를 디버깅할 수 있는가?

역전파에 대한 직관이 깊어질수록 모델을 설계하고 개선하는 데 더 효과적이 됩니다.

Back to Blog

관련 글

더 보기 »