Backpropagation Algorithm
다음과 같은 일련의 방법으로 역전파 알고리즘이 진행된다.
- input 을 통해 activation 을 계산
- Feedforward: 신경망 layer 에 대하여 그리고 를 계산
- 신경망 output 에 대한 Error vector 를 계산
- Backpropagate the error: 신경망 layer 에 대하여 를 계산
- Output: 주어진 cost function 에 대한 gradient 는 그리고 로 계산할 수 있다.
위 과정에서 3 ~ 5 의 단계가 backward 과정이다. 해당 과정은 (3) 의 마지막 번째 layer 의 error vector 를 구한 후, (4 ~ 5) 를 반복한다.
그리고 위 방식은 example 을 하나씩 처리하는 경우를 설명한 것인데, 실제로는 mini-batch 형식으로 진행되므로 matrix 계산이 필수적이다.
B) The Equations of Backpropagation
신경망의 back-propagation 에는 총 4 가지 핵심 수식들이 존재한다. 역전파 알고리즘에 포함되어 있는 총 네가지 수식들을 정리해보자.
(1) cost function 에 대해서 neural network 의 마지막 번째 layer 의 error 은 다음과 같이 정의된다.
여기서 error 란, 신경망의 번째 layer 가중치 합 에 대한 의 변화량을 의미한다: ( 는 번째 layer 의 번째 neuron 을 의미). 그리고 는 편미분 를 원소로 가지는 gradient 를 의미한다.
위 식은 activation function 에 상관없이 항상 적용될 수 있는 식이다.
(2) 그리고 번째 layer 의 error 를 번째 layer 의 error 로 표현하면 다음과 같다.
이는 backward 방향인데, 번째 layer 의 error 가 가중치 곱을 통해 번째 layer 로 흘러들어온다고 생각할 수 있다.
(3) 신경망의 bias 에 따른 의 변화는 다음과 같이 표현할 수 있다.
(4) 마지막으로 신경망의 weight 에 따른 의 변화는 다음과 같이 표현된다.
위 식은 번째 layer 의 activation 값과 번째 layer 의 error 를 곱하는 것으로, 와 같이 표현할 수 있다.
B.1) Proofs
위 네개의 수식들을 증명한다.
(1) chain rule 을 활용하여 증명한다.
- sum notation 이 사라지는 이유는 번째 뉴런에 대한 output activation 은 오직 만 의존적이므로, 외에는 제외해도 괜찮기 때문이다.
- 마지막에서 가 로 바뀌는 이유는 를 만족하기 때문이다. 참고로, 이다.
(2) 역시 chain rule 을 활용하여 증명할 수 있다.
마지막 는 다음과 같이 풀어진다.
이제 풀어진 식을 에 대해서 미분하면 를 얻는다. 그리고 이를 대입하면 가 얻어진다.
(3)
여기서 는 에 대해 미분하는 경우 일 때 1, 그 외에는 0 이다.
(4)
여기서 라고 한다면 인 경우에만 에 대한 편미분 값이 이 되지 않는다. 즉, 다음과 같다.
C) Big Picture
Backpropagation 은 가중치 (또는 bias) 가 cost function 에 미치는 변화량의 모든 합을 계산한 것이다.
예를 들어, 에 대한 의 변화량은 해당 가중치에 변화를 줌으로써 영향을 미치게되는 모든 경우의 수 (path) 를 합한 것이다. 즉, 어떤 한 신경망 path 는 다음과 같이 계산될 수 있다.
그런데 이 path 말고도 다른 여러 경우의 수가 존재한다. 해당 수들을 모두 합하는 과정이 backpropagation 을 위한 계산을 수행한 것이다.

D) Related
E) References
- Probabilistic Machine Learning - An Introduction: 13.3 Backpropagation
- Neural Networks and Deep Learning (link)