HuberLoss¶
- class torch.nn.HuberLoss(reduction='mean', delta=1.0)[源代码]¶
创建一个标准,如果绝对逐元素误差低于delta,则使用平方项,否则使用delta缩放的L1项。这个损失结合了
L1Loss和MSELoss的优点;delta缩放的L1区域使得损失比MSELoss对异常值不那么敏感,而L2区域在L1Loss附近0处提供了平滑性。更多信息请参见Huber损失。对于一批大小为 ,未减少的损失可以描述为:
与
如果 reduction 不是 none,则:
注意
当 delta 设置为 1 时,此损失等同于
SmoothL1Loss。 通常情况下,此损失与SmoothL1Loss的差异在于 delta(在 Smooth L1 中称为 beta)的因子。 请参阅SmoothL1Loss以获取关于这两种损失行为差异的更多讨论。- Parameters
- Shape:
输入: 其中 表示任意数量的维度。
目标: , 与输入形状相同。
输出:标量。如果
reduction是'none',那么 ,与输入形状相同。