Loss/损失函数
文章平均质量分 89
Loss/损失函数
u013250861
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
交叉熵损失 (CE/Cross-Entropy Loss) vs 均方误差损失 (MSE/Mean Squared Error):适用场合详细对比
想象你在学习射箭:损失函数就是用来衡量"预测值"和"真实值"之间差距的数学工具。找到最优参数θ∗=argminθL(θ)\text{找到最优参数} \theta^* = \arg\min_{\theta} L(\theta)找到最优参数θ∗=argθminL(θ)其中:对于单个样本:LMSE=(y−y^)2L_{MSE} = (y - \hat{y})^2LMSE=(y−y^)2对于 nnn 个样本:LMSE=1n∑i=1n(yi−y^i)2L_{MSE} = \frac{1}{n}原创 2025-10-19 21:11:17 · 600 阅读 · 0 评论 -
分类任务场景下详细对比交叉熵损失 (CE/Cross-Entropy Loss) 与 均方误差损失 (MSE/Mean Squared Error)
对于多分类问题,假设有CCCSoftmax函数piezi∑j1Cezjpi∑j1Cezjeziziz_izi是模型对第iii类的原始输出(logits)pip_ipi是预测第iii类的概率∑i1Cpi1∑i1Cpi1(所有概率之和为1)交叉熵损失函数LCE−∑i1CyilogpiLCE−i1∑Cyilog。原创 2025-10-19 21:01:52 · 359 阅读 · 0 评论 -
Loss/损失函数07-DINO系列01:DINOv1
自监督学习(Self-Supervised Learning, SSL)是一种不需要人工标注数据的机器学习方法。类比理解传统监督学习: 像老师给你标准答案,你对照答案学习例如:给你一张猫的图片,告诉你"这是猫",你学习识别猫需要大量人工标注的数据(成本高)自监督学习: 像自己做练习题,通过题目本身的规律来学习例如:给你同一只猫的不同角度照片,你自己发现它们是同一个东西不需要人工标注(成本低)DINO的核心思想让模型通过观察同一张图片的不同视角(不同的裁剪、变换),自己学会提取图像的特征。原创 2025-10-18 18:21:47 · 933 阅读 · 0 评论 -
Loss/损失函数07-DINO系列02:DINOv2
在阅读本文档之前,先熟悉这些数学符号会让你更容易理解:例子:∑i=13i2=12+22+32=1+4+9=14\sum_{i=1}^{3} i^2 = 1^2 + 2^2 + 3^2 = 1 + 4 + 9 = 14i=1∑3i2=12+22+32=1+4+9=14重要性质:向量内积:x⋅y=∑i=1nxiyix \cdot y = \sum_{i=1}^{n} x_i y_ix⋅y=i=1∑nxiyi例如: [1,2,3]⋅[4,5,6]=1×4+2×5+3×6=32[1,2,3] \cdot原创 2025-10-18 18:22:49 · 762 阅读 · 1 评论 -
Loss/损失函数07-DINO系列03:DINOv3
在阅读本文档之前,先熟悉这些数学符号会让你更容易理解:例子:∑i=13i2=12+22+32=1+4+9=14\sum_{i=1}^{3} i^2 = 1^2 + 2^2 + 3^2 = 1 + 4 + 9 = 14i=1∑3i2=12+22+32=1+4+9=14重要性质:向量内积:x⋅y=∑i=1nxiyix \cdot y = \sum_{i=1}^{n} x_i y_ix⋅y=i=1∑nxiyi例如: [1,2,3]⋅[4,5,6]=1×4+2×5+3×6=32[1,2,3] \cdot原创 2025-10-18 18:24:58 · 657 阅读 · 0 评论 -
Loss/损失函数06:YOLO系列01 【v1-v2(“中心坐标+宽高+置信度+分类”都用MSE)➔v3(MSE+BCE)➔v4(CIoU+BCE)➔v5(CIoU+BCE&Focal Loss)】
损失函数(Loss Function)是衡量模型预测结果与真实结果之间差距的数学函数。在训练神经网络时,我们的目标是最小化损失函数,使模型预测越来越准确。可以把损失函数想象成考试的"扣分标准":YOLO需要同时完成三个任务:因此,YOLO的损失函数通常包含三个部分:YOLOv1将输入图像分成 S×SS \times SS×S 的网格(论文中 S=7S=7S=7),每个网格预测 BBB 个边界框(论文中 B=2B=2B=2)和 CCC 个类别概率(PASCAL VOC数据集 C=20C=20C=20)。每个边原创 2025-10-18 15:13:42 · 694 阅读 · 0 评论 -
Loss/损失函数06:YOLO系列02 【v6(CIoU+Varifocal+Anchor-free)➔v8(CIoU+Varifocal+Anchor-free+解耦分类和回归的头)➔v13】
损失函数(Loss Function)是衡量模型预测结果与真实结果之间差距的数学函数。在训练神经网络时,我们的目标是最小化损失函数,使模型预测越来越准确。可以把损失函数想象成考试的"扣分标准":YOLO需要同时完成三个任务:因此,YOLO的损失函数通常包含三个部分:YOLOv5在YOLOv4的基础上进行了大量工程化优化,虽然没有引入全新的损失函数,但在损失计算和权重调整上做了重要改进:YOLOv5的损失函数延续YOLOv4的设计,由三部分组成:LYOLOv5=Lbox+Lobj+Lcls\mathcal{原创 2025-10-18 17:01:11 · 293 阅读 · 0 评论 -
Loss/损失函数05:Triplet Loss(三元组损失)详解【拉近类内距离、拉远类间距离】【应用场景:人脸识别、图像检索、行人重识别、签名验证、语音识别】
相似的图像(如同一个人的不同照片)在特征空间中距离很近不相似的图像(如不同人的照片)在特征空间中距离很远传统的分类损失(如交叉熵)需要预先知道所有类别,但在人脸识别中,我们可能会遇到训练时没见过的新人脸。Triplet Loss通过学习一个嵌入空间(Embedding Space),使得相似样本靠近,不相似样本远离,从而解决这个问题。三元组结构目标DapαDanDapαDan损失函数L∥fa−fp∥2−∥fa−fn∥2αL∥fa−。原创 2025-10-17 17:49:54 · 955 阅读 · 0 评论 -
信息论:信息量➔信息熵(最短平均编码长度)➔交叉熵(用q分布表示p分布的平均编码长度)➔相对熵/KL散度=交叉熵-信息熵【当训练数据固定时,信息熵=0,则:交叉熵=KL散度】➔JS散度、F-散度
相对熵(relative entropy),又被称为Kullback-Leibler散度(Kullback-Leibler divergence)或信息散度(information divergence),是两个概率分布(probability distribution)间差异的非对称性度量 。在信息理论中,相对熵等价于两个概率分布的信息熵(Shannon entropy)的差值 。相对熵是一些优化算法,例如最大期望算法(Expectation-Maximization algorithm, EM)的.原创 2020-12-29 20:27:05 · 1685 阅读 · 1 评论 -
Loss函数综述【回归任务:MSE➔MAE➔Huber;分类任务:合页损失➔CE➔Focal损失;度量学习:三元组损失、对比损失;语音:CTC损失、SI-SDR损失;生成模型:KL散度】
整理机器学习时代、深度学习时代到大模型时代发展过程中各类经典与新型损失函数,涵盖NLP、CV、Audio三个领域。在机器学习和深度学习模型的训练过程中,“损失函数”扮演着至关重要的角色。损失函数(也称为目标函数或代价函数)用于度量模型预测与真实目标之间的差异。训练模型的过程实质上就是通过优化算法(如梯度下降)不断最小化损失函数,从而调整模型参数,以提高预测准确性。换言之,损失函数为模型学习提供了“方向”:模型希望在给定训练数据上取得损失最小的表现。损失函数的发展经历了多个阶段。从早期统计学习中的简单误差度量原创 2025-10-17 17:01:46 · 816 阅读 · 0 评论 -
对比学习(Contrastive Learning)【MoCo,SimCLR,BYOL,SimSiam,SimCS】
参考资料:Contrastive Learning(对比学习,MoCo,SimCLR,BYOL,SimSiam,SimCSE)原创 2022-01-29 23:15:00 · 1110 阅读 · 0 评论 -
CosentLoss 损失函数(余弦相似度损失)【用于ReRank重排模型(CrossAttention结构)】
Cosent Loss(余弦相似度损失)是一种用于学习句子嵌入表示的目标函数,其核心思想是通过优化句子对的而非绝对相似度值,从而构建更具判别性的语义空间。原创 2025-06-29 22:10:20 · 946 阅读 · 0 评论 -
InfoNCE(对比学习损失函数)在蒸馏训练中的作用
蒸馏训练(Knowledge Distillation, KD)是指通过从一个复杂的模型(教师模型)中学习知识,将其“蒸馏”到一个较小的模型(学生模型)中,以提高学生模型的性能和推理效率。InfoNCE 损失函数作为一种对比损失函数,近年来在蒸馏训练中被逐步应用,尤其在 自监督学习 和 对比学习 的框架下。通过使用 InfoNCE 损失,蒸馏训练不仅可以在训练过程中强化学生模型的特征表示,还能帮助学生模型更好地理解教师模型的决策方式。蒸馏训练的主要思想是通过让学生模型模仿教师模型的输出(通常是软标签),使学原创 2025-06-29 21:26:42 · 916 阅读 · 0 评论 -
Loss/损失函数04:InfoNCE(Information Noise-Contrastive Estimation)【对比学习损失】【用于Embedding模型(BiEncoder双塔结构)】
交叉熵损失:是分类任务的标准损失函数,通过 Softmax 将 logits 转换为概率分布,并最小化预测与真实标签之间的差异。它适用于监督学习任务。InfoNCE:是一种自监督学习中的损失函数,通过区分正负样本对的相似度来学习数据表示。它避免了 Softmax 计算的昂贵成本,适用于对比学习任务。构建一个类似于多类对比任务的框架,在其中正样本是“正确类别”,负样本是“错误类别”。在优化过程中平衡正负样本的相似度,避免过拟合。确保对比学习的目标能够最大化正样本的相似度并最小化负样本的相似度。原创 2025-06-29 21:15:15 · 1342 阅读 · 0 评论 -
CrossEntropyLoss()【多分类】和 BCEWithLogitsLoss() 【多标签分类】举例说明区别
在二分类任务中,模型的最后一层输出是一个单个值,表示正类的概率。nn.BCEWithLogitsLoss() 将模型的输出应用于 Sigmoid 函数,将其转换为一个在0到1之间的概率值。在多分类任务中,模型的最后一层输出是一个概率分布,表示每个类别的概率。CrossEntropyLoss() 计算模型输出与目标标签之间的交叉熵损失,用于衡量模型的预测与真实标签之间的差异。其中每个样本可以属于多个类别。在这种情况下,每个类别被视为一个独立的二分类问题,并且损失通过对每个类别计算二元交叉熵的平均值得到。原创 2025-05-26 12:09:40 · 498 阅读 · 0 评论 -
相似性度量算法总结
余弦相似度又叫夹角余弦二维空间中向量 𝐴(𝑥1,𝑦1) 与向量 𝐵(𝑥2,𝑦2) 的夹角余弦公式: 𝑐𝑜𝑠𝜃=𝑥1𝑥2+𝑦1𝑦2𝑥12+𝑦12𝑥22+𝑦22两个n维样本点 𝐴(𝑥11,𝑥12,...,𝑥1𝑛) 和 𝐵(𝑥21,𝑥22,...,𝑥2𝑛) 的夹角余弦为: 𝑐𝑜𝑠𝜃=𝑎·𝑏|𝑎||𝑏| ,即夹角余弦可用来衡量两个向量方向的差异;机器学习中,借用这一概念来衡量样本向量之间的差异。夹角余弦取值范围为[-1,1]。余弦越大表示两个向量的夹角越小,余弦越小表示两向量的夹角越大。原创 2024-03-28 00:09:00 · 1255 阅读 · 0 评论 -
谈谈距离度量方式:欧氏距离与余弦距离
在机器学习/深度学习的很多任务中,我们通常会面临着两个样本之间相似度的比较。通常常用的两种度量方式为欧氏距离与余弦距离,那么在什么时候用欧氏距离?什么时候用余弦相似度?他们之间的联系与区别在哪里呢?如上图所示,欧式距离是通过勾股定理来计算两个向量之间的距离:余弦相似度是计算两个向量之间夹角的余弦值:分析:首先谈谈区别,欧氏距离的范围是不确定的(没有经过归一化),得到的值可能很大(最小为0),值越大表示样本之间越不相似,直观上的理解就是度量两个向量点之间的绝对距离(用一根绳子去连接两个点,这根绳子的长度就是欧原创 2024-03-28 00:07:56 · 873 阅读 · 0 评论 -
torch.nn.function.softmax(logits,dim=-1)各参数代表什么意思?
是三维tensor的推广,其实三维tensor也可以是batchsize=1的四维tensor,只是dim的索引需要加1.:先随机生成一个(2,2,5,4)矩阵。其实随着dim增加(从0到3),相当于一层层剥开。)对应位置(相同BHW)求softmax。)对应位置(相同BCW)求Softmax。)对应元素(相同BCH)求softmax。:先随机生成一个(2,5,4)的矩阵,即。对应位置(相同CHW)求softmax。继续向里剥,也是最后一次。这时向里剥,每小块(继续向里剥,每小块(原创 2024-03-10 00:53:39 · 1469 阅读 · 0 评论 -
利用 device_map、torch.dtype、bitsandbytes 压缩模型参数控制使用设备
为了提升效率,最好是你的 device map 是按照 GPU 顺序,序贯的配置参数(例如不要在 GPU 0 上加载第一个全在,在 GPU 1 上再加载,然后权重又回到 GPU 0,交叉来回会降低模型推理速度)。目前无法将 44 位的模型上传到 HF 的 Hub 里,88 位的模型如果使用最新的包可以上传到 Hub 中。当读者没有足够GPU显存来加载完整的模型(因为都会按照先占满GPU显存,再占满CPU/内存资源,最后占据硬盘的顺序来完成模型加载),上面所有的选项得到的层和设备对应结果将会相同。原创 2024-03-06 01:18:37 · 1425 阅读 · 0 评论 -
Softmax扩展
在机器学习尤其是深度学习领域中,经常需要把一些输入映射到0-1之间的概率值。这个时候最先想到的就是sigmoid和softmax了,softmax是二分类函数sigmoid在多分类上的推广,目的就是将多分类结果以概率的形式展现出来。在数学,尤其是概率论和相关领域中,softmax函数又称归一化指数函数,是逻辑函数的一种推广。Softmax函数实际上是有限项离散概率分布的梯度对数归一化。原创 2024-03-06 01:06:03 · 493 阅读 · 0 评论 -
softmax
激活函数旨在帮助网络学习数据中的复杂模式,类似于人类大脑中的神经元模型,激活函数决定了向像一个传经元传递的数值。将其过程可视化如下图所示:而softmax是用于多分类问题的激活函数,在多分类问题中,超过两个类标签则需要类成员关系,对于长度为 𝐾 的任意实向量,Softmax可以将其压缩为长度为𝐾,值在(0,1)范围,并且向量中元素和为1的实向量。原创 2024-03-06 01:04:39 · 1187 阅读 · 0 评论 -
一文详解Softmax函数
提到二分类首先想到的可能就是逻辑回归算法。逻辑回归算法是在各个领域中应用比较广泛的机器学习算法。逻辑回归算法本身并不难,最关键的步骤就是将线性模型输出的实数域映射到[0, 1]表示概率分布的有效实数空间,其中Sigmoid函数刚好具有这样的功能。sigmoid激活函数例如使用逻辑回归算法预测患者是否有恶性肿瘤的二分类问题中,输出层可以只设置一个节点,表示某个事件A发生的概率为 𝑃(𝐴|𝑥) ,其中x为输入。原创 2024-03-06 01:02:50 · 2892 阅读 · 0 评论 -
log_softmax看值与概率的关系,值越大/小概率越大/小?
本文通过 log_softmax源码分析看值与概率的关系,log_softmax在中常见的有两个实现,一个是torch.nn.LogSoftmax(),一个是F.log_softmax()。太长不看可以直接点 3.小结。原创 2024-03-06 00:56:51 · 718 阅读 · 0 评论 -
Softmax简介
其本质上是一种归一化函数,可以将一组任意的实数值转化为在[0, 1]之间的概率值,因为softmax将它们转换为0到1之间的值,所以它们可以被解释为概率。只有当分类是互斥的,才可以在分类器中使用softmax函数,也就是说只能是多元分类(即数据只有一个标签),而不能是多标签分类(即一条数据可能有多个标签)。所有的指数元素加在一起,所以当每个指数元素除以这个和时,它将是它的一个百分比。说明我们的实现是没有问题的,但是还要说明一点,尽量使用框架提供的计算,因为这样会经过优化,速度会比我们手动实现快很多。原创 2024-03-06 00:55:14 · 990 阅读 · 0 评论 -
浅谈交叉熵及其求导过程
所以说,交叉熵权重学习的速率受到 [σ(�)−�] 的影响,也就是输出误差的控制,这样在误差较大时有更大的学习速度。定义代价函数 �=12[(�−�]2 ,且 σ(�)=11+�−�=��1+�� ,则对其求偏导有。求偏导,有 ∂�∂��=∂�∂��∂��∂��∂��∂��。(多分类对应为 �=−∑�=1������(��) )当 �=� 时有: ��=���/∑�=1����。损失函数为 �=−∑�=1������(��)则有 ∂�∂��=∂�∂�∂�∂�∂�∂��。原创 2024-01-03 01:13:02 · 555 阅读 · 0 评论 -
Pytorch:交叉熵损失(CrossEntropyLoss)以及标签平滑(LabelSmoothing)的实现
一般情况下我们都是直接调用Pytorch自带的交叉熵损失函数计算loss,但涉及到魔改以及优化时,我们需要自己动手实现loss function,在这个过程中如果能对交叉熵损失的代码实现有一定的了解会帮助我们写出更优美的代码。其次是标签平滑这个trick通常简单有效,只需要改改损失函数既可带来性能上的提升,通常与交叉熵配合食用。因此,本文基于这两个出发点,介绍基于Pytorch框架下的交叉熵损失实现以及标签平滑的实现。.........原创 2022-08-28 21:19:13 · 2182 阅读 · 0 评论 -
CV-CNN-2015:FaceNet(人脸特征向量提取、计算欧氏距离)【Triplet Loss(三元组损失):最大化不同人脸的距离&最小化相同人脸的距离】【可使用MobileNet当特征提取网络】
谷歌人脸识别算法,发表于 CVPR 2015,利用相同人脸在不同角度等姿态的照片下有高内聚性,不同人脸有低耦合性,提出使用 cnn + triplet mining 方法,在 LFW 数据集上准确度达到 99.63%。通过 CNN 将人脸映射到欧式空间的特征向量上,实质上:不同图片人脸特征的距离较大;通过相同个体的人脸的距离,总是小于不同个体的人脸这一先验知识训练网络。测试时只需要计算人脸特征Embedding,然后计算距离使用阈值即可判定两张人脸照片是否属于相同的个体。1、输入一张人脸图片。.......原创 2021-11-17 20:32:54 · 5040 阅读 · 2 评论 -
人脸识别-损失函数:概述【Softmax loss→Center Loss→L-Softmax Loss→SphereFace→CosFace→ArcFace】
L=−j=1∑Tyjlog(Sj)=−N1i∑log(∑jewjTxiewyiTxi)LSjSjjyjj1Ty1×TT11T−10110样本3真实类别为c1,c5loss3=−∑yi,c⋅log(pi,c)=−[y3,1⋅log(p3,1)+原创 2022-08-18 21:48:10 · 991 阅读 · 0 评论 -
Loss(一)-2010:Softmax Loss(Softmax激活函数 + “交叉熵损失函数”)【样本3真实标签为C₅,则样本3的损失:loss³=-log(ŷ₅³),ŷ₅表示预测为5的概率值】
一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等。例如我们的输入是 (x1,x2,x3,x4)=(1,2,3,4)(x_1,x_2,x_3,x_4)=(1,2,3,4)(x1,x2,x3,x4)=(1,2,3,4), 那么,Softmax就是对每个元素进行如下的操作:打印结果:1.2 对普通输入进行LogSoftmaxLogSoftmax就是对Softmax处理后的每个元素计算 logloglog 或 lnlnln 值:打印结果:2、对神经网络的输出进行Sof原创 2022-08-18 23:49:58 · 625 阅读 · 0 评论 -
Loss(二)-2016:Center Loss【使得类内距离缩小,类间距离扩大,有效的将各个类别区分开】【在欧式空间中惩罚人脸特征与他们对应的类别中心的距离来达到增加类内紧凑性】
Center Loss是通过将特征和特征中心的距离和softmax loss一同作为损失函数,使得类内距离更小,有点L1,L2正则化的意思。ECCV2016的文章《A Discriminative Feature Learning Approach for Deep Face Recognition》 主要为了进一步区分人脸。...原创 2022-08-22 21:18:17 · 782 阅读 · 0 评论 -
Loss(三)-2017:Large-Margin Softmax Loss【Margin:角度分类边界之间的空白角度区域;增大该区域可提高分类精度;缺陷:无法处理W_i≠W_j情况,训练不稳定】
尽管传统的softmax在卷积网络作为最常用的监督学习组件,但是他不能促进判别性强的特征的学习,在这篇论文里面首先提出一种基于Margin的L-Softmax损失函数,可以明确地促使学习到的特征具有类内的紧凑性和类间的可分离性。此外L-Softmax不仅可以调节所需的Margin,还可以避免过拟合的发生。这个损失函数可以通过经典的随机梯度下降算法优化。Large-Margin Softmax Loss(L-Softmax Loss)是为了提高类内特征的紧凑性,拉大类间特征的间隔(intra-class co原创 2022-08-18 23:13:47 · 954 阅读 · 0 评论 -
Loss(四)-2017:SphereFace:在L-Softmax Loss的基础上添加了两个限制条件:||W||=1、b=0
如在训练时两个类别的特征输入在同一个区域时发生了区域的重叠,如图左边。二分类中,设W1、W2分别是类别1与类别2的权重,W1与W2之间的夹角是θ12,输入的特征为x,那么权重W与输入特征x之间的夹角θ就决定了输入的特征属于那个类别,因为判断概率要p1>p2,则要cos(m*θ_1)>cos(θ_2),一般可以认为输入的特征输于类别1,则要满足m*θ1原创 2024-03-04 01:16:20 · 508 阅读 · 0 评论 -
Loss(五)-2018:Large Margin Cosine Loss(LMCL/CosFace)【SphereFace只对W归一化;CosFace对W、X都归一,在余弦空间中最大化分类界限】
均进行了归一化,不过为了使得训练能收敛,增加了一个参数。二者核心原理一致,只是在论文写作中的其他侧重点有所不同。进行归一化,CosFace中对。SphereFace中只对。原创 2022-08-18 23:29:55 · 1998 阅读 · 0 评论 -
Loss(六)-2018:ArcFace【对CosFace的改进】【ArcFace:直接在角度空间(angular space)中最大化分类界限;CosFace是在余弦空间中最大化分类界限】
特征提取通常可以认为是人脸识别最关键的步骤,我们希望提取到的特征更偏向于该人脸"独有"的特征。我们的网络和模型承担着提取特征的重任,优秀的网络和训练策略使模型更加健壮。在ResNet在2015年被提出后,越来越多优秀的网络基于ResNet进行优化更新也已取得卓越的成就,而在 网络结构进一步升级优化有困难的情况下,研究者逐步将目光转向损失函数。关于Loss对于网络的影响,最直观的就是训练中通过计算Loss反传梯度来实现对模型参数的更新。.....................原创 2022-08-16 08:09:44 · 1641 阅读 · 0 评论 -
CVPR2022 Oral | CosFace、ArcFace的大统一升级,AdaFace解决低质量图像人脸识
图像质量是一个属性的组合,表明一个图像如何如实地捕获原始场景。影响图像质量的因素包括亮度、对比度、锐度、噪声、色彩一致性、分辨率、色调再现等。这里人脸图像是本文的重点,可以在各种灯光、姿势和面部表情的设置下捕捉到的图像,有时也可以在极端的视觉变化下捕捉,如对象的年龄或妆容。这些参数的设置使得学习过的人脸识别模型很难完成识别任务。尽管如此,这项任务还是可以完成的,因为人类或模型通常可以在这些困难的环境下识别人脸。图1然而,当人脸图像质量较低时,根据质量程度的不同,识别任务变得不可行。原创 2024-03-02 00:46:45 · 1417 阅读 · 0 评论
分享