모델의 각 파라미터에 대한 손실 함수의 기울기는 해당 파라미터가 잘못된 예측에 얼마나 기여했는지를 나타내게 되며, 경사 하강법을 적용하려면 모델을 구성하는 각 파라미터에 대해 손실함수를 미분한 결과(그래디언트)가 필요하다.
SGD로 손실함수 값의 미분 계산은 샘플 수를 줄여서 간단해졌지만, 모든 파라미터를 갱신 해야 하므로
모든 파라미터에 대한 미분 계산 필요 -> 복잡. 이를 위해 계산 그래프를 활용하여 모델 구조 표현
계산 그래프를 사용하면 편미분 계산이 가능하며, 중간 결과들을 보관하는 것이 가능
둘 이상의 연산이 수행된 합성 함수를 미분하기 위해, 연쇄 법칙(chain rule)을 사용한다.
합성 함수의 미분은 합성 함수를 구성하는 각 함수의 미분의 곱으로 나타낼 수 있다.
학습 중인 상황에는
학습 중인 상황에서 파라미터를 업데이트 하기 위해서는
역전파 (Backpropagation): 각 노드에서의 편미분을 이전까지의 결과에 곱해서 뒤로 전달
역전파 알고리즘: 신경망의 추론 방향과 반대되는 방향으로 순차적으로 오차에 의한 편미분을 수행하여 각 레이어의 파라미터를 업데이트하는 과정
구해야하는 것: Loss에 대한 파라미터별 편미분
Parameter Update
손실함수에 대한 편미분은 앞서 구한 편미분 값에 ∂L/∂f 만큼만 곱하면 끝.
∂L/∂f = 2(f-target) =-4
Parameter Update
현재 의 값은 -12로, 타겟으로 하는 -10과 다르다.
→ 각 파라미터에 대해 편미분한 값에 학습률을 곱한 값만큼
원래의 파라미터에 빼서(반대방향: 기울기가 감소하는 방향) 모델을 업데이트한다. ex) learning rate = 0.01