Функция PyTorch torch.nn.L1Loss
Справочное руководство PyTorch torch.nn
torch.nn.L1LossЭто функция потерь L1 в PyTorch, также известная как средняя абсолютная ошибка (MAE).
Определение функции
torch.nn.L1Loss(reduction='mean')
Пример использования
Пример 1: Базовое использование
Пример
import torch
import torch.nn as nn
criterion = nn.L1Loss()
pred = torch.tensor([3.0, 4.0, 5.0])
target = torch.tensor([2.0, 4.5, 5.5])
loss = criterion(pred, target)
print("Потеря L1:", loss.item())
# Ручная проверка
manual = (pred - target).abs().mean()
print("Ручной расчёт:", manual.item())
import torch.nn as nn
criterion = nn.L1Loss()
pred = torch.tensor([3.0, 4.0, 5.0])
target = torch.tensor([2.0, 4.5, 5.5])
loss = criterion(pred, target)
print("Потеря L1:", loss.item())
# Ручная проверка
manual = (pred - target).abs().mean()
print("Ручной расчёт:", manual.item())
Пример 2: Сравнение с MSE
Пример
import torch
import torch.nn as nn
pred = torch.tensor([10.0, 20.0])
target = torch.tensor([0.0, 0.0])
print("L1 Loss (устойчива к выбросам):", nn.L1Loss()(pred, target).item())
print("MSE Loss (чувствительна к выбросам):", nn.MSELoss()(pred, target).item())
import torch.nn as nn
pred = torch.tensor([10.0, 20.0])
target = torch.tensor([0.0, 0.0])
print("L1 Loss (устойчива к выбросам):", nn.L1Loss()(pred, target).item())
print("MSE Loss (чувствительна к выбросам):", nn.MSELoss()(pred, target).item())
Сценарии использования
- Задачи регрессии: Требуют устойчивости
- Выбросы: зашумлённые данные
- L1-регуляризация: разреживание
Другие расширения