Pytorch中的损失函数

L1损失函数:又称,L1 范数损失、最小绝对值偏差(LAD)、最小绝对值误差(LAE)

MAE也是指L1损失函数。 把目标值 yi 与模型输出(估计值) f(xi) 做绝对值得到的误差

通常用于回归任务、简单模型;torch.nn.L1Loss(),使用时先声明在输入参数使用,

loss_func = torch.nn.L1Loss()
loss = loss_func(log_like_hood, zeros)

L2损失函数:又称,L2 范数损失、最小均方值偏差(LSD)、最小均方值误差(LSE)

MSE也是指L2 Loss损失函数,PyTorch 中命名为torch.nn.MSELoss

把目标值 yi 与模型输出(估计值) f(xi) 做差然后平方得到的误差。

通常用于回归任务、数值特征不大、问题维度不高的问题。

平滑L1损失函数

当预测值和 ground truth 差别较小的时候(绝对值差小于1),使用 L2 Loss,梯度不至于太大。(损失函数相较L1 Loss 圆滑);差别大时,使用L1 Loss的平移,梯度值足够小(较稳定,不容易梯度爆炸)。同时拥有L2 Loss和L1 Loss的部分优点,适用于回归、特征有较大数值等大多数问题。

size_average=True or False

在pytorch中,所有的损失函数都带size_average参数,默认设置为True;为True的时候,计算出来的结果会对mini-batch取平均。为False的时候,结果的绝对值不会除以n。

参考:

PyTorch中的损失函数--L1Loss /L2Loss/SmoothL1Loss - 知乎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值