损失函数

在深度学习中, 损失函数是用来衡量模型参数的质量的函数, 衡量的方式是比较网络输出和真实输出的差异,损失函数在不同的文献中名称是不一样的,主要有以下几种命名方式:

  • 损失函数
  • 代价函数
  • 目标函数
  • 误差函数

分类任务

多分类任务

在多分类任务通常使用softmax将logits转换为概率的形式,所以多分类的交叉熵损失也叫做
softmax损失,它的计算方法是:

$$
\mathcal{L} = – \sum_{i=1}^{n} y_i \log(S(f_\theta(x_i)))
$$

  • $\mathcal{L}$:表示损失值(Loss)。
  • $\sum_{i=1}^{n}$:表示对所有 $(n)$ 个样本进行求和。
  • $y_i$:表示第 $(i)$ 个样本的真实标签(采用 one-hot 编码)。
  • $S(f_\theta(x_i))$:
    • $f_\theta(x_i)$:模型对输入 $x_i$ 的输出(通常是未归一化的预测值,即 logits)。
    • $S(\cdot$):Softmax 函数,将模型输出转换为概率分布。

其中,y是样本x属于某一个类别的真实概率,而f(x)是样本属于某一类别的预测分数,S是
softmax函数,L用来衡量p,q之间差异性的损失结果。

  • softmax 函数
    $$ S(z_j) = \frac{\exp(z_j)}{\sum_{k=1}^{K} \exp(z_k)} $$
    其中 $z_j$ 是模型输出的第 $j$ 个元素,$K$ 是类别总数。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注