【caffe学习笔记】loss layer 损失层

Loss 设置了一个损失函数用来 比较网络的输出和目标值,通过最小化损失来驱动网络的训练。
网络的损失通过前向操作计算, 网络参数相对于损失函数的梯度则通过反向操作计算。

Softmax 损失
  • 层类型: SoftmaxWithLoss
softmax 损失层一般用于计算多类分类问题的损失, 等同于 softmax 层后跟随一个 多变量 Logistic 回归损失层(multinomial logistic loss),但能提供数值上更稳定的梯度。

平方和/欧式损失 Sum-of-Squares / Euclidean
  • 层类型: EuclideanLoss
Euclidean 损失层用来计算两个输入差值的平方和:



Hinge / Margin 损失
  • 层类型: HingeLoss
  • CPU implementation: ./src/caffe/layers/hinge_loss_layer.cpp
  • CUDA GPU implementation: 未实现
参数
Optional(可选的)
  • norm [default L1]:正则项类型,目前有L1和L2
输入
  • n * c * h * w 预测值
  • n * 1 * 1 * 1 真实标签
输出
  • 1 * 1 * 1 * 1 计算的损失
例子

# 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
  }
}

hinge 损失层用来计算 one-vs-all hinge 或者 squared hinge 损失。

交叉熵损失 Sigmoid Cross-Entropy
SigmoidCrossEntropyLoss

信息熵损失 Infogain
InfogainLoss

准确率 Accuracy and Top-k
Accuracy 用来计算网络输出相对目标值的准确率, 它实际上并不是一个损失层, 所以没有反传操作
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值