大模型-损失函数篇
目录
一、介绍一下 KL 散度?
KL(Kullback-Leibler)散度衡量了两个概率分布之间的差异。其公式为:
D K L ( P ∥ Q ) = ∑ x P ( x ) log P ( x ) Q ( x ) D_{KL}(P \| Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)} DKL(P∥Q)=x∑P(x)logQ(x)P(x)
二、交叉熵损失函数写一下,物理意义是什么?
交叉熵损失函数(Cross-Entropy Loss Function)是用于度量两个概率分布之间的差异的一种损失函数。在分类问题中,它通常用于衡量模型的预测分布与实际标签分布之间的差异。
公式如下:
L = − ∑ i = 1 N y i log ( p i ) L = -\sum_{i=1}^{N} y_i \log(p_i) L=−i=1∑Nyilog(pi)
其中, y i y_i yi 表示真实标签, p i p_i pi 表示模型预测的概率, N N N 表示样本数量。
物理意义:交叉熵损失函数可以用来衡量实际标签分布与模型预测分布之间的“信息差”。当两个分布完全一致时,交叉熵损失为 0,表示模型的预测与实际情况完全吻合。当两个分布之间存在差异时,损失函数的值会增加,表示预测错误程度的大小。
三、KL 散度与交叉熵的区别?
KL 散度是两个概率分布 P P P 和 Q Q Q 差别的非对称性度量。KL 散度越小表示两个分布越接近。KL 散度是不对称的,且其值是非负的。
交叉熵可以表示为:
H ( P , Q ) = H ( P ) + D K L ( P ∥ Q ) H(P, Q) = H(P) + D_{KL}(P \| Q) H(P,Q)=H(P)+DKL(P∥Q)
其中, H ( P ) H(P) H(P) 是 P P P 的熵, D K L ( P ∥ Q ) D_{KL}(P \| Q) DKL(P∥Q) 是 KL 散度。
四、多任务学习各 loss 差异过大怎样处理?
多任务学习中,如果各任务的损失差异过大,可以通过以下方法处理:
- 动态调整损失权重
- 使用任务特定的损失函数
- 改变模型架构
- 引入正则化
目标是平衡各任务的贡献,以便更好地训练模型。
五、分类问题为什么用交叉熵损失函数不用均方误差(MSE)?
交叉熵损失函数通常在分类问题中使用,而均方误差(MSE)损失函数通常用于回归问题。
原因如下:
- 分类问题的输出是概率分布,交叉熵可以衡量两个概率分布之间的差异。
- 交叉熵对概率的细微差异更敏感,有助于更好地区分不同类别。
- 交叉熵在梯度计算时具有更好的数学性质,有助于更稳定地优化模型。
相比之下,MSE 更适用于回归问题,衡量预测值与真实值之间的平方差。在分类问题中使用 MSE 可能不够敏感,且不适合与 softmax 等激活函数配合使用。
六、什么是信息增益?
信息增益是在决策树算法中用于选择最佳特征的一种评价指标。
信息增益衡量了在特征已知的情况下,将样本集合划分成不同类别的纯度提升程度。它基于信息论的概念,使用熵来度量样本集合的不确定性。
信息增益公式为:
Information Gain = H ( D ) − H ( D ∣ A ) \text{Information Gain} = H(D) - H(D|A) Information Gain=H(D)−H(D∣A)
其中, H ( D ) H(D) H(D) 是原始数据集的熵, H ( D ∣ A ) H(D|A) H(D∣A) 是在特征 A A A 下的条件熵。
选择具有最大信息增益的特征作为当前节点的分裂标准,可以提高分类的准确性。
七、多分类的分类损失函数(Softmax)?
多分类问题中,通常使用 Softmax 交叉熵损失函数。
公式如下:
L = − ∑ i = 1 n y i log ( p i ) L = -\sum_{i=1}^{n} y_i \log(p_i) L=−i=1∑nyilog(pi)
其中, n n n 是类别数, y i y_i yi 是第 i i i 类的真实标签, p i p_i pi 是第 i i i 类的预测概率。
八、softmax 和交叉熵损失怎么计算,二值交叉熵呢?
Softmax 函数:
softmax ( z i ) = e z i ∑ j = 1 K e z j \text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}} softmax(zi)=∑j=1Kezjezi
多分类交叉熵损失:
L = − ∑ c = 1 M y i c log ( p i c ) L = -\sum_{c=1}^{M} y_{ic} \log(p_{ic}) L=−c=1∑Myiclog(pic)
其中:
- y i c y_{ic} yic 是指示函数(0 或 1),如果样本 i i i 的真实类别等于 c c c 取 1,否则取 0;
- p i c p_{ic} pic 是样本 i i i 属于类别 c c c 的预测概率。
二分类交叉熵损失:
L = − [ y log ( p ) + ( 1 − y ) log ( 1 − p ) ] L = -\left[ y \log(p) + (1 - y) \log(1 - p) \right] L=−[ylog(p)+(1−y)log(1−p)]
其中, p p p 表示样本预测为正类的概率。
九、如果 softmax 的 e e e 次方超过 float 的值了怎么办?
将分子分母同时除以输入向量中的最大值,可以防止数值溢出:
softmax ( z i ) = e z i − max ( z ) ∑ j = 1 K e z j − max ( z ) \text{softmax}(z_i) = \frac{e^{z_i - \max(z)}}{\sum_{j=1}^{K} e^{z_j - \max(z)}} softmax(zi)=∑j=1Kezj−max(z)ezi−max(z)
更多推荐



所有评论(0)