Caffe中的损失函数解析
2016-04-28 10:17
246 查看
Caffe中的损失函数解析
导言
在有监督的机器学习中,需要有标签数据,与此同时,也需要有对应的损失函数(Loss Function)。在Caffe中,目前已经实现了一些损失函数,包括最常见的L2损失函数,对比损失函数,信息增益损失函数等等。在这里做一个笔记,归纳总结Caffe中用到的不同的损失函数,以及分析它们各自适合的使用场景。
欧式距离损失函数(Euclidean Loss)
输入:预测的值: ŷ ∈[−∞,+∞],
其中,它们的形状为:N×C×H×W
标签的值: y∈[−∞,+∞],
其中,它们的形状为:N×C×H×W
输出:
损失的值:Loss=12N∑Nn=1∥ŷ n−yn∥22
适合场景:
回归,特别是其回归的值是实数值得时候。
对比损失函数(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=1N(y)d+(1−y)max(margin−d,0)
其中 d=∣∣∣∣an−bn∣∣∣∣22.
适合场景:
可以用来训练Siamese网络
铰链损失函数(Hinge Loss)
输入:形状:(N×C×H×W) 预测值 t∈[−∞,+∞] 代表着预测 K=CHW 个类中的得分(注:CHW表示着在网络设计中,不一定要把预测值进行向量化,只有其拉直后元素的个数相同即可。)
. 在SVM中, t 是
D 维特征X∈D×N,
和学习到的超平面参数W∈D×K 内积的结果 XTW
所以,一个网络如果仅仅只有全连接层 + 铰链损失函数,而没有其它的可学习的参数,那么它就等价于SVM
标签值:
(N×1×1×1) 标签 l,
是一个整数类型的数 ln∈[0,1,2,...,K−1] 其代表在 K 个类中的正确的标签。
输出:
形状:(1×1×1×1)
损失函数计算: E=1N∑n=1N∑k=1K[max(0,1−δ{ln=k}tnk)]p, Lp 范数
(默认是 p=1,
是 L1 范数; L2 范数,正如在 L2-SVM中一样,也有实现),
其中 δ{条件}={1−1成立不成立
应用场景:
在一对多的分类中应用,类似于SVM.
信息增益损失函数(InformationGain Loss)
输入:形状:(N×C×H×W) 预测值 p̂ ∈[0,1] 内,
表示这预测每一类的概率,共 K=CHW 个类,
每一个预测 概率p̂ n 的和为1: ∀n∑k=1Kp̂ nk=1.
形状:(N×1×1×1) 标签值: l,
是一个整数值,其范围是 ln∈[0,1,2,...,K−1] 表示着在 K 个类中的索引。
形状:(1×1×K×K) (可选)
信息增益矩阵 H.作为第三个输入参数,.
如果 H=I,
则它等价于多项式逻辑损失函数
输出:
形状:(1×1×1×1)
计算公式: E=−1N∑n=1NHlnlog(p̂ n)=−1N∑n=1N∑k=1KHln,klog(p̂ n,k),
其中 Hln 表示
行 ln of H.
多项式逻辑损失函数(Multinomial Logistic Loss)
输入:形状:(N×C×H×W) 预测值 p̂ ∈[0,1]范围中,
表示这预测的每一类的概率,共 K=CHW 个类.
每一个预测概率p̂ n 的和为1: ∀n∑k=1Kp̂ nk=1.
形状:(N×1×1×1) 标签 l,
是一个整数值,其范围是 ln∈[0,1,2,...,K−1] 表示着在 K 个类中的索引。
输出:
形状:(1×1×1×1) 计算公式: E=−1N∑n=1Nlog(p̂ n,ln)
应用场景:
在一对多的分类任务中使用,直接把预测的概率分布作为输入.
Sigmoid 交叉熵损失函数(Sigmoid Cross Entropy Loss)
输入:形状: (N×C×H×W) 得分 x∈[−∞,+∞],
这个层使用 sigmoid 函数 σ(.) 映射到概率分布 p̂ n=σ(xn)∈[0,1]
形状:(N×C×H×W) 标签 y∈[0,1]
输出:
形状:(1×1×1×1) 计算公式: E=−1n∑n=1N[pnlogp̂ n+(1−pn)log(1−p̂ n)]
应用场景:
预测目标概率分布
Softmax+损失函数(Softmax With Loss)
输入:形状:(N×C×H×W) 预测值 x∈[−∞,+∞] 代表预测每个类的得分。
共 K=CHW 类.
这一层把得分通过softmax映射到概率分布 p̂ nk=exp(xnk)/[∑k′exp(xnk′)]
形状:(N×1×1×1) 标签值
是一个整数值,其范围是 ln∈[0,1,2,...,K−1] 表示着在 K 个类中的索引。
输出:
形状:(1×1×1×1) 计算公式: E=−1N∑n=1Nlog(p̂ n,ln),
其中 p̂ 为softmax输出的类概率。
应用场景:
在一对多分类中应用。
相关文章推荐
- 使用Caffe复现DeepID实验
- Js中的继承
- 屏蔽右键菜单(JS)
- 错题集
- ArrayBuffer
- js正则函数match、exec、test、search、replace、split使用介绍集合
- Dwr3.0纯注解(纯Java Code配置)配置与应用浅析三之后端反向调用前端
- [leetcode 289] Game of Life
- js正则验证手机号
- 流行的更换图片的javascript函数集--MM_swapImage函数和MM_swapImgRestore函数
- location方法详解,获取地址栏URL请求参数,以对象形式保存
- HTML中label标签的作用
- js中实参和形参
- ios 找出导航栏下面的黑线(可隐藏,改变样式等)
- js的阻塞特性
- css新特性 box-flex/flex 弹性盒状模型
- holder.js生成占位图片
- Web前端初步——布局0
- js小技巧
- 引用js文件