HuberLoss¶
- class torch.nn.HuberLoss(reduction='mean', delta=1.0)[source][source]¶
創建一個準則,如果絕對元素誤差小於 delta,則使用平方項;否則使用 delta 縮放的 L1 項。此損失結合了
L1Loss
和MSELoss
的優點;與MSELoss
相比,delta 縮放的 L1 區域使損失對離群值不太敏感,而 L2 區域在 0 附近提供了比L1Loss
更好的平滑性。有關更多資訊,請參閱 Huber loss。對於大小為 的批次,未縮減的損失可以描述為
其中
如果 reduction 不是 none,則
注意
當 delta 設定為 1 時,此損失等同於
SmoothL1Loss
。 一般來說,此損失與SmoothL1Loss
的差異在於 delta 因子(在 Smooth L1 中又稱為 beta)。 有關這兩種損失之間行為差異的更多討論,請參閱SmoothL1Loss
。- 參數
- 形狀
輸入: 其中 表示任意數量的維度。
目標: , 與輸入相同的形狀。
輸出: 標量。 如果
reduction
為'none'
, 則 , 與輸入相同的形狀。