역전파 (Backpropagation)
쉽게 풀면
여러 사람이 릴레이로 서류를 검토하다가 마지막 사람이 "결과가 틀렸다!"고 외쳤다고 해봅시다. 그러면 마지막 검토자부터 시작해서 "내가 몇 % 잘못했지?"를 따진 뒤, 그 책임을 앞 사람에게 전달하고, 앞 사람도 자기 몫을 따져 또 그 앞사람에게 전달하는 식으로 거슬러 올라갑니다.
역전파는 정확히 이런 과정을 신경망에서 수행합니다. 신경망은 입력 → 여러 층 → 출력 순서로 계산(순전파)을 하고, 마지막에 정답과 비교해 오차를 구합니다. 그 다음 미적분의 연쇄법칙을 이용해 "출력층의 오차가 각 층의 가중치 때문에 얼마나 커졌는지"를 거꾸로 계산해나갑니다.
이렇게 구한 값(기울기)을 가지고 경사하강법이 각 가중치를 조금씩 수정합니다.
왜 중요한가
역전파는 신경망을 아무리 층이 깊어도 효율적으로 학습시킬 수 있게 해주는 핵심 알고리즘이라, 딥러닝을 다루는 논문 대부분이 이 개념을 전제로 방법론을 설명합니다.
새로운 네트워크 구조나 학습 기법을 제안하는 논문은 결국 "이 구조에서 기울기가 잘 전달되는가, 안정적으로 계산되는가"를 다루는 경우가 많아서, 최적화·학습 안정성·수렴 속도 같은 상위 연구주제와도 자연스럽게 연결됩니다. 또한 실무에서 모델이 잘 학습되지 않을 때 원인을 진단하는 출발점도 대체로 역전파 과정에 있습니다.
어떤 절차인가
역전파는 신경망의 손실을 모든 가중치에 대해 미분한 값(기울기)을 연쇄법칙으로 효율적으로 계산하는 알고리즘입니다. 한 번의 학습 단계는 다음 순서입니다.
- 순전파: 입력에서 출력까지 계산하고, 각 층의 중간값(활성값)을 저장해 둡니다.
- 손실 계산: 출력과 정답을 손실함수로 비교합니다.
- 역방향 전달: 출력층부터 입력층 쪽으로, 각 층에서 “손실이 이 층의 입력에 얼마나 민감한가”를 연쇄법칙으로 곱해 가며 구합니다. 각 층에서 가중치의 기울기도 함께 얻습니다.
- 가중치 갱신: 구한 기울기를 경사하강법 같은 최적화 방법에 넘겨 가중치를 조금씩 고칩니다. 역전파는 기울기를 계산할 뿐, 갱신은 최적화 방법의 몫입니다.
역방향 계산의 비용은 순전파 계산 비용의 작은 상수배에 머물고, 모든 가중치의 기울기를 한 번에 얻습니다. 가중치마다 따로 수치미분하면 가중치 수만큼 순전파를 반복해야 하는 것과 대비됩니다. 대신 순전파의 중간값을 저장해야 하므로 메모리를 씁니다.
언제 쓰고 무엇을 얻나
계산 예(가상의 값, 코드로 계산). 입력 1개, 은닉 뉴런 1개, 출력 1개인 가장 작은 신경망입니다. 활성화는 시그모이드 σ, 손실은 L = ½(ŷ − y)², 입력 x = 1, 정답 y = 0, 초기 가중치 w1 = 0.5, w2 = −0.8, 편향은 0입니다.
- 순전파:
z1 = 0.5 → a1 = σ(0.5) ≈ 0.6225 → z2 = −0.8×0.6225 ≈ −0.4980 → ŷ = σ(z2) ≈ 0.3780, 손실 L ≈ 0.07145 - 역방향:
∂L/∂ŷ = ŷ − y ≈ 0.3780,∂ŷ/∂z2 = ŷ(1−ŷ) ≈ 0.2351이므로∂L/∂z2 ≈ 0.08888 - 출력 가중치:
∂L/∂w2 = ∂L/∂z2 × a1 ≈ 0.05532 - 은닉 쪽으로 전달:
∂L/∂a1 = ∂L/∂z2 × w2 ≈ −0.07110,∂L/∂z1 = ∂L/∂a1 × a1(1−a1) ≈ −0.01671, 따라서∂L/∂w1 ≈ −0.01671
수치미분(h = 10−6의 중심차분)으로 확인하면 ∂L/∂w1 ≈ −0.016710, ∂L/∂w2 ≈ 0.055324로 위 값과 일치합니다. 학습률 0.5로 한 걸음 갱신하면 w1 ≈ 0.5084, w2 ≈ −0.8277이 되고 손실이 0.07145에서 0.06979로 줄어듭니다.
무엇을 얻나: 매개변수가 수백만~수십억 개인 모델에서도 기울기를 현실적인 비용으로 구할 수 있어, 깊은 신경망의 end-to-end 학습이 가능합니다. 기울기 소실·폭주 같은 학습 안정성 문제를 진단하는 출발점이기도 합니다.
논문에는 이렇게 적는다
대부분의 논문은 역전파를 새로 설명하지 않고 “표준 역전파로 학습했다”고 적습니다. 다만 재현에 필요한 것은 역전파 자체가 아니라 그 위에 얹은 선택들입니다.
모든 파라미터는 역전파로 종단 간 학습하였다. 최적화에는 Adam(학습률 10−3, 배치 크기 64)을 사용하였고, 기울기 폭주를 막기 위해 기울기 노름을 5로 잘랐다. (가상의 예)
- 최적화 방법·학습률·배치 크기·기울기 클리핑 여부를 적습니다. 이것들이 학습 결과를 좌우합니다.
- 역전파가 통과하지 않는 부분(예: 미분 불가능한 연산, 고정(frozen)한 층, 정책 기울기처럼 보상을 통한 추정)이 있으면 밝힙니다.
- 기울기 소실을 줄이기 위해 잔차 연결이나 정규화를 쓴 경우 그 사실을 구조 설명에 포함합니다.
- 구현은 프레임워크의 자동미분이 대신하는 경우가 대부분이므로, 직접 구현했다면 수치미분으로 검증했다고 적는 것이 신뢰도를 높입니다.
논문에서는 이렇게 쓰입니다
실제 논문에서
이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
이 문장은 "모델의 각 층 가중치를 손으로 하나하나 설정한 것이 아니라, 오차를 거꾸로 전달해 계산한 기울기를 이용해 자동으로 학습시켰다"는 뜻입니다.
층이 많아질수록 오차 신호가 뒤로 전달되는 동안 점점 작아져 앞쪽 층까지 제대로 전달되지 않을 수 있는데, 이 문제를 구조적으로 줄이기 위한 설계를 설명하는 문장입니다.
지도학습뿐 아니라 강화학습 분야에서도 정답 오차 대신 보상 신호로부터 얻은 기울기를 같은 방식으로 거꾸로 전달해 파라미터를 조정한다는 의미입니다.
조금 더 깊게 보면
역전파를 실제로 이해하려면 연쇄법칙(chain rule)이 각 층을 거치며 어떻게 미분값을 곱해나가는지를 아는 것이 도움이 됩니다.
이 과정에서 층이 깊어질수록 곱해지는 값들이 계속 작아져 기울기가 거의 0에 가까워지는 기울기 소실(vanishing gradient), 반대로 값이 커져 발산하는 기울기 폭주(exploding gradient) 문제가 논문에서 자주 언급됩니다.
이를 다루기 위해 잔차 연결, 정규화 기법, 적절한 가중치 초기화, 그래디언트 클리핑(gradient clipping) 같은 방법들이 함께 등장하는 경우가 많습니다.
최근 프레임워크에서는 이 계산을 자동미분(automatic differentiation)이 대신 수행해주지만, 그 내부 원리는 여전히 역전파와 동일한 연쇄법칙에 기반합니다.
주의할 점
역전파 자체는 기울기를 "계산"하는 방법일 뿐, 가중치를 실제로 "업데이트"하는 것은 경사하강법의 몫입니다. 두 개념을 혼동해서 역전파가 곧 학습 알고리즘 전체라고 오해하기 쉬운데, 정확히는 역전파(기울기 계산) + 경사하강법(가중치 갱신)이 합쳐져야 학습이 완성됩니다.
헷갈리기 쉬운 용어
‘학습 알고리즘’이라는 말 아래 층위가 다른 것들이 섞여 쓰입니다.
| 용어 | 하는 일 | 관계 |
|---|---|---|
| 역전파 | 손실의 기울기를 계산 | 연쇄법칙을 층 순서대로 적용하는 알고리즘 |
| 연쇄법칙 | 합성함수의 미분을 구성 요소의 곱으로 계산 | 역전파가 쓰는 수학 규칙 |
| 경사하강법 | 기울기를 써서 가중치를 갱신 | 역전파가 구한 기울기를 입력으로 받는 최적화 방법 |
| 손실함수 | 예측과 정답의 차이를 숫자 하나로 표현 | 미분의 대상이 되는 값 |
| 자동미분 | 프로그램으로 미분을 자동 계산 | 역전파는 자동미분의 역방향 모드로 이해됨 |
참고 문헌
- Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, 533–536.
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
- Baydin, A. G., Pearlmutter, B. A., Radul, A. A., & Siskind, J. M. (2018). Automatic differentiation in machine learning: A survey. Journal of Machine Learning Research, 18(153), 1–43.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.