pytorch学习笔记(十四)——LOSS及其梯度

  • Post author:
  • Post category:其他



LOSS及其梯度

1.MSE

𝑙𝑜𝑠𝑠 = ∑ [𝑦 − (𝑥𝑤 + 𝑏)] ²

𝐿2 − 𝑛𝑜𝑟𝑚 = ||𝑦 − (𝑥𝑤 + 𝑏)|| ²

𝑙𝑜𝑠𝑠 = 𝑛𝑜𝑟𝑚(𝑦 − (𝑥𝑤 + 𝑏)) ²

torch.norm(y-predict,2).power(2)

MSE求导:

𝑙𝑜𝑠𝑠 = ∑ [𝑦 − 𝑓𝜃(𝑥)] ²

∇𝑙𝑜𝑠𝑠 /∇𝜃 = 2 ∑ [𝑦 − 𝑓𝜃 (𝑥)] ∗ (∇𝑓𝜃(𝑥)/ ∇𝜃)

∇𝑓𝜃(𝑥)/ ∇𝜃 这部分取决于网络结构,如y=wx+b的结构形式

利用pytorch自动求导

Gradient API

torch.autograd.grad(loss, [w1, w2,…]) → [w1 grad, w2 grad…]

loss.backward() → w1.grad 、w2.grad

1.1autograd.grad

返回梯度信息list

1.2 loss.backward

梯度信息在 变量.grad 里查看

2.Softmax

函数

求导

i=j时,梯度为正;否则,梯度为负。



版权声明:本文为weixin_46753186原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。