当前位置:   article > 正文

【Caffe实践】损失函数解析_caffe改损失函数

caffe改损失函数

Caffe中的损失函数解析

导言

在有监督的机器学习中,需要有标签数据,与此同时,也需要有对应的损失函数(Loss Function)。

在Caffe中,目前已经实现了一些损失函数,包括最常见的L2损失函数,对比损失函数,信息增益损失函数等等。在这里做一个笔记,归纳总结Caffe中用到的不同的损失函数,以及分析它们各自适合的使用场景。

欧式距离损失函数(Euclidean Loss)

输入:

预测的值: y^[,+], 其中,它们的形状为:N×C×H×W

标签的值: y[,+], 其中,它们的形状为:N×C×H×W

输出:

损失的值:Loss=12Nn=1Ny^nyn22

适合场景:

回归,特别是其回归的值是实数值得时候。

对比损失函数(Contrastive loss)

输入:

形状:(N×C×1×1) 特征 a[,+]

形状:(N×C×1×1) 特征 b[,+]

形状:(N×1×1×1) 相似性 y[0,1]

输出:

形状:(1×1×1×1)

对比损失函数为: E=12Nn=1N(y)d+(1y)max(margind,0)

其中 d=||anbn||22.

适合场景:

可以用来训练Siamese网络

铰链损失函数(Hinge Loss)

输入:

形状:(N×C×H×W) 预测值 t[,+] 代表着预测 K=CHW 个类中的得分(注:CHW表示着在网络设计中,不一定要把预测值进行向量化,只有其拉直后元素的个数相同即可。) . 在SVM中, t 是 D 维特征XRD×N, 和学习到的超平面参数WRD×K 内积的结果 XTW
所以,一个网络如果仅仅只有全连接层 + 铰链损失函数,而没有其它的可学习的参数,那么它就等价于SVM

标签值:

(N×1×1×1) 标签 l, 是一个整数类型的数 ln[0,1,2,...,K1] 其代表在 K 个类中的正确的标签。

输出:

形状:(1×1×1×1)
损失函数计算: E=1Nn=1Nk=1K[max(0,1δ{ln=k}tnk)]p, Lp 范数 (默认是 p=1, 是 L1 范数; L2 范数,正如在 L2-SVM中一样,也有实现),

其中 δ{}={1成立1不成立

应用场景:

在一对多的分类中应用,类似于SVM.

信息增益损失函数(InformationGain Loss)

输入:

  1. 形状:(N×C×H×W) 预测值 p^[0,1] 内, 表示这预测每一类的概率,共 K=CHW 个类, 每一个预测 概率p^n 的和为1: nk=1Kp^nk=1.

  2. 形状:(N×1×1×1) 标签值: l, 是一个整数值,其范围是 ln[0,1,2,...,K1] 表示着在 K 个类中的索引。

  3. 形状:(1×1×K×K) (可选) 信息增益矩阵 H.作为第三个输入参数,. 如果 H=I, 则它等价于多项式逻辑损失函数

输出:

形状:(1×1×1×1)

计算公式: E=1Nn=1NHlnlog(p^n)=1Nn=1Nk=1KHln,klog(p^n,k), 其中 Hln 表示 行 ln of H.

多项式逻辑损失函数(Multinomial Logistic Loss)

输入:

形状:(N×C×H×W) 预测值 p^[0,1]范围中, 表示这预测的每一类的概率,共 K=CHW 个类. 每一个预测概率p^n 的和为1: nk=1Kp^nk=1.

形状:(N×1×1×1) 标签 l, 是一个整数值,其范围是 ln[0,1,2,...,K1] 表示着在 K 个类中的索引。

输出:

形状:(1×1×1×1) 计算公式: E=1Nn=1Nlog(p^n,ln)

应用场景:

在一对多的分类任务中使用,直接把预测的概率分布作为输入.

Sigmoid 交叉熵损失函数(Sigmoid Cross Entropy Loss)

输入:

  1. 形状: (N×C×H×W) 得分 x[,+], 这个层使用 sigmoid 函数 σ(.) 映射到概率分布 p^n=σ(xn)[0,1]

  2. 形状:(N×C×H×W) 标签 y[0,1]

输出:

  1. 形状:(1×1×1×1) 计算公式: E=1nn=1N[pnlogp^n+(1pn)log(1p^n)]

应用场景:
预测目标概率分布

Softmax+损失函数(Softmax With Loss)

输入:

  1. 形状:(N×C×H×W) 预测值 x[,+] 代表预测每个类的得分。 共 K=CHW 类. 这一层把得分通过softmax映射到概率分布 p^nk=exp(xnk)/[kexp(xnk)]

  2. 形状:(N×1×1×1) 标签值 是一个整数值,其范围是 ln[0,1,2,...,K1] 表示着在 K 个类中的索引。

输出:

  1. 形状:(1×1×1×1) 计算公式: E=1Nn=1Nlog(p^n,ln), 其中 p^ 为softmax输出的类概率。

应用场景:

在一对多分类中应用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/133274
推荐阅读
相关标签
  

闽ICP备14008679号