损失函数
发布日期:2021-05-14 14:48:24 浏览次数:26 分类:精选文章

本文共 1488 字,大约阅读时间需要 4 分钟。

损失函数(Loss Function)及其类型

什么是损失函数

损失函数是衡量模型输出与真实标签之间差异的度量标准。它通常用于机器学习模型训练过程中,用以量化预测结果与实际结果的误差,是优化模型性能的核心工具。

L1Loss(绝对误差损失)

L1Loss衡量的是预测值与真实值之间的绝对差值。其特点是对异常值(outliers)较为容忍,是线性敏感的。

NLLLoss(负对数似然损失)

NLLLoss常用于分类任务,通过最大似然估计原理计算损失。其优点是对类别分布表示具有较强的鲁棒性。

MSELoss(均方误差损失)

MSELoss是每个预测值与真实值差的平方的平均值。它对噪声敏感,且输出趋向于趋近于零。

CTCLoss(循环时间差损失)

CTCLoss专用于处理序列数据,衡量输出序列与输入序列的时间差异。其适用于序列建模任务。

PoissonNLLLoss(泊松分布对数似然损失)

PoissonNLLLoss针对数据分布为泊松分布的情况设计,常用于卡素性计数等场景。

KLDivLoss(Kullback-Leibler散度损失)

KLDivLoss用于衡量两个概率分布之间的相似度,广泛应用于生成对抗训练等领域。

BCELoss(对数似然损失适用于二元分类)

BCELoss专为二分类任务设计,通过对数似然函数进行校正,计算预测值与真实标签的差异。

BCEWithLogitsLoss(BCE-L的扩展版本)

BCEWithLogitsLoss建议使用逻辑函数(sigmoid)加余弦逻辑函数(softmax),适用于多分类任务。

MarginRankingLoss(间隔边际损失)

MarginRankingLoss用于排名任务,旨在最大化不同类别隔的余弦余弦倾斜损失。

HingeEmbeddingLoss(特征嵌入)

HingeEmbeddingLoss用于特征嵌入任务,通过最大化特征向量之间的边际间隔构建学习目标。

MultiLabelMarginLoss(多标签间隔损失)

MultiLabelMarginLoss扩展了间隔边际损失概念,用于多标签分类任务。

SmoothL1Loss(平滑绝对误差)

SmoothL1Loss是对绝对误差损失的一种改进版,使用了平滑处理避免斜率问题。

SoftMarginLoss(软间隔损失)

SoftMarginLoss通过SOFTMAX非线性函数弥补了HingeEmbeddingLoss的硬间隔限制,提供均匀损失。

MultiLabelSoftMarginLoss(多标签软间隔损失)

MultiLabelSoftMarginLoss扩展了软间隔损失到多标签任务中,允许每个标签独立建模。

CosineEmbeddingLoss(余弦嵌入损失)

CosineEmbeddingLoss基于余弦相似度度量,用于特征嵌入模型的训练,如FaceNet等。

MultiMarginLoss(多间隔损失)

MultiMarginLoss允许不同类别间隔不等,用于多模态分类等任务。

TripletMarginLoss(三元组间隔损失)

TripletMarginLoss基于三元组数据,优化模型使不同类别间隔满足特定关系。

TripletMarginWithDistanceLoss(带距离的三元组间隔损失)

TripletMarginWithDistanceLoss结合了点云和三元组构建,允许学习距离度量。

通过以上损失函数的理解和应用,可以根据具体任务需求选择最合适的损失函数配置,从而优化模型性能和训练稳定性。

上一篇:AdamW
下一篇:实践:从简单CMake说起

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月16日 20时05分32秒