SigmoidCrossEntropyLoss与SoftmaxWithLoss使用区别

本文转载自这里

这里不列举两个loss所对应的数学表达式,网络资料很多,可自行google。在此只简单说明一下具体使用区别。

1. SigmoidCrossEntropyLoss结合sigmoid函数,多是应用于二分类或多目标分类。

    * 对于二分类,预测输入图像为1的概率,一张图像,其label个数也为1,保证该层的bottom[0]和bottom[1]的[N C H W]是一样的。

    * 对于多目标分类,其相当于预测该图像中是否**存在**某**些**目标,存在为1,不存在为0。此时,图像的label应该是one-hot形式。例如:目标类别数是5,对于训练图像,其label形式应该为`image.jpg 0 1 0 1 1`,每个位置分布代表是该图像是否存在相应的目标。同样,也保证该层的bottom[0]和bottom[1]的[N C H W]是一样的。

2. SoftmaxWithLoss结合softmax函数,多用于多类别分类。

    * 该loss预测的是网络最后的输出分别属于**多个类别的概率**,对于给定的label,其优化目标就是使得网络输出等于该label的概率值最大,因此,其bottom[0]和bottom[1]的C通道应该倍数关系(bottom[0]->shape[1] / bottom[1]-shape[1] = 类别的个数)

 

caffe中只定义了一种sigmoidcrossentropyloss,tensorflow中定义了4种不同的cross entropy loss,分别应用于不同的分类问题

  1. tf.nn.sigmoid_cross_entropy_with_logits
  2. tf.nn.softmax_cross_entropy_with_logits
  3. tf.nn.sparse_softmax_cross_entropy_with_logits
  4. tf.nn.weighted_cross_entropy_with_logits
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值