Caffe Loss层 - SigmoidCrossEntropyLossLayer

Caffe Loss层 - SigmoidCrossEntropyLossLayer

1. SigmoidLayer

非线性激活函数——Sigmoid:

y=(1+exp(x))1=11+exp(x) y = ( 1 + e x p ( − x ) ) − 1 = 1 1 + e x p ( − x )

Caffe Loss层 - SigmoidCrossEntropyLossLayer_第1张图片

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

2. SigmoidCrossEntropyLossLayer

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

E=1nNn=1[pnlogp^n+(1pn)log(1p^n] E = − 1 n ∑ n = 1 N [ p n l o g p ^ n + ( 1 − p n ) l o g ( 1 − p ^ n ]

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

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

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

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

参数:

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

2.1 SigmoidCrossEntropyLoss层计算

Caffe Loss层 - SigmoidCrossEntropyLossLayer_第2张图片

Reference

[1] - caffe::SigmoidCrossEntropyLossLayer

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

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

你可能感兴趣的:(Caffe,CaffeLayer,Caffe)