LLM损失函数面试会问到的

介绍一下KL散度

KL(Kullback-Leibler散度衡量了两个概率分布之间的差异。其公式为:
D K L ( P / / Q ) = − ∑ x ∈ X P ( x ) log ⁡ 1 P ( x ) + ∑ x ∈ X P ( x ) log ⁡ 1 Q ( x ) D_{KL}(P//Q)=-\sum_{x\in X}P(x)\log\frac{1}{P(x)}+\sum_{x\in X}P(x)\log\frac{1}{Q(x)} DKL(P//Q)=xXP(x)logP(x)1+xXP(x)logQ(x)1

写一下交叉熵损失函数,其物理意义是什么

交叉熵损失函数(Cross-Entropy Loss Function)是用于度量两个概率分布之间的差异的一种损失函数。在分类问题中,它通常用于衡量模型的预测分布与实际标签分布之间的差异

H ( p , q ) = − ∑ i = 1 N p i log ⁡ ( q i ) − ( 1 − p i ) log ⁡ ( 1 − q i ) H(p,q)=-\sum_{i=1}^Np_i\log(q_i)-(1-p_i)\log(1-q_i) H(p,q)=i=1Npilog(qi)(1pi)log(1qi)

注:其中,p 表示真实标签,q 表示模型预测的标签,N 表示样本数量。该公式可以看作是一个基于概率分布的比较方式,即将真实标签看做一个概率分布,将模型预测的标签也看做一个概率分布,然后计算它们之间的交叉熵。
物理意义:交叉熵损失函数可以用来衡量实际标签分布与模型预测分布之间的“信息差”。当两个分布完全一致时,交叉熵损失为0,表示模型的预测与实际情况完全吻合。当两个分布之间存在差异时,损失函数的值会增加,表示预测错误程度的大小。

KL散度与交叉熵的区别

KL散度指的是相对熵,KL散度是两个概率分布P和Q差别的非对称性的度量。KL散度越小表示两个分布越接近。
也就是说KL散度是不对称的,且KL散度的值是非负数。(也就是熵和交叉熵的差)

  • 交叉熵损失函数是二分类问题中最常用的损失函数,由于其定义出于信息学的角度,可以泛化到多分类问题中
  • KL散度是一种用于衡量两个分布之间差异的指标,交叉熵损失函数是KL散度的一种特殊形式。在二分类问题中,交叉熵函数只有一项,而在多分类问题中有多项。

多任务学习各loss差异过大怎么样去处理

多任务学习中,如果各任务的损失差异过大,可以通过动态调整损失权重、使用任务特定的损失函数、改变模型架构或引入正则化等方法来处理。目标是平衡各任务的贡献,以便更好地训练模型。

分类问题为什么用交叉熵损失函数而不用均方误差(MSE)

交叉熵损失函数通常在分类问题中使用,而均方误差(MSE)损失函数通常用于回归问题。这是因为分类问题和回归问题具有不同的特点和需求。
分类问题的目标是将输入样本分到不同的类别中,输出为类别的概率分布。交叉熵损失函数可以度量两个概率分布之间的差异,使得模型更好地拟合真实的类别分布。它对概率的细微差异更敏感,可以更好地区分不同的类别。此外,交叉熵损失函数在梯度计算时具有较好的数学性质,有助于更稳定地进行模型优化。
相比之下,均方误差(MSE)损失函数更适用于回归问题,其中目标是预测连续数值而不是类别。MSE损失函数度量预测值与真实值之间的差异的平方,适用于连续数值的回归问题。在分类问题中使用MSE损失函数可能不 太合适,因为它对概率的微小差异不够敏感,而且在分类问题中通常需要使用激活函数(如sigmoid或softmax)
将输出映射到概率空间,使得MSE的数学性质不再适用。
综上所述,交叉熵损失函数更适合分类问题,而MSE损失函数更适合回归问题

什么是信息增益

信息增益是在决策树算法中用于选择最佳特征的一种评价指标。在决策树的生成过程中,选择最佳特征来进行节点的分裂是关键步骤之一,信息增益可以帮助确定最佳特征。
信息增益衡量了在特征已知的情况下,将样本集合划分成不同类别的纯度提升程度。它基于信息论的概念,使用熵来度量样本集合的不确定性。具体而言,信息增益是原始集合的熵与特定特征下的条件熵之间的差异。
在决策树的生成过程中,选择具有最大信息增益的特征作为当前节点的分裂标准,可以将样本划分为更加纯净的子节点。信息增益越大,意味着使用该特征进行划分可以更好地减少样本集合的不确定性,提高分类的准确性。

多分类的损失函数(Softmax)

多分类的分类损失函数采用Softmax交叉熵(Softmax Cross Entropy)损失函数。Softmax函数可以将输出值归一化为概率分布,用于多分类问题的输出层。Softmax交叉熵损失函数可以写成:

− ∑ i = 1 n y i log ⁡ ( p i ) -\sum_{i=1}^ny_i\log(p_i) i=1nyilog(pi)

Softmax和交叉熵损失怎么计算,二值交叉熵呢?

softmax:

y = e f i ∑ j e f j y=\frac{e^{f_i}}{\sum_je^{f_j}} y=jefjefi

在这里插入图片描述

如果softmax的e次方超过float的值怎么办

将分子分母同时除以x中的最大值,可以解决。

x ~ k   =   e x k − max ⁡ ( x ) e x 1 − max ⁡ ( x ) + e x 2 − max ⁡ ( x ) + … + e x k − max ⁡ ( x ) + … + e x n − max ⁡ ( x ) \mathrm{\tilde{x}_k~=~\frac{e^{xk-\max(x)}}{e^{x_1-\max(x)}+e^{x_2-\max(x)}+\ldots+e^{x_k-\max(x)}+\ldots+e^{x_n-\max(x)}}} x~k = ex1max(x)+ex2max(x)++exkmax(x)++exnmax(x)exkmax(x)

内容概要:本文档详细介绍了Android高级控件的使用方法及其应用场景。首先讲解了下拉列表Spinner,包括其两种表现形式(下拉列表形式和对话框形式),并介绍了适配器Adapter的基础概念及其三种主要类型:数组适配器ArrayAdapter、简单适配器SimpleAdapter和基本适配器BaseAdapter,重点阐述了它们各自的特点和使用步骤。接着,文档对列表视图ListView进行了深入探讨,涉及分隔线样式、按压背景等属性的设置方式。随后,描述了网格视图GridView,详细解释了其拉伸模式的效果及取值。对于翻页视图ViewPager,不仅介绍了基本概念,还展示了翻页标签栏PagerTabStrip的具体应用,特别是用于创建启动引导页。最后,文档介绍了碎片Fragment的概念,强调了其在大屏设备上的优势,以及与ViewPager结合使用的实战案例——记账本应用。 适合人群:有一定Android开发基础,希望深入了解并掌握高级控件使用的开发者。 使用场景及目标:①掌握下拉列表、列表视图、网格视图、翻页视图等高级控件的实现细节;②理解适配器的作用及其不同类型的使用场景;③学会使用Fragment优化应用界面布局,提高用户体验;④通过具体案例(如记账本),将所学控件应用于实际开发中。 阅读建议:本文档内容详实,涵盖多种高级控件的理论知识与实践技巧。建议读者在学习过程中结合官方文档或相关资料进行对比研究,同时动手实践,以便更好地理解和掌握这些控件的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值