![]()
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识!
【转】Caffe中的损失函数解析
导言
在有监督的机器学习中,需要有标签数据,与此同时,也需要有对应的损失函数(Loss Function
)。
在Caffe
中,目前已经实现了一些损失函数,包括最常见的L2
损失函数,对比损失函数,信息增益损失函数等等。在这里做一个笔记,归纳总结Caffe
中用到的不同的损失函数,以及分析它们各自适合的使用场景。
欧式距离损失函数(Euclidean Loss)
- 输入:
预测的值:
其中,它们的形状为:
标签的值:
其中,它们的形状为: - 输出:
- 损失函数:
- 适合场景:
回归,特别适合其回归的值是实数值的时候。
对比损失函数(Contrastive loss)
- 输入:
形状:特征
形状:特征
形状:相似性
- 输出:
形状: - 损失函数:
其中 - 适合场景:
可以用来训练`Siamese`网络
铰链损失函数(Hinge Loss)
信息增益损失函数(InformationGain Loss)
- 输入:
形状:预测值
内,
表示这预测每一类的概率,共个类,
每一个预测 概率.
形状:
标签值: l, 是一个整数值,其范围是表示着在 K 个类中的索引。
形状:(可选)
信息增益矩阵H作为第三个输入参数,.如果,则它等价于多项式逻辑损失函数
- 输出:
形状: - 损失函数:
表示
.
多项式逻辑损失函数(Multinomial Logistic Loss)
- 输入:
形状:预测值
范围中,
表示这预测的每一类的概率,共个类.
每一个预测概率
形状:
标签 l,是一个整数值,其范围是表示着在 K 个类中的索引。
- 输出:
- 形状:
- 损失函数:
- 应用场景:
在一对多的分类任务中使用,直接把预测的概率分布作为输入.
Sigmoid 交叉熵损失函数(Sigmoid Cross Entropy Loss)
- 输入:
形状:得分
,
这个层使用 sigmoid 函数映射到概率分布
形状:标签
- 输出:
形状: - 损失函数:
- 应用场景:
预测目标概率分布
Softmax+损失函数(Softmax With Loss)
- 输入:
形状:预测值
代表预测每个类的得分。
共类.
这一层把得分通过softmax映射到概率分布
形状:
标签值是一个整数值,其范围是表示着在 K 个类中的索引。
- 输出:
形状: - 损失函数:
其中为
softmax
输出的类概率。 - 应用场景:
在一对多分类中应用。
总结
欧式距离损失函数:一般适用于回归问题,特别是回归的值是实数的时候。
对比损失函数:用来训练siamese
网络时候。Hinge loss
:在一对多的分类中应用,类似于SVM
。
多项式逻辑损失函数:一般在一对多的分类任务中应用,直接把预测的概率分布作为输入。sigmoid
交叉熵损失函数:预测目标概率分布。softmax
+损失函数:在一对多分类中的应用。
参考
来源:Caffe中的损失函数解析 http://www.aichengxu.com/other/10039373.htm