深度学习——损失函数

157 阅读1分钟

分类任务

用得最多的是交叉熵损失函数 交叉熵(Cross-Entropy) 是衡量模型预测概率分布与真实分布差异的指标,值越小表示预测越准。

交叉熵损失函数 是 交叉熵 在机器学习中的具体应用形式。

  • 多分类任务
    • 使用softmax将logits转换为概率的形式
    • 多分类的交叉熵损失也叫做softmax损失
      • cce = tf.keras.losses.CategoricalCrossentropy()
  • 二分类任务
    • 使用sigmoid激活函数
    • 使用二分类的交叉熵损失函数
      • bce = tf.keras.losses.BinaryCrossentropy()

image.png

回归任务

  • 常用的损失函数有以下几种:

    • MAE损失(L1 Loss)
      • mae = tf.keras.losses.MeanAbsoluteError()

image.png

    • MSE损失(L2 loss)
      • tf.keras.losses.MeanSquaredError()

image.png

    • smooth L1 损失
      • tf.keras.losses.Huber()

image.png

从上图中可以看出,该函数实际上就是一个分段函数,在[-1,1]之间实际上就是L2损失,这样解决了L1的不光滑问题,在[-1,1]区间外,实际上就是L1损失,这样就解决了离群点梯度爆炸的问题。通常在目标检测中使用该损失函数。