HuberLoss
-
class torch.nn.modules.loss.HuberLoss(reduction='mean', delta=1.0)[source] -
Создаёт функцию потерь, которая использует квадратичный член, если абсолютная поэлементная ошибка меньше delta, и масштабируемый delta член L1 в противном случае. Эта функция потерь объединяет преимущества
L1LossиMSELoss; область масштабируемого delta члена L1 делает функцию потерь менее чувствительной к выбросам, чемMSELoss, а область L2 обеспечивает гладкость вблизи 0 по сравнению сL1Loss. Дополнительную информацию см. в статье функция потерь Хьюбера.Для пакета размером не редуцированную функцию потерь можно описать следующим образом:
где
Если
reductionне равноnone, то:Примечание
При значении delta, равном 1, эта функция потерь эквивалентна
SmoothL1Loss. В общем случае эта функция потерь отличается отSmoothL1Lossв delta раз (также beta в Smooth L1). Дополнительное обсуждение различий в поведении этих двух функций потерь см. в описанииSmoothL1Loss.- Параметры:
-
-
reduction (str, необязательный) – Задаёт способ редукции выходных данных:
'none'|'mean'|'sum'.'none': редукция не применяется,'mean': сумма выходных данных делится на количество элементов в выходных данных,'sum': выходные данные суммируются. По умолчанию:'mean' - delta (float, необязательный) – Задаёт порог, при котором происходит переключение между функцией потерь L1, масштабируемой на delta, и функцией потерь L2. Значение должно быть положительным. По умолчанию: 1.0
-
reduction (str, необязательный) – Задаёт способ редукции выходных данных:
- Форма:
-
- Входные данные: , где означает любое количество измерений.
- Целевые данные: , той же формы, что и входные данные.
- Выходные данные: скаляр. Если
reductionравно'none', то , той же формы, что и входные данные.
Примеры
>>> loss = nn.HuberLoss() >>> input = torch.randn(3, 5, requires_grad=True) >>> target = torch.randn(3, 5) >>> output = loss(input, target) >>> output.backward()
-
forward(input, target)[source] -
Выполняет прямой проход.
- Тип возвращаемого значения:
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.modules.loss.HuberLoss.html