정의
역전파(逆傳播, backpropagation)는 인공신경망(Artificial Neural Network) 학습 과정에서 사용되는 알고리즘으로, 출력층에서 입력층 방향으로 오차(error)를 전파시켜 각 가중치(weight)와 편향(bias)의 기울기(gradient)를 계산한다. 계산된 기울기는 경사하강법(gradient descent) 등 최적화 방법에 의해 가중치와 편향을 업데이트하는 데 이용된다.
역사 및 배경
역전파 알고리즘은 1970년대 초반에 제프리 힌턴(Geoffrey Hinton) 등 여러 연구자에 의해 독립적으로 제안되었으며, 1986년 Rumelhart, Hinton, Williams가 발표한 논문 “Learning representations by back‑propagating errors”에서 널리 알려졌다. 이후 딥러닝(Deep Learning)의 급속한 발전과 함께 핵심 학습 기법으로 자리잡았다.
핵심 원리
- 순전파(Forward Pass): 입력 데이터를 신경망에 순차적으로 전달하여 각 층의 활성화값과 최종 출력값을 계산한다.
- 오차 계산: 출력값과 목표값(라벨) 사이의 손실 함수(loss function) 값을 구한다.
- 역전파(Backward Pass): 손실 함수에 대한 각 파라미터의 미분값을 체인 룰(chain rule)을 이용해 출력층에서 입력층 방향으로 전파한다.
- 파라미터 업데이트: 구해진 미분값(기울기)을 기반으로 학습률(learning rate) 등 하이퍼파라미터를 적용해 가중치와 편향을 조정한다.
주요 변형
- 확률적 경사하강법(Stochastic Gradient Descent, SGD) 기반 역전파
- 모멘텀(Momentum)·Adam·RMSprop 등 최적화 알고리즘과 결합된 역전파
- 가중치 공유(weight sharing)와 같은 구조적 제약을 고려한 역전파
사용 맥락
- 딥러닝 프레임워크(TensorFlow, PyTorch, Keras 등)에서 신경망 모델을 학습할 때 내부적으로 자동 미분(automatic differentiation) 기능을 통해 역전파가 수행된다.
- 학습 외에도 네트워크 구조 설계, 하이퍼파라미터 튜닝, 모델 디버깅 등에 대한 이론적 분석에서 역전파의 수학적 원리가 활용된다.
어원
‘역전파’는 영어 “backpropagation”을 직역한 것으로, ‘역(逆)’은 “뒤로, 반대로”를 의미하고, ‘전파(傳播)’는 “전달, 퍼뜨림”을 뜻한다. 따라서 ‘역전파’는 “오차를 뒤쪽으로 전달한다”는 의미를 담고 있다.
관련 용어
- 전파(Forward Pass): 입력이 신경망을 통과해 출력이 생성되는 과정.
- 손실 함수(Loss Function): 모델 출력과 실제 값 사이의 차이를 정량화하는 함수.
- 학습률(Learning Rate): 파라미터 업데이트 크기를 조절하는 하이퍼파라미터.
참고 문헌
- Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back‑propagating errors. Nature.
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
주의 사항
역전파는 미분 가능한 활성화 함수와 손실 함수를 전제로 하며, 비분화(non‑differentiable) 요소가 포함된 경우 대체 방법(예: 강화학습의 정책 그라디언트)이나 근사 기법을 사용한다.