损失函数(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://ichenhua.cn/read/241