交叉熵损失函数原理详解

【Pytorch】交叉熵损失函数 CrossEntropyLoss() 详解 文章目录一、损失函数 nn.CrossEntropyLoss()二、什么是交叉熵三、Pytorch 中的 CrossEntropyLoss() 函数参考链接 一、损失函数 nn.CrossEntropyLoss() 交叉熵损失函数 nn.CrossEntropyLoss() ,结合了 nn.LogSoftmax() 和 nn.NLLLoss() 两个函数。 它在做分类(具体几类)训练的时候是非常有用的。 二、什么是交叉熵 交叉熵主要是用来判定 实际的输出与期望的输出的接近程度。 举个例子:在做分类训练的 阅读详情

交叉熵损失函数原理详解

之前在代码中经常看见交叉熵损失函数(CrossEntropy Loss),只知道它是分类问题中经常使用的一种损失函数,对于其内部的原理总是模模糊糊,而且一般使用交叉熵作为损失函数时,在模型的输出层总会接一个softmax函数,至于为什么要怎么做也是不懂,所以专门花了一些时间打算从原理入手,搞懂它,故在此写一篇博客进行总结,以便以后翻阅。


交叉熵简介

交叉熵是信息论中的一个重要概念,主要用于度量两个概率分布间的差异性,要理解交叉熵,需要先了解下面几个概念。


信息量

信息奠基人香农(Shannon)认为“信息是用来消除随机不确定性的东西”,也就是说衡量信息量的大小就是看这个信息消除不确定性的程度。

“太阳从东边升起”,这条信息并没有减少不确定性,因为太阳肯定是从东边升起的,这是一句废话,信息量为0。

”2018年中国队成功进入世界杯“,从直觉上来看,这句话具有很大的信息量。因为中国队进入世界杯的不确定性因素很大,而这句话消除了进入世界杯的不确定性,所以按照定义,这句话的信息量很大。

根据上述可总结如下:信息量的大小与信息发生的概率成反比。概率越大,信息量越小。概率越小,信息量越大。

设某一事件发生的概率为P(x),其信息量表示为:
I(x)=−log⁡(P(x)) I\left ( x \right ) = -\log\left ( P\left ( x \right ) \right ) I(x)=−log(P(x))
其中I(x)I\left ( x \right )I(x)表示信息量,这里log⁡\loglog表示以e为底的自然对数。


信息熵

信息熵也被称为熵,用来表示所有信息量的期望。

期望是试验中每次可能结果的概率乘以其结果的总和。

所以信息量的熵可表示为:(这里的XXX是一个离散型随机变量)
H(X)=−∑i=1nP(xi)log⁡(P(xi)))(X=x1,x2,x3...,xn) H\left ( \mathbf{X} \right ) = -\sum \limits_{i=1}^n P(x_{i}) \log \left ( P \left ( x_{i} \right ))) \qquad ( \mathbf{X}= x_{1},x_{2},x_{3}...,x_{n} \right) H(X)=−i=1∑n​P(xi​)log(P(xi​)))(X=x1​,x2​,x3​...,xn​)
使用明天的天气概率来计算其信息熵:

序号事件概率P信息量
1明天是晴天0.5−log⁡(0.5)-\log \left ( 0.5 \right )−log(0.5)
2明天出雨天0.2−log⁡(0.2)-\log \left ( 0.2 \right )−log(0.2)
3多云0.3−log⁡(0.3)-\log \left ( 0.3 \right )−log(0.3)

H(X)=−(0.5∗log⁡(0.5)+0.2∗log⁡(0.2)+0.3∗log⁡(0.3)) H\left ( \mathbf{X} \right ) = -\left ( 0.5 * \log \left ( 0.5 \right ) + 0.2 * \log \left ( 0.2 \right ) + 0.3 * \log \left ( 0.3 \right ) \right) H(X)=−(0.5∗log(0.5)+0.2∗log(0.2)+0.3∗log(0.3))

对于0-1分布的问题,由于其结果只用两种情况,是或不是,设某一件事情发生的概率为P(x)P\left ( x \right )P(x),则另一件事情发生的概率为1−P(x)1-P\left ( x \right )1−P(x),所以对于0-1分布的问题,计算熵的公式可以简化如下:
H(X)=−∑n=1nP(xilog⁡(P(xi)))=−[P(x)log⁡(P(x))+(1−P(x))log⁡(1−P(x))]=−P(x)log⁡(P(x))−(1−P(x))log⁡(1−P(x)) H\left ( \mathbf{X} \right ) = -\sum \limits_{n=1}^n P(x_{i}\log \left ( P \left ( x_{i} \right )) \right) \\ = -\left [ P\left ( x \right) \log \left ( P\left ( x \right ) \right ) + \left ( 1 - P\left ( x \right ) \right) \log \left ( 1-P\left ( x \right ) \right ) \right] \\ = -P\left ( x \right) \log \left ( P\left ( x \right ) \right ) - \left ( 1 - P\left ( x \right ) \right) \log \left ( 1-P\left ( x \right ) \right) H(X)=−n=1∑n​P(xi​log(P(xi​)))=−[P(x)log(P(x))+(1−P(x))log(1−P(x))]=−P(x)log(P(x))−(1−P(x))log(1−P(x))


相对熵(KL散度)

如果对于同一个随机变量XXX有两个单独的概率分布P(x)P\left(x\right)P(x)和Q(x)Q\left(x\right)Q(x),则我们可以使用KL散度来衡量这两个概率分布之间的差异。

下面直接列出公式,再举例子加以说明。
DKL(p∣∣q)=∑i=1np(xi)log⁡(p(xi)q(xi)) D_{KL}\left ( p || q \right) = \sum \limits_{i=1}^n p\left ( x_{i}\right ) \log \left ( \frac{p\left ( x_{i} \right )}{q\left ( x_{i} \right )} \right ) DKL​(p∣∣q)=i=1∑n​p(xi​)log(q(xi​)p(xi​)​)
在机器学习中,常常使用P(x)P\left(x\right)P(x)来表示样本的真实分布,Q(x)Q \left(x\right)Q(x)来表示模型所预测的分布,比如在一个三分类任务中(例如,猫狗马分类器),x1,x2,x3x_{1}, x_{2}, x_{3}x1​,x2​,x3​分别代表猫,狗,马,例如一张猫的图片真实分布P(X)=[1,0,0]P\left(X\right) = [1, 0, 0]P(X)=[1,0,0], 预测分布Q(X)=[0.7,0.2,0.1]Q\left(X\right) = [0.7, 0.2, 0.1]Q(X)=[0.7,0.2,0.1],计算KL散度:
DKL(p∣∣q)=∑i=1np(xi)log⁡(p(xi)q(xi))=p(x1)log⁡(p(x1)q(x1))+p(x2)log⁡(p(x2)q(x2))+p(x3)log⁡(p(x3)q(x3))=1∗log⁡(10.7)=0.36 D_{KL}\left ( p || q \right) = \sum \limits_{i=1}^n p\left ( x_{i}\right ) \log \left ( \frac{p\left ( x_{i} \right )}{q\left ( x_{i} \right )} \right ) \\ = p\left ( x_{1}\right ) \log \left ( \frac{p\left ( x_{1} \right )}{q\left ( x_{1} \right )} \right ) + p\left ( x_{2}\right ) \log \left ( \frac{p\left ( x_{2} \right )}{q\left ( x_{2} \right )} \right ) + p\left ( x_{3}\right ) \log \left ( \frac{p\left ( x_{3} \right )}{q\left ( x_{3} \right )} \right ) \\ = 1 * \log \left ( \frac{1}{0.7} \right ) = 0.36 DKL​(p∣∣q)=i=1∑n​p(xi​)log(q(xi​)p(xi​)​)=p(x1​)log(q(x1​)p(x1​)​)+p(x2​)log(q(x2​)p(x2​)​)+p(x3​)log(q(x3​)p(x3​)​)=1∗log(0.71​)=0.36
KL散度越小,表示P(x)P\left(x\right)P(x)与Q(x)Q\left(x\right)Q(x)的分布更加接近,可以通过反复训练Q(x)Q\left(x \right)Q(x)来使Q(x)Q\left(x \right)Q(x)的分布逼近P(x)P\left(x \right)P(x)。


交叉熵

首先将KL散度公式拆开:
DKL(p∣∣q)=∑i=1np(xi)log⁡(p(xi)q(xi))=∑i=1np(xi)log(p(xi))−∑i=1np(xi)log(q(xi))=−H(p(x))+[−∑i=1np(xi)log(q(xi))] D_{KL}\left ( p || q \right) = \sum \limits_{i=1}^n p\left ( x_{i}\right ) \log \left ( \frac{p\left ( x_{i} \right )}{q\left ( x_{i} \right )} \right ) \\ = \sum \limits_{i=1}^n p \left (x_{i}\right) log \left(p \left (x_{i}\right)\right) - \sum \limits_{i=1}^n p \left (x_{i}\right) log \left(q \left (x_{i}\right)\right) \\ = -H \left (p \left(x \right) \right) + \left [-\sum \limits_{i=1}^n p \left (x_{i}\right) log \left(q \left (x_{i}\right)\right) \right] DKL​(p∣∣q)=i=1∑n​p(xi​)log(q(xi​)p(xi​)​)=i=1∑n​p(xi​)log(p(xi​))−i=1∑n​p(xi​)log(q(xi​))=−H(p(x))+[−i=1∑n​p(xi​)log(q(xi​))]
前者H(p(x))H \left (p \left (x \right)\right)H(p(x))表示信息熵,后者即为交叉熵,KL散度 = 交叉熵 - 信息熵

交叉熵公式表示为:
H(p,q)=−∑i=1np(xi)log(q(xi)) H \left (p, q\right) = -\sum \limits_{i=1}^n p \left (x_{i}\right) log \left(q \left (x_{i}\right)\right) H(p,q)=−i=1∑n​p(xi​)log(q(xi​))
在机器学习训练网络时,输入数据与标签常常已经确定,那么真实概率分布P(x)P\left(x \right)P(x)也就确定下来了,所以信息熵在这里就是一个常量。由于KL散度的值表示真实概率分布P(x)P\left(x\right)P(x)与预测概率分布Q(x)Q \left(x\right)Q(x)之间的差异,值越小表示预测的结果越好,所以需要最小化KL散度,而交叉熵等于KL散度加上一个常量(信息熵),且公式相比KL散度更加容易计算,所以在机器学习中常常使用交叉熵损失函数来计算loss就行了。


交叉熵在单分类问题中的应用

在线性回归问题中,常常使用MSE(Mean Squared Error)作为loss函数,而在分类问题中常常使用交叉熵作为loss函数。

下面通过一个例子来说明如何计算交叉熵损失值。

假设我们输入一张狗的图片,标签与预测值如下:

*猫狗马
Label010
Pred0.20.70.1

那么loss
loss=−(0∗log⁡(0.2)+1∗log⁡(0.7)+0∗log⁡(0.1))=0.36 loss = -\left ( 0 * \log \left ( 0.2 \right ) + 1 * \log \left ( 0.7 \right ) + 0 * \log \left ( 0.1 \right )\right) = 0.36 loss=−(0∗log(0.2)+1∗log(0.7)+0∗log(0.1))=0.36
一个batch的loss为
loss=−1m∑i=1m∑j=1np(xij)log(q(xij)) loss = -\frac{1}{m}\sum \limits_{i=1}^m \sum \limits_{j=1}^n p \left (x_{ij}\right) log \left(q \left (x_{ij}\right)\right) loss=−m1​i=1∑m​j=1∑n​p(xij​)log(q(xij​))
其中m表示样本个数。


总结:

  • 交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。

  • 交叉熵在分类问题中常常与softmax是标配,softmax将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。


参考:

https://blog.csdn.net/tsyccnh/article/details/79163834


THE END

交叉熵损失函数基本概念及公式 对于二分类问题,模型的输出通常是一个标量,表示样本属于正类的概率。因此,在二分类的交叉熵损失函数中,我们只需要考虑一个概率值,即模型预测为正类的概率。具体来说,当真实标签为1时,我们关注模型预测为正类的概率;当真实标签为0时,我们关注模型预测为负类的概率。因此,二分类的交叉熵损失函数可以表示为:其中,y 表示真实标签,取值为 0 或 1;p 表示模型预测为正类的概率。而对于多分类问题,模型的输出通常是一个向量,表示样本属于各个类别的概率。因此,在多分类的交叉熵损失函数中,我们需要考虑所有类别的概率。 阅读详情

相关推荐

交叉熵损失函数整理

文章目录一.交叉熵函数的由来(推导)二.交叉熵函数直观理解三.交叉熵函数求导3.1Sigmoid + Cross-entropy3.2SoftMax + Cross-entropy四.交叉熵与SoftMax函数 一.交叉熵函数的由来(推导) 我们一共有m组已知样本, (x(i),y(i))(x^{(i)},y^{(i)})(x(i),y(i))表示第i组数据及其对应的类别标记, 其中x(i)=(1,x1i,x2i,x3i…xpi)x^{(i)} = (1, x^{i}_1,x^{i}_2,x^{i}_3…x

Kevin.wang 4828

交叉熵损失函数(Cross-Entropy Loss Function)

在处理机器学习或深度学习问题时,损失/成本函数用于在训练期间优化模型。目标几乎总是最小化损失函数。损失越低,模型越好。交叉熵损失是最重要的成本函数。它用于优化分类模型。对交叉熵的理解取决于对 Softmax 激活函数的理解。我在下面写了另一篇文章来涵盖这个先决条件考虑一个4类分类任务,其中图像被分类为狗、猫、马或猎豹。上图中,Softmax 将 logits 转换为概率。交叉熵的目的是获取输出概率(P)并测量与真值的距离(如下图所示)。对于上面的示例,类dog的所需输出是[1,0,0,0]

orDream的博客 1万+

交叉熵损失函数原理与深度学习应用详解

交叉熵是机器学习中衡量概率分布差异的核心指标,源于信息论中的编码效率概念。其核心原理是通过最小化真实分布与预测分布之间的编码长度差异,实现模型参数的优化。在深度学习领域,交叉熵损失因其梯度特性优于均方误差,成为分类任务的标准配置。从技术实现看,Softmax交叉熵通过指数归一化和对数概率计算,既保证了数值稳定性又获得优雅的梯度形式。典型应用场景包括图像分类、机器翻译等任务,配合标签平滑、加权交叉熵等变体,能有效应对类别不平衡、模型过度自信等工程挑战。PyTorch等框架通过内置的CrossEntropyLo

weixin_29034963的博客 209

交叉熵损失函数(CrossEntropy Loss)(原理详解)

        监督学习主要分为两类: 分类:目标变量是离散的,如判断一个西瓜是好瓜还是坏瓜,那么目标变量只能是1(好瓜),0(坏瓜) 回归:目标变量是连续的,如预测西瓜的含糖率(0.00~1.00)         分类主要分为: 二分类:如判断一个西瓜是好瓜还是坏瓜 多分类:如判断一个西瓜的品种,如黑美人,特小凤,安农二号等         而交叉熵损失函数是分类中最常用的损失

weixin_43786241的博客 3万+

交叉熵损失函数详解:从原理到实践的分类模型优化指南

交叉熵是信息论中衡量两个概率分布差异的核心概念,它通过计算用预测分布编码真实分布所需的额外比特数来量化分布差异。在深度学习领域,交叉熵损失函数因其与概率校准的天然适配性而成为分类任务的首选,它惩罚的是预测分布与真实分布的差异而非简单的分类错误。这种机制鼓励模型要么对得自信要么错得谨慎,有效避免了过度自信的预测。在实际工程应用中,二元交叉熵(BCE)适用于二分类和多标签分类场景,而多分类交叉熵则通过Softmax函数实现概率归一化。理解交叉熵的惩罚机制对于解决模型过拟合、处理类别不平衡以及优化训练过程具有重要

weixin_33158887的博客 316

交叉熵损失函数详解:从数学原理到PyTorch实战应用

交叉熵作为信息论中的核心概念,通过衡量两个概率分布之间的差异来评估模型预测的准确性。其基本原理是基于KL散度,能够有效惩罚预测分布与真实分布之间的不一致性。在机器学习领域,交叉熵损失函数具有重要的技术价值,它避免了梯度饱和问题,相比均方误差在分类任务中收敛更快、效果更好。这一特性使其广泛应用于图像分类、文本分类、目标检测等深度学习场景。特别是在PyTorch框架中,BCEWithLogitsLoss和CrossEntropyLoss两个实现分别针对二分类和多分类任务进行了优化,结合label_smoothi

weixin_33719619的博客 344

损失函数——交叉熵损失函数(CrossEntropy Loss)

损失函数——交叉熵损失函数(CrossEntropy Loss) 交叉熵函数为在处理分类问题中常用的一种损失函数,其具体公式为: 1.交叉熵损失函数由来 交叉熵是信息论中的一个重要概念,主要用于度量两个概率分布间的差异性。首先我们来了解几个概念。 1.1信息量 信息论奠基人香农(Shannon)认为“信息是用来消除随机不确定性的东西”。也就是说衡量信息量大小就看这个信息消除不确定性的程度。 “太阳从东方升起了”这条信息没有减少不确定性。因为太阳肯定从东面升起。这是句废话,信息量为0。 “六

weixin_45665708的博客 11万+

交叉熵损失函数原理与实现:从BCE到CE的惩罚机制详解

交叉熵作为信息论中的核心概念,通过衡量两个概率分布之间的差异来量化信息的不确定性。在机器学习领域,这一原理被转化为损失函数,用于评估模型预测分布与真实分布的偏离程度。其技术价值在于提供了一种基于概率信心的优化目标,不同于传统的均方误差,交叉熵更加关注模型预测的置信度准确性。在工程实践中,交叉熵损失因其优良的梯度性质而广泛应用于分类任务、概率预测和模型校准等场景。具体到实现层面,二分类交叉熵(BCE Loss)通过不对称惩罚机制对错误预测施加重罚,而多分类交叉熵(CE Loss)则专注于正确类别的概率优化。理

weixin_32496547的博客 315

交叉熵损失函数(Cross-Entropy Loss)

交叉熵损失函数是深度学习中分类问题常用的损失函数,特别适用于多分类问题。它通过度量预测分布与真实分布之间的差异,来衡量模型输出的准确性。中,softmax 和交叉熵是结合在一起实现的,因此你不需要手动调用 softmax。用于度量预测分布与真实分布之间的差异,是分类问题中的核心工具。结合 softmax,用来计算预测分布与真实分布之间的差异。结合了 softmax 和交叉熵计算,使用简单且高效。模型通常输出logits(未归一化的分数),例如。4、示例:在神经网络中的应用。在 PyTorch 的。

qq_39437730的博客 4万+

pytorch多标签分类交叉熵loss- 多标签分类交叉熵损失函数:原理与PyTorch实现详解

这个省去了很多多标签分类麻烦问题

东方佑 2531

手动安装SeuratData包中pbmc3k数据集的详细步骤与避坑指南

本文提供了手动安装SeuratData包中pbmc3k数据集的详细步骤与避坑指南。针对国内用户网络不稳定导致自动下载失败的问题,文章核心介绍了如何从错误信息中获取下载链接,使用浏览器或下载工具完成手动下载,并通过指定本地文件路径和参数在R中成功安装。该方法同样适用于SeuratData包中的其他数据集,是单细胞分析入门的必备生存技能。

weixin_29054399的博客 180

交叉熵损失函数原理详解(转发)

交叉熵损失函数原理详解 (自己收藏使用)

weixin_40264772的博客 686

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景

大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 2456

Cranium损失函数原理详解:交叉熵与均方误差的完整实现指南

Cranium 是一个用 C99 编写的**可移植、纯头文件(header-only)前馈神经网络库**,它内置了两种经典损失函数:**交叉熵(Cross-Entropy)与均方误差(Mean Squared Error)**。本文将带你从原理到源码细节,完整看懂这两者在 Cranium 中的实现方式、L2 正则化的融合技巧,以及它们如何驱动反向传播训练。 --- ## 一、损失函数是什么:神

gitblog_00297的博客 940

从仿真曲线到电路状态:用Cadence Virtuoso深度剖析CS放大器各个工作区(以电流源负载为例)

本文通过Cadence Virtuoso平台,深入剖析电流源负载CS放大器在不同工作区的表现,从仿真曲线解读电路状态。详细介绍了如何通过Vout-Vin直流扫描曲线判断MOS管工作区域(截止区、饱和区、线性区),并验证理论与仿真的一致性,提升模拟IC设计调试效率。

weixin_30940783的博客 435

高效IT运维报告编写指南:实战经验与模板分享

本文提供了一份全面的IT运维报告编写指南,涵盖实战经验与实用模板分享。文章详细解析了高效运维报告的核心要素,包括结构设计、数据收集自动化和可视化技巧,并提供了月度报告和故障分析报告模板。通过自动化工具和写作技巧,帮助团队提升报告质量,支持决策和问题追踪。

u5v6w7的博客 914

TensorFlow交叉熵损失函数详解:从数学原理到实战避坑指南

交叉熵是深度学习中分类任务的核心损失函数,其本质源于信息论,用于衡量预测概率分布与真实分布的差异。通过softmax与交叉熵的联合优化,模型能获得稳定的梯度信号,避免训练不收敛。在TensorFlow中,from_logits参数的正确配置直接决定数值稳定性与训练效率,配合label_smoothing和类别权重可进一步提升泛化能力。该技术广泛应用于图像分类、文本分类及多任务学习等场景。本文深入解析TensorFlow交叉熵的实现细节与常见陷阱,帮助开发者避开配置错误,提升模型训练效果。

weixin_33402252的博客 209

HWSD中国土壤数据库

T_PH_H2O: Real (酸碱度) T_CEC_CLAY: Real (粘性层土壤的阳离子交换能力);T_CEC_SOIL: Real (土壤的阳离子交换能力) T_BS: Real (基本饱和度);T_CACO3: Real (碳酸盐或石灰含量) T_CASO4: Real (硫酸盐含量);ADD_PROP: Real (土壤单元中与农业用途有关的特定土壤类型);T_USDA_TEX: Real (USDA土壤质地分类);T_REF_BULK: Real (土壤容重);

地球资源数据云的官方博客 4643

深度学习中的交叉熵损失函数:原理与应用详解

交叉熵是机器学习中衡量概率分布差异的核心指标,特别适用于分类任务。从信息论角度看,交叉熵结合了熵和KL散度的概念,能够有效评估预测分布与真实分布的差距。相比传统均方误差,交叉熵在分类问题中具有更合理的梯度特性,能避免sigmoid饱和区的梯度消失问题。工程实践中,交叉熵常与sigmoid(二分类)或softmax(多分类)激活函数配合使用,PyTorch和TensorFlow等框架都提供了优化实现。针对类别不平衡场景,可通过样本加权、Focal Loss等技术改进。该损失函数广泛应用于图像分类、医疗诊断、自

weixin_33730836的博客 419

华为OD机试真题 新系统【查找温度记录统计信息】

华为OD机试 新系统真题【查找温度记录统计信息】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【查找温度记录统计信息】多语言题解。

qq_45776114的博客 475

什么是 SAP Build Process Automation?

SAP Build Process Automation 是一款综合性的低代码工具,允许企业用户快速开发和自动化端到端业务流程。它整合了工作流管理、任务自动化和人工智能技术,提供了一个易于使用的平台,帮助企业更好地应对现代商业挑战。通过该工具,用户无需具备深厚的编程技能即可创建复杂的业务流程。例如,用户可以使用直观的拖放式界面设计流程、设置触发条件、定义任务分配规则,并通过内置的分析功能对流程效率进行评估。流程建模与设计:提供图形化界面,帮助用户直观地设计业务流程。任务自动化。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1253

交叉熵损失函数详解:从数学原理到工程化改进实践

在深度学习中,损失函数是模型优化的核心信号,而交叉熵作为分类任务最常用的损失函数,其原理源于信息论中的编码思想。它通过衡量预测分布与真实标签分布的差异,为模型提供干净且高效的梯度信号,相比均方误差能有效规避梯度饱和问题,因此在图像分类、目标检测、对比学习等场景中得到广泛应用。针对真实业务中的样本不平衡、过拟合与噪声标签等痛点,交叉熵衍生了加权交叉熵、标签平滑、Focal Loss、温度系数软化、InfoNCE等多种改进形式。从标准配置到调参经验,系统理解交叉熵的数学本质、数值实现与优化变体,能帮助开发者快速

weixin_29055137的博客 320

RAGFlow升级指南(纯小白都看得懂)

升级背景:RAGFlow项目原来的版本是0.17.0版本,在使用过程中,发现当知识库检索为空的时候并且使用到rerank模型的时候,就会输出错误的信息;为了解决这个版本问题,特意升级到最新的版本0.17.2(截止2025-3-14时最新版本就是0.17.2了)官方升级文档https://ragflow.io/docs/dev/upgrade_ragflow官方文档对小白还是不太友好,作者也是捣鼓了十多分钟,特出下面的升级指南前提:旧版本的RAGFlow项目是启动好了的1.在ragflow目录下执行(拉取最新

Ven%的博客 3593
上一篇: PyTorch基础知识总结
下一篇: AlexNet-Pytorch-Kaggle猫狗大战
Cigar丶
博客等级 码龄10年 234粉丝 76原创
评论 127
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值