를 어떻게 업데이트해야 Loss가 줄어들까?
CNN에는 수백만 개의 가중치가 있다.
Q. 이 중 어떤 가중치를
Q. 얼마만큼
Q. 어떤 방향으로 바꿔야 할까?
역전파(backpropagation)란 모델의 출력에서 발생한 오차를 기준으로, 각 가중치가 오차에 얼마나 기여했는지를 계산하여 가중치를 어떻게 고쳐야 할지를 알려주는 과정이다.
chain rule(연쇄법칙)을 이용해 전체 신경망 손실에 대해 각 파라미터가 얼마나 기여했는지를 뒤에서부터 계산하는 방법이다. 결과적으로 각 파라미터에 대해 얼마나 수정해야 loss가 줄어드는지를 알 수 있게 된다.
Forward propagation (순전파)
Loss 계산
Backpropagation (역전파)
Weight update
역전파를 통해 학습률, 최적화가 가능하다. 역전파가 없다면 어떤 값이 loss에 얼마만큼 기여했는지 알 수 없다. 그러나 역전파가 있으면 파라미터마다 gradient가 있고 gradient 기반 최적화(SGD, Adam 등)이 가능해진다.
Reference