Caffe Loss层 - SigmoidCrossEntropyLossLayer

1. SigmoidLayer

非线性**函数——Sigmoid:

y=(1+exp(x))1=11+exp(x)

Caffe Loss层 - SigmoidCrossEntropyLossLayer

该**函数随着值远离 0 ,会出现梯度消失.

2. SigmoidCrossEntropyLossLayer

计算交叉熵(cross-entropy) loss:

E=1nn=1N[pnlogp^n+(1pn)log(1p^n]

主要用于以概率形式预测目标值.

交叉熵 loss 用于度量两个概率分布之间的相似性.

该Loss层相比 SigmoidLayer + CrossEntropyLayer,梯度计算具有更好的数值稳定性.

Test 时,该网络层可以替换为 SigmoidLayer.

参数:

  • bottom - 长度为2的输入Blob
    • Size为 (N×X×H×W) ,采用 sigmoid 函数得到的概率预测值 p^n=sigmoid(xn)[0,1]
    • Size为 (N×X×H×W) ,目标值,targets
  • top - 长度为1的输出Blob
    • Size为 (1×1×1×1) ,计算的交叉熵loss值.

2.1 SigmoidCrossEntropyLoss层计算

Caffe Loss层 - SigmoidCrossEntropyLossLayer

Reference

[1] - caffe::SigmoidCrossEntropyLossLayer

[2] - “caffe里sigmoidCrossEntropyLoss层计算” - CaffeCN深度学习社区

[3] - 如何通俗的解释交叉熵与相对熵? - 知乎

相关文章: