欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Caffe Loss层 - SoftmaxWithLossLayer

程序员文章站 2024-03-14 21:38:59
...

Caffe Loss层 - SoftmaxWithLossLayer

SoftmaxWithLossLayer 层可以分解为 SoftmaxLayer + MultinomialLogisticLoss 层的组合,不过其梯度计算更加数值稳定.

测试时,该网络层可以由 SoftmaxLayer 层代替.

1. SoftmaxLayer

Softmax 是 Logtistic 函数的一种泛化, 计算得到的 N 维向量满足:(1) 向量的每个元素值均在区间 [0, 1]; (2) 向量的所有元素之和为 1.

Softmax(xi)=exiiexi

返回每一个标签label 的概率.

# python 实现
import numpy as np

def softmax(x):
    y = np.exp(x)

    return y/np.sum(y)

2. MultinomialLogisticLoss

计算的是交叉熵 loss.

L=1NNn=1{log(predn,labeln)}

3. SoftmaxWithLoss

多分类损失函数, 交叉熵形式:

L=1NNn=1{log(Softmax(xn),labeln)}

Caffe Loss层 - SoftmaxWithLossLayer

[From caffe小问题(2):softmaxWithLoss]

Related

[1] - PyTorch - torch.nn.CrossEntropyLoss

相关标签: loss层 caffe