2.2.2 역전파: 경사 하강법 내부
이전 절에서 가중치 업데이트의 스텝 크기가 경사 하강법 과정에 어떤 영향을 미치는지 설명했습니다. 하지만 업데이트 방향을 어떻게 계산하는지는 이야기하지 않았습니다. 신경망 학습 과정에서 이 방향은 아주 중요합니다. 방향은 가중치에 대한 그레이디언트에 의해 결정되며, 그레이디언트를 계산하기 위한 알고리즘을 역전파(backpropagation)라고 부릅니다. 1960년대에 발명된 역전파는 신경망과 딥러닝의 기본 요소 중 하나입니다. 이 절에서는 간단한 예시를 통해 역전파의 작동 방식을 설명하겠습니다. 이 절은 역전파를 이해하고 싶은 독자에게 유용하며, TensorFlow.js를 사용해 이 알고리즘을 적용하는 데만 관심 있는 독자에게는 불필요합니다. 이 메커니즘은 tf.Model.fit() API 아래에 잘 숨겨져 있기 때문입니다. 따라서 이 절을 건너뛰고 2.3절을 바로 읽어도 됩니다.
간단한 선형 모델을 생각해 보죠.
y' = v * x
여기에서 x는 입력 특성이고, y'는 예측한 출력이고, v는 역전파를 통해 업데이트될 모델의 유일한 가중치 파라미터입니다. 제곱 오차를 손실 함수로 사용한다고 가정해 보죠. 그럼 loss, v, x, (실제 타깃 값인) y 사이에 다음과 같은 관계를 얻습니다.
loss = square(y' - y) = square(v * x - y)