转自https://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,具体代表情况如下面的代码。

enum NormalizationMode {
// Divide by the number of examples in the batch times spatial dimensions.
// Outputs that receive the ignore label will NOT be ignored in computing the normalization factor.
FULL = ; // Divide by the total number of output locations that do not take the
// ignore_label. If ignore_label is not set, this behaves like FULL.
VALID = ; // Divide by the batch size.
BATCH_SIZE = ; //
NONE = ;
}

归一化case的判断:

(1) 如果未设置normalization,但是设置了normalize。 
则有normalize==1 -> 归一化方式为VALID 
normalize==0 -> 归一化方式为BATCH_SIZE

(2) 一旦设置normalization,归一化方式则由normalization决定,不再考虑normalize。

使用方法

layer {
name: "loss"
type: "SoftmaxWithLoss"
bottom: "fc1"
bottom: "label"
top: "loss"
top: "prob"
loss_param{
ignore_label:
normalize:
normalization: FULL
}
}
 

扩展使用

(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_loss的更多相关文章

  1. caffe层解读系列-softmax_loss

    转自:http://blog.csdn.net/shuzfan/article/details/51460895 Loss Function softmax_loss的计算包含2步: (1)计算sof ...

  2. 【Android】Sensor框架Framework层解读

    Sensor整体架构 整体架构说明 黄色部分表示硬件,它要挂在I2C总线上 红色部分表示驱动,驱动注册到Kernel的Input Subsystem上,然后通过Event Device把Sensor数 ...

  3. proposal_layer.py层解读

    proposal_layer层是利用训练好的rpn网络来生成region proposal供fast rcnn使用. proposal_layer整个处理过程:1.生成所有的anchor,对ancho ...

  4. anchor_target_layer层解读

    总结下来,用generate_anchors产生多种坐标变换,这种坐标变换由scale和ratio来,相当于提前计算好.anchor_target_layer先计算的是从feature map映射到原 ...

  5. caffe dropout解读

    先上caffe dropout_layer.cpp源码,如下: // LayerSetUp DCHECK(threshold_ > 0.); DCHECK(threshold_ < 1.) ...

  6. 【Android】Sensor框架HAL层解读

    Android sensor构建 Android4.1 系统内置对传感器的支持达13种,他们分别是:加速度传感器(accelerometer).磁力传感器(magnetic field).方向传感器( ...

  7. 修改caffe层的一般流程

    https://blog.csdn.net/u012273127/article/details/78701161

  8. slover层解读

    void Solver<Dtype>::UpdateSmoothedLoss(Dtype loss, int start_iter, int average_loss) { if (los ...

  9. caffe︱ImageData层、DummyData层作为原始数据导入的应用

    Part1:caffe的ImageData层 ImageData是一个图像输入层,该层的好处是,直接输入原始图像信息就可以导入分析. 在案例中利用ImageData层进行数据转化,得到了一批数据. 但 ...

随机推荐

  1. 解决IE报错:Locale 'chinese' is not well-formed,或RangeError: 区域设置“chinese”的格式不正确的问题

    接之前的此博客问题处理:js处理时间时区问题 由于 toLocaleString():据本地时间格式,把 Date 对象转换为字符串.总是会带有上午/下午,所以我加了参数:new Date('2019 ...

  2. GoCN每日新闻(2019-10-19)

    GoCN每日新闻(2019-10-19) Go 1.13中的错误处理 https://tonybai.com/2019/10/18/errors-handling-in-go-1-13 golang核 ...

  3. React中兄弟组件传值

    兄弟组件传值 实际上是间接的通过第三方来实现传值,举例,第一个儿子把值传给父亲,父亲在把这个值传给第二个儿子,这样就实现了兄弟组件传值 来看代码: 父组件代码 import React from 'r ...

  4. 2019暑假Java学习笔记(三)

    目录 面向对象 对象 构造方法 引用与对象实例 static final 封装 this 继承 super 方法重载与重写 多态 抽象类 接口 内部类 成员内部类 静态内部类 局部内部类 匿名内部类 ...

  5. 第10组 Beta冲刺(5/5)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 将数据分析以可视化形式展示出来 新增数据分析展示等功能API 服务器后端部署, ...

  6. 快速激活Navicat Premium 12

    Navicat Premium 12是一套数据库开发管理工具,支持链家MySQL.Oracle.SQL server等多种数据库,快速便捷创建.管理和维护数据库 一.下载 https://www.na ...

  7. THOR: Tracking Holistic Object Representations

    THOR: Tracking Holistic Object Representations BMVC 2019 Oral 2019-08-04 10:30:09 Paper: https://arx ...

  8. vue---使用Class

    在用vue-cli开发项目的时候,很多时候会用到类.具体的使用方法: config.js(使用类,还可以定义构造函数) class config { /** * 构造函数 * @param {stri ...

  9. js 秒的倒计时,将秒转换为时分秒显示

    在VUE 中的使用 {{moveMin}} // ...methods: { // 补0 formatBit (val) { val = +val ? val : ' + val }, // 秒转时分 ...

  10. Composer 国内加速:可用镜像列表大全

    查看地址1:https://learnku.com/composer/wikis/30594 查看地址2:https://learnku.com/articles/30258