常用的计算机视觉中的损失函数有:
- 均方差损失(Mean Squared Error, MSE): 公式:MSE = 1/n * Σ(y-ŷ)² 原理:计算预测值与真实值之间的差距的平方的平均值,用于回归任务。 PyTorch代码实现:
loss = nn.MSELoss()
output = model(input)
loss_value = loss(output, target)
- 交叉熵损失(Cross Entropy Loss): 公式:CE = -Σ(y*log(ŷ)) 原理:衡量目标类别与预测类别之间的差异,用于多分类任务。通常与softmax激活函数一起使用。 PyTorch代码实现:
loss = nn.CrossEntropyLoss()
output = model(input)
loss_value = loss(output, target)
- IOU损失(Intersection over Union, IOU): 公式:IOU = (A ∩ B) / (A ∪ B) 原理:计算预测框和真实框之间的交并比,用于目标检测任务。 PyTorch代码实现:
def iou_loss(pred_boxes, target_boxes):
pred_area = (pred_boxes[..., 2] - pred_boxes[...,