在caffe中,默认的以loss结尾的layer可以作为loss层,但是中间的层同样可以作为loss层.原因是这样的:

有一个和这个相关的参数:loss_weight,它决定了你的每个loss层占最好的loss的大小.

在以loss结尾的layer里面, loss_wight的大小为1. 在不是以loss结尾的layer里面,它的loss_weight为0.

layer {name: "loss"type: "SoftmaxWithLoss"bottom: "pred"bottom: "label"top: "loss"loss_weight: 1    #这个是默认的,可以不写的.
}

如果我们想在一个net里,包含多个loss层的话,我们就可以设置他们对应的loss_weight在大小,这就相当于一个权值.(如一个网络中,我们即用softmaxWithloss用来分类,也用EuclideanLoss用来计算重构输入的loss).

最后在计算总的loss的时候,它的输出可以用下面的伪代码表示:

loss := 0
for layer in layers:for top, loss_weight in layer.tops, layer.loss_weights:loss += loss_weight * sum(top)

softmax: 类型为:SoftmaxWithLoss

它的类型为:SoftmaxWithLoss.它其实就是一个 softmax层,然后跟了个multinomial logistic loss层. 它比单独用softmax层可以使梯度值更稳定.

sum-of-squares/也叫euclidean:

就是平时我们说的平方差代价函数.

hinge Loss: 类型:HingeLoss

最常用在 SVM 中的最大化间隔分类中等. hinge loss常分为1vs all hinge和squared hinge loss,即 L1 与L2hange.

# L1 Norm
layer {name: "loss"type: "HingeLoss"bottom: "pred"bottom: "label"
}# L2 Norm
layer {name: "loss"type: "HingeLoss"bottom: "pred"bottom: "label"top: "loss"hinge_loss_param {norm: L2}
}

sigmoid cross-entropy loss:

就是平常所见的交叉熵损失函数. 类型:SigmoidCrossEntropyLoss

infogain loss:信息增益损失函数: ,类型:InfogainLoss


caffe loss层相关推荐

  1. caffe layer层详解

    1.基本的layer定义,参数 1.基本的layer定义,参数 如何利用caffe定义一个网络,首先要了解caffe中的基本接口,下面分别对五类layer进行介绍 Vision Layers 可视化层 ...

  2. Caffe 激励层(Activation)分析

    Caffe_Activation 一般来说,激励层的输入输出尺寸一致,为非线性函数,完成非线性映射,从而能够拟合更为复杂的函数表达式激励层都派生于NeuronLayer: class XXXlayer ...

  3. caffe常见层及其prototxt设置

    输入: Convolution: layer {name: ""type: "Convolution"bottom: ""top: &quo ...

  4. Caffe Vision 层 - 卷积层 ConvLayer

    Caffe Vision 层 - 卷积层 ConvLayer Caffe 的视觉层一般采用 images 作为输入,输出另一种 images. 也可以是其它类型的数据和维度. images 可以是单通 ...

  5. caffe添加层:Focal Loss的caffe实现

    版权声明:本文为博主原创文章,转载请注明出处,谢谢.    https://blog.csdn.net/wfei101/article/details/79477542 原代码见:  https:// ...

  6. caffe data层_Caffe实现多标签输入,添加数据层(data layer)

    因为之前遇到了sequence learning问题(CRNN),里面涉及到一张图对应多个标签.Caffe源码本身是不支持多类标签数据的输入的. 如果之前习惯调用脚本create_imagenet.s ...

  7. caffe 添加自定义层(custom layer)

    在<剖析Caffe源码之Layer>可以知道layer是所有层的基类,由此类派生出各种不同的不同的层,其如下图所示: 由此扩展出了各种不同的层,基本能满足要求,但是有时候在搭建拓扑网络时, ...

  8. caffe常用层:Reduction层

    Layer type: Reduction 头文件位置:./include/caffe/layers/reduction_layer.hpp CPU 执行源文件位置: ./src/caffe/laye ...

  9. caffe data层_Caffe 学习:Eltwise层

    Caffe 学习:Eltwise层 Eltwise层的操作有三个:product(点乘), sum(相加减) 和 max(取大值),其中sum是默认操作. 1. PROD:按元素乘积 2. SUM:按 ...

最新文章

  1. java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...
  2. 灰鸽子敢说自己不是病毒?
  3. vue php 增删改查,vue的增删改查(简单版)
  4. 018_rate评分
  5. VTK:PolyData之TransformPipeline
  6. java 字段映射注解_mybatis注解开发中实体属性和表字段不对应问题
  7. Smart field 1 how is smartField controller loaded - how is main view defined in manifest.json
  8. 命令执行——命令执行漏洞及(四)
  9. One year ago begininginginginging!
  10. python直方图的拟合_从一组数据python中将两个高斯拟合成直方图
  11. tcp retransmission原因
  12. leetcode 151 python
  13. 2016年5月26日晚上(妙味课堂js基础-2笔记二(DOM))
  14. MySQL行级锁和表级锁
  15. 几种.NET平台数据持久化框架介绍
  16. 强制更改wifi名前缀CMCC
  17. Silverlight4 多页打印实现
  18. Spring Boot入门教程(零): yaml使用详解
  19. Java IO流关闭顺序
  20. 修改CentOS默认yum源地址提高下载速度

热门文章

  1. python之路day03--数据类型分析,转换,索引切片,str常用操作方法
  2. Linux 关闭网络管理服务
  3. proxomitron 个人代理工具
  4. iscroll5实现一个下拉刷新上拉加载的效果
  5. 使用PHP创建SOCKET服务
  6. 用户眼中的银行信息化-我的开博感言
  7. 深夜,在这个已不再喧嚣的城市中寻找到一片属于自己的宁静,仰望那片属于自己的星空……...
  8. OJ1013: 求两点间距离
  9. linux中pri=100,浅析Linux中PRI和NI的关系
  10. 信息学奥赛一本通 1026:空格分隔输出 | OpenJudge NOI 1.1 06