더북(TheBook)

W를 사용하여 예측 y_pred를 계산하고, 그다음 예측 y_pred와 타깃 y_true 사이의 손실 또는 차이를 계산합니다.

y_pred = dot(W, x) 
loss_value = loss(y_pred, y_true) 

모델 가중치 W를 사용하여 x에 대한 예측을 만듭니다.

예측이 얼마나 벗어났는지 추정합니다.

이제 그레이디언트를 사용하여 loss_value가 작아지도록 W를 업데이트하는 방법을 찾고 싶습니다. 어떻게 해야 할까요?

고정된 입력 xy_true가 있을 때 앞의 연산은 (모델의 가중치) W 값을 손실 값에 매핑하는 함수로 해석할 수 있습니다.

loss_value = f(W) ----- f는 W가 변화할 때 손실 값이 형성하는 곡선(또는 다차원 표면)을 설명합니다.

현재의 W 값을 W0라고 해 보죠. 점 W0에서 f의 도함수는 W와 크기가 같은 텐서 grad(loss_value, W0)입니다. 이 텐서의 각 원소 grad(loss_value, W0)[i, j]W0[i, j]를 수정했을 때 loss_value가 바뀌는 방향과 크기를 나타냅니다. 텐서 grad(loss_value, W0)W0에서 함수 f(W) = loss_value의 그레이디언트입니다. 또는 ‘W0 근처에서 W에 대한 loss_value의 그레이디언트’라고 말합니다.

편도함수

(입력으로 행렬 W를 받는) 텐서 연산 grad(f(W), W)는 스칼라 함수 grad_ij(f(W), w_ij)의 조합으로 표현할 수 있습니다. 이 스칼라 함수는 W의 다른 모든 가중치가 일정하다고 가정할 때 가중치 W[i, j]에 대한 loss_value = f(W)의 도함수를 반환합니다. 이때 grad_ijW[i, j]에 대한 f편도함수(partial derivative)라고 부릅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.