HuberLoss#
- class torch.nn.modules.loss.HuberLoss(reduction='mean', delta=1.0)[原始碼]#
建立一個標準,當元素級的絕對誤差小於 delta 時使用平方項,否則使用 delta 縮放的 L1 項。這個損失結合了
L1Loss和MSELoss的優點;delta 縮放的 L1 區域使得損失比MSELoss對異常值不那麼敏感,而 L2 區域則提供了比L1Loss在 0 附近更平滑。有關更多資訊,請參閱 Huber loss。對於大小為 的批次,未約簡的損失可以描述為
替換
如果 reduction 不是 none,則
注意
當 delta 設定為 1 時,此損失等同於
SmoothL1Loss。通常,此損失與SmoothL1Loss相差 delta(也稱為 Smooth L1 中的 beta)的因子。有關兩個損失行為差異的更多討論,請參閱SmoothL1Loss。- 引數
- 形狀
輸入:,其中 表示任意數量的維度。
目標:,與輸入形狀相同。
輸出:標量。如果
reduction為'none',則 ,形狀與輸入相同。