【Caffe实践】损失函数解析

本文介绍了Caffe中常用的损失函数,包括欧式距离损失、对比损失、铰链损失、信息增益损失、多项式逻辑损失、Sigmoid交叉熵损失及Softmax损失等,并详细解释了它们的适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Caffe中的损失函数解析

导言

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

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

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

输入:

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

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

输出:

损失的值:Loss=12N  N n=1 y ^  n y n  2 2  

适合场景:

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

对比损失函数(Contrastive loss)

输入:

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

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

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

输出:

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

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

其中 d=||a n b n || 2 2  .

适合场景:

可以用来训练Siamese网络

铰链损失函数(Hinge Loss)

输入:

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

标签值:

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

输出:

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

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

应用场景:

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

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

输入:

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

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

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

输出:

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

计算公式: E=1N  n=1 N H l n  log(p ^  n )=1N  n=1 N  k=1 K H l n ,k log(p ^  n,k ) , 其中 H l n    表示 行 l n   of H .

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

输入:

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

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

输出:

形状:(1×1×1×1)  计算公式: E=1N  n=1 N log(p ^  n,l n  ) 

应用场景:

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

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

输入:

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

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

输出:

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

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

Softmax+损失函数(Softmax With Loss)

输入:

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

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

输出:

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

应用场景:

在一对多分类中应用。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值