13.4 역전파(Backpropagation) 알고리즘의 유도
역전파 알고리즘은 신경망의 손실 함수에 대한 매개 변수의 기울기를 효율적으로 계산하는 학술적 절차이다. 역전파는 연쇄 법칙을 계산 그래프의 역향 양식 자동 미분으로 구현한 것으로, 신경망의 학습을 가능하게 하는 핵심 기법이다. 이 절에서는 역전파의 학술적 유도, 단계별 절차, 행렬 표현, 계산 복잡도, 학술적 의의를 학습 순서에 따라 기술한다.
1. 학술적 동기
매개 변수의 수가 매우 큰 신경망의 학습에서는 손실 함수의 모든 매개 변수에 대한 기울기를 계산해야 한다. 단순히 각 매개 변수에 대하여 수치 미분을 적용하면 매개 변수의 수에 비례하는 횟수의 함수 평가가 필요하므로 매우 비효율적이다. 역전파 알고리즘은 연쇄 법칙의 역향 적용을 통하여 단일 함수 평가의 비용으로 모든 매개 변수에 대한 기울기를 계산할 수 있다.
2. 학술적 유도
L개의 층으로 구성된 다층 퍼셉트론을 고려한다. 각 층의 출력은 다음과 같이 정의된다.
\mathbf{z}^{(\ell)} = W^{(\ell)} \mathbf{a}^{(\ell - 1)} + \mathbf{b}^{(\ell)}
\mathbf{a}^{(\ell)} = \varphi^{(\ell)}(\mathbf{z}^{(\ell)})
손실 함수는 \mathcal{L} = \ell(\mathbf{a}^{(L)}, \mathbf{y})로 정의된다. 매개 변수 W^{(\ell)}과 \mathbf{b}^{(\ell)}에 대한 손실의 기울기를 계산하기 위하여, 먼저 다음의 학술적 양을 정의한다.
\boldsymbol{\delta}^{(\ell)} = \frac{\partial \mathcal{L}}{\partial \mathbf{z}^{(\ell)}}
이 양은 \ell번째 층의 입력에 대한 손실의 기울기이며, 학술적으로 *오차 신호(error signal)*로 불린다.
13.4.2.1 출력층의 오차 신호
출력층의 오차 신호는 다음과 같이 표현된다.
\boldsymbol{\delta}^{(L)} = \frac{\partial \ell}{\partial \mathbf{a}^{(L)}} \odot \varphi^{(L) \prime}(\mathbf{z}^{(L)})
여기서 \odot은 원소별 곱(Hadamard product)이다. 일부 활성화 함수와 손실 함수의 결합(예: 소프트맥스와 교차 엔트로피)에서는 이 표현이 단순한 형태로 환원된다.
2.1 은닉층의 오차 신호
은닉층의 오차 신호는 다음의 재귀 관계를 따른다.
\boldsymbol{\delta}^{(\ell)} = \left( (W^{(\ell + 1)})^\top \boldsymbol{\delta}^{(\ell + 1)} \right) \odot \varphi^{(\ell) \prime}(\mathbf{z}^{(\ell)})
이 관계는 다음 층의 오차 신호로부터 현재 층의 오차 신호를 계산할 수 있음을 보여준다. 따라서 출력층에서 시작하여 입력층 방향으로 오차 신호를 역방향으로 전파할 수 있다.
13.4.2.3 매개 변수의 기울기
오차 신호가 계산되면 각 층의 가중치와 편향에 대한 손실의 기울기는 다음과 같이 표현된다.
\frac{\partial \mathcal{L}}{\partial W^{(\ell)}} = \boldsymbol{\delta}^{(\ell)} (\mathbf{a}^{(\ell - 1)})^\top
\frac{\partial \mathcal{L}}{\partial \mathbf{b}^{(\ell)}} = \boldsymbol{\delta}^{(\ell)}
이러한 표현은 학술적으로 매우 단순하며, 신경망의 모든 매개 변수에 대한 기울기를 효율적으로 계산할 수 있도록 한다.
13.4.3 단계별 절차
역전파 알고리즘은 다음의 단계로 수행된다.
- 순전파: 입력으로부터 출력까지 모든 층의 출력 \mathbf{z}^{(\ell)}과 \mathbf{a}^{(\ell)}을 계산하고 저장한다.
- 손실의 평가: 출력층의 출력과 목표 값에 대하여 손실을 계산한다.
- 출력층의 오차 신호 계산: \boldsymbol{\delta}^{(L)}을 계산한다.
- 역방향 전파: \ell = L - 1, L - 2, \dots, 1에 대하여 오차 신호 \boldsymbol{\delta}^{(\ell)}을 재귀적으로 계산한다.
- 매개 변수의 기울기 계산: 각 층의 가중치와 편향에 대한 기울기를 위의 표현으로 계산한다.
- 매개 변수 갱신: 경사 하강법 또는 그 변형으로 매개 변수를 갱신한다.
13.4.4 행렬 표현과 미니배치
미니배치 학습에서는 위의 표현이 행렬 연산으로 일반화된다. 미니배치 크기가 N인 경우 활성화 행렬 A^{(\ell)} \in \mathbb{R}^{N \times d_\ell}과 오차 신호 행렬 \Delta^{(\ell)} \in \mathbb{R}^{N \times d_\ell}이 사용된다. 가중치의 기울기는 다음과 같이 표현된다.
\frac{\partial \mathcal{L}}{\partial W^{(\ell)}} = (\Delta^{(\ell)})^\top A^{(\ell - 1)}
이러한 행렬 표현은 GPU와 같은 병렬 연산 장치에서 효율적으로 처리된다.
3. 계산 복잡도
역전파의 계산 복잡도는 순전파의 계산 복잡도와 거의 동일하다. 즉, 순전파의 산술 연산 횟수에 약 2배에서 5배 정도의 시간만이 필요하다. 이러한 학술적 효율성은 매개 변수의 수가 매우 큰 신경망에서도 학습이 가능함을 보장한다.
4. 학술적 역사
역전파의 학술적 발전은 다음의 단계로 이루어졌다.
- Werbos가 1974년에 박사 학위 논문 Beyond Regression에서 역전파의 원리를 신경망에 적용하였다.
- Rumelhart, Hinton, Williams가 1986년에 Learning representations by back-propagating errors를 발간하여 역전파를 신경망 학습의 표준 절차로 정립하였다.
- 이후 자동 미분의 학술적 정형화와 함께 GPU 기반 구현이 발전하여 심층 학습의 실용화의 기반이 되었다.
5. 학술적 의의
역전파 알고리즘은 다음의 학술적 의의를 가진다.
- 매개 변수의 수에 거의 비례하는 시간 복잡도로 모든 매개 변수의 기울기를 계산
- 자동 미분의 역향 양식과의 동등성
- 임의의 미분 가능한 계산 그래프에 일반화 가능
- 심층 학습의 실용화의 핵심 기반
6. 출처 및 버전 정보
- Werbos, P. J., Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences, Harvard University, 1974
- Rumelhart, D. E., Hinton, G. E., Williams, R. J., Learning representations by back-propagating errors, Nature, 1986
- LeCun, Y., Bottou, L., Bengio, Y., Haffner, P., Gradient-based learning applied to document recognition, Proceedings of the IEEE, 1998
- Bishop, C. M., Pattern Recognition and Machine Learning, Springer, 2006
- Goodfellow, I., Bengio, Y., Courville, A., Deep Learning, MIT Press, 2016
- Griewank, A., Walther, A., Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, SIAM, 2008