이 과정을 조금 더 상세하게 그리면 그림 9-3과 같습니다.
그림 9-3 | 오차 역전파의 개념
먼저 ➊처럼 한 번의 순전파가 일어납니다. 이 과정을 통해 각 가중치의 초깃값이 정해집니다. 이 초깃값의 가중치로 만들어진 값과 실제 값을 비교해 출력층의 오차를 계산합니다. 목표는 이때 계산된 출력층의 오차를 최소화시키는 것입니다. 이를 위해 ➋ 첫 번째 가중치를 수정하는 과정과 ➌ 두 번째 가중치를 수정하는 과정이 이어집니다.
예를 들어 첫 번째 가중치 중 하나인 w31을 업데이트한다고 합시다. 경사 하강법에서 배운 대로 w31을 업데이트하기 위해서는 오차 공식을 구하고 w31에 대해 편미분해야 합니다. 합성 함수의 미분이므로 체인 룰을 적용해 편미분을 구하고 이를 이용해 w31을 업데이트합니다. 이제 두 번째 가중치를 업데이트할 차례입니다. 예를 들어 w11을 업데이트한다고 하면 마찬가지로 오차 공식을 구하고 w11에 대해 편미분하면 됩니다. 그런데 여기서 문제가 생깁니다. 앞서 우리는 출력층의 결과와 실제 값을 비교해 오차를 얻었습니다. 하지만 은닉층은 겉으로 드러나지 않으므로 그 값을 알 수 없습니다. 따라서 오차를 구할 만한 적절한 출력 값도 없다는 것입니다.