博客

  • 损失函数

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

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

    分类任务

    多分类任务

    在多分类任务通常使用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$ 是类别总数。