caffe softmax layer
来源:互联网 发布:王诺诺 知乎 编辑:程序博客网 时间:2024/06/11 23:09
转自:http://blog.csdn.net/shuzfan/article/details/51460895
Loss Function
softmax_loss的计算包含2步:
(1)计算softmax归一化概率
(2)计算损失
这里以batchsize=1的2分类为例:
设最后一层的输出为[1.2 0.8],减去最大值后为[0 -0.4],
然后计算归一化概率得到[0.5987 0.4013],
假如该图片的label为1,则Loss=-log0.4013=0.9130
可选参数
(1) ignore_label
int型变量,默认为空。
如果指定值,则label等于ignore_label的样本将不参与Loss计算,并且反向传播时梯度直接置0.
(2) normalize
bool型变量,即Loss会除以参与计算的样本总数;否则Loss等于直接求和
(3) normalization
enum型变量,默认为VALID,具体代表情况如下面的代码。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
归一化case的判断:
(1) 如果未设置normalization,但是设置了normalize。
则有normalize==1 -> 归一化方式为VALID
normalize==0 -> 归一化方式为BATCH_SIZE
(2) 一旦设置normalization,归一化方式则由normalization决定,不再考虑normalize。
使用方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
扩展使用
(1) 如上面的使用方法中所示,softmax_loss可以有2个输出,第二个输出为归一化后的softmax概率
(2) 最常见的情况是,一个样本对应一个标量label,但softmax_loss支持更高维度的label。
当bottom[0]的输入维度为N*C*H*W时,
其中N为一个batch中的样本数量,C为channel通常等于分类数,H*W为feature_map的大小通常它们等于1.
此时我们的一个样本对应的label不再是一个标量了,而应该是一个长度为H*W的矢量,里面的数值范围为0——C-1之间的整数。
至于之后的Loss计算,则采用相同的处理。
- caffe中的softmax layer
- caffe softmax layer
- Caffe 代码解读之 softmax layer
- caffe中对于softmax layer的说明
- softmax layer是什么
- caffe layer
- caffe layer
- caffe softmax 层形状
- caffe softmax源码解读
- caffe中Softmax层
- caffe源码之 softmax层
- Caffe Convolutional Layer 记录
- Caffe: Softmax_Loss layer
- Caffe导读之layer
- caffe layer层详解
- Caffe Layer结构
- Caffe的Layer介绍
- caffe源码 layer分析
- 双击uppaal图标打不开
- Java常用日志框架介绍
- 事件
- org.apache.storm.zookeeper.KeeperException.SystemErrorException
- Spring -- 事务管理
- caffe softmax layer
- Javascript的编码风格(自我总结)
- 二叉树的深度优先遍历(递归、非递归),广度优先遍历(递归)
- VS2015编译Caffe2(目前已编译CPU+GPU+python+opencv)
- 高德地图生成静态图片,显示指定经纬度的地图
- eq
- JMS客户端发送小程序,服务端是WEBLOGIC配置的
- Android Studio Log.v和Log.d不显示的解决办法
- 趣写算法系列之--匈牙利算法