softmax
softmax的定义
假设有一个数组V,ViVi表示V中的第i个元素,那么这个元素的softmax值为:
SoftmaxLayer和SoftmaxLossLayer
softmaxLayer
softmax实际上就是logistic的扩展,后者只能二分类,前者则能多分类,实际上都是返回每一类的概率值。在caffe里面softmax的实现分为以下几步(加入输入到softmax里面的结点数为10):
1)找出输入的最大值,输入的每个变量减去最大值,取指数(e为底);
2)对1)中结果归一化,得出的结果就是每一类的分类概率。
softmaxLoss
实际上就是个代价函数,我们要让分类正确的概率最大,然后我们对这个概率取log对数,由于代价函数都是最小化,所以我们在log前面加个负号。caffe中都是以batch为单位进行训练的,所以计算loss的时候都是以batch为单位求和取平均。
softmax loss是我们最熟悉的loss之一了,分类任务中使用它,分割任务中依然使用它。softmax loss实际上是由softmax和cross-entropy loss组合而成,两者放一起数值计算更加稳定。这里我们将其数学推导一起回顾一遍。
令z是softmax层的输入,f(z)是softmax的输出,则
单个像素i的softmax loss等于cross-entropy error如下:
展开上式:
softmaxLoss
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/147278.html