본문 바로가기
Deep Learning (AI)/Training Loss

[Pytorch] L1-loss, L2-loss, KLD-loss 역전파

by 스프링섬머 2023. 7. 20.
728x90

L1 loss 역전파 및 언제 사용, 기대효과

L2 loss 역전파 및 언제 사용, 기대효과

+  L1-loss의 미분값이 어떻게 업데이트 되는가?

딥러닝에서 학습되는 가중치 Weight는 다음과 같이 업데이트 됩니다.

 

W = W - learning_rate * gradient_of_loss_with_respect_to_W

 

그렇기 떄문에, L1-loss로 인한 미분값 1 or -1의 값은 weight의 학습 뱡향을 바꾸게 됩니다.

 

예를 들어, 예측값 = 0.5, 정답값 = 0.7일 경우에 L1-loss의 gradient는 0.5-0.7 < 0 이므로, -1의 값이 됩니다. 이를, 가중치 업데이트에 반영하면, W = W + learning_rate * gradient_others (#others는 다른 loss에 의한 gradient 값)이 됩니다. 따라서, 가중치가 커지는 방향으로 업데이트 되어, 예측값 0.5가 더 커져 정답값에 가까워질 수 있도록 학습됩니다.

 

반면에, 예측값 = 0.9, 정답값 = 0.7일 경우에는 L1-loss의 gradient는 0.9-0.7 > 0 이므로, 1의 값이 됩니다. 이를 가중치 업데이트에 반영하면, W - learning_rate * gradient_others가 되므로, 가중치가 작아지는 방향으로 업데이트, 예측값 0.9가 정답값에 가까워질 수 있도록 하게 됩니다. 

 

728x90