损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。

在深度学习中,损失函数扮演着至关重要的角色。通过对最小化损失函数,使模型达到收敛状态,减少模型预测值的误差。因此,不同的损失函数,对模型的影响是重大的。接下来,总结一下,在工作中经常用到的损失函数。

常见场景对应损失函数

图像分类:交叉熵(CrossEntropyLoss)

目标检测:Focal loss,L1/L2损失函数,IOU Loss,GIOU ,DIOU,CIOU

图像识别:Triplet Loss,Center Loss,Sphereface,Cosface,Arcface

Pytorch损失函数摘录

1. L1loss

class torch.nn.L1Loss(size_average=None, reduce=None)

计算 output 和 target 之差的绝对值,可选返回同维度的 tensor 或者是一个标量。

2. MSELoss

class torch.nn.MSELoss(size_average=None, reduce=None, reduction='elementwise_mean')

计算 output 和 target 之差的平方,可选返回同维度的 tensor 或者是一个标量。

3. CrossEntropyLoss

class torch.nn.CrossEntropyLoss(weight=None, size_average=None, ignore_index=-

100, reduce=None, reduction='elementwise_mean')

将输入经过 softmax 激活函数之后,再计算其与 target 的交叉熵损失。

参考文档

https://www.cnblogs.com/dengshunge/p/12252820.html

本文为 陈华 原创,欢迎转载,但请注明出处:http://www.ichenhua.cn/read/241