HuberLoss#
- class torch.nn.HuberLoss(reduction='mean', delta=1.0)[原始碼]#
建立一個判別器,當元素之間的絕對誤差小於 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',則 ,形狀與輸入相同。