船长黑板报所有文章和代码的最新版本均在
Captain1986/CaptainBlackboardgithub.com维护,知乎不做维护
您的Star是对我的鼓励
# 深度学习常用损失函数
## 引言
深度学习的任务本质上来说是拟合一个函数Fcnn,将输入的图片映射到对应的标签,这个映射的好坏需要用损失函数来表达,学习训练的过程也是由损失函数来指导。本文总结了一些在深度学习,更具体地说,实在卷积神经网络中常见的损失函数及其特性和使用场合。
**请注意:本文为了讨论方便,不严格区分目标函数,损失函数。**
**欢迎探讨,本文持续维护。**
## 实验平台
N/A
卷积神经网络常见的任务有两种,一种是分类(输出离散值,例如预测输入图片的类别),一种是回归(输出连续值,例如预测回归框的相对偏移量)。这两种任务都有各自适合的损失函数,**有时候是多种损失函数的组合**。这里为了方便,就以任务的不同来分别讨论各自的损失函数。
## 分类问题常用损失函数
### 交叉熵
一般来说,分类网络最后一层是用Softmax来输出预测各类别的概率值,KL散度是评价两个概率值的常见手段,交叉熵损失就是脱胎于KL散度,用来评价Softmax输出的概率分布与训练样本真值概率之间的差异性。而且,在优化的角度来讲,交叉熵损失也适合Softmax。关于交叉熵损失更详细的理解和说明,可以参见我前面写的[《为什么选交叉熵作为分类问题的损失函数》](Captain1986/CaptainBlackboard)。
### 合页损失函数
合页损失函数L = max(0, 1-x),其函数曲线如下图蓝色线所示,类似于一个合页而得名。合页损失函数起源于SVM,它的特点是对错分类的点,考虑到它距离分类平面的远近,距离越大则损失越大;但是对于能正确分类的样本,如果这些样本离分类平面的距离不够大的话,也会有一点损失。这样就强迫了在优化的时候,优化过程去寻找最大间