HuberLoss#
- class torch.nn.HuberLoss(reduction='mean', delta=1.0)[source]#
创建了一个判别器,当绝对的逐元素误差小于 delta 时使用平方项,否则使用 delta 缩放的 L1 项。此损失结合了
L1Loss
和MSELoss
的优点;delta 缩放的 L1 区域使得损失对异常值比MSELoss
不那么敏感,而 L2 区域则在接近 0 的L1Loss
提供了平滑性。有关更多信息,请参阅 Huber loss。对于批次大小为 的批次,未约减的损失可描述为
替换
如果 reduction 不是 none,则
注意
当 delta 设置为 1 时,此损失等同于
SmoothL1Loss
。一般来说,此损失与SmoothL1Loss
相差一个 delta(也称为 Smooth L1 中的 beta)的因子。有关两个损失之间行为差异的更多讨论,请参阅SmoothL1Loss
。- 参数
- 形状
输入:,其中 表示任意数量的维度。
目标:,与输入形状相同。
输出:标量。如果
reduction
为'none'
,则 ,与输入形状相同。