Loss(损失)

  • 与绝大多数的机器学习引擎一样,Caffe是由一个loss function(损失函数)驱动的。loss function也称为 error function,cost function或者objective function。loss function利用模型中的参数(比如模型中网络的weights-权重参数)运算得出一个(标量)结果,这个结果表明参数设置的badness,通过最小化loss function得出的badness,来优化算法,达到学习的目标。

  • Caffe中的loss是由Net的Forward pass计算得出的。每一个Layer根据输入的Blobs计算得到输出的Blobs。某些Layer的输出会被用于loss function计算badness。对于one-versus-all classification task(多分类问题),一个经典的loss function是SoftmaxWithLoss function(广义线性回归分析损失函数)。如下定义:

layer {name: "loss"type: "SoftmaxWithLoss"bottom: "pred"bottom: "label"top: "loss"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 在SoftmaxWithLoss function中,输出是一个标量,计算的是预测值(pred)与实际值(label)之间的平均误差(loss)。

Loss weights(损失权重)

  • 对于有多个Layer组成的Net而言(例如一个由SoftmaxWithLoss layer和EuclideanLoss layer组成的Net),loss weights(权重)用来表征不同Layer产生的loss的重要性。

  • Caffe里面的约定,Layer名称中以Loss结尾表示这是一个会产生loss的Layer,除此之外,其他的Layer只是单纯的用于中间计算。然而,任何一个Layer都可以被用于产生loss,如果为Layer产生的每一个output Blob添加一个属性:loss_weight: <float>的话。每一个Loss Layer都有一个隐含的loss weight,对于第一个top/output,loss weight是1,对于其他的top/output,loss weight是0;其他类型Layer隐含的loss weight都是0。所以上述的SoftmaxWithLoss layer也可以写成:

layer {name: "loss"type: "SoftmaxWithLoss"bottom: "pred"bottom: "label"top: "loss"loss_weight: 1
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 然而,反向迭代时,一个Layer可以赋予一个非零的loss weight,用于调整中间Layer产生的一些数据、参数。对于不止一个输出(top)的Layer(对应的有非零的loss weight),输出的loss是summing over all entries of the blob(对所有输出-blob的loss的和)。

  • Caffe最后输出的loss,是由Net中所有的loss加权得到的,如下所示(伪代码):

loss := 0
for layer in layers:for top, loss_weight in layer.tops, layer.loss_weights:loss += loss_weight * sum(top)

loss weight相关推荐

  1. L1/L2/smooth_l1_loss/center_loss+Dice Loss+focal loss+各种IOU loss+kl散度

    一.L1/L2/smooth_l1_loss/center_loss公式与代码 1.公式 L2公式: smooth_L1公式: 2.三种函数numpy代码实现 import numpy as np i ...

  2. 收藏 | 神经网络中,设计loss function有哪些技巧?

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:AI公园   知乎 链接:https://www.zhihu.com/question/268105631 A ...

  3. 技术干货 | 基于MindSpore更好的理解Focal Loss

    [本期推荐专题]物联网从业人员必读:华为云专家为你详细解读LiteOS各模块开发及其实现原理. 摘要:Focal Loss的两个性质算是核心,其实就是用一个合适的函数去度量难分类和易分类样本对总的损失 ...

  4. VGG Loss的Pytorch实现

    代码引自:https://github.com/bryandlee/stylegan2-encoder-pytorch/blob/master/train_encoder.py class VGGLo ...

  5. 损失函数focal loss深度理解与简单实现

    本文主要从二值交叉熵损失函数出发,通过代码实现的方式,去更好地理解Focal Loss对于数据不平衡问题.难易样本问题损失是如何权衡的. 1.  首先我们给出比较官方一些的代码,具体就是mmdet中的 ...

  6. Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因

    目录 1. Nan 和 INF 2.出现 Nan 和 INF 常见原因汇总 3.原因分析与解决方法 3.1.输入数据有误 3.2.学习率过高 --> 梯度爆炸进 --> Nan 3.3.损 ...

  7. 目标检测算法——YOLOv5/YOLOv7改进|将IOU Loss替换为EIOU Loss

    >>>深度学习Tricks,第一时间送达<<< 论文题目:<Focal and Efficient IOU Loss for Accurate Boundin ...

  8. 损失函数(Loss Function)在实际应用中如何合理设计

    目录 1 前言 2 回归(Regression)任务 2.1 均方误差MSE(mean squared error) 2.2 平均绝对误差MAE( mean absolute error) 2.3 H ...

  9. 在caffe中添加新层 L1 Loss layer

    本文地址:http://blog.csdn.net/ismarvellous/article/details/79069661,转载请注明出处. 本文涉及的所有完整文件可在我的github下载. 1. ...

  10. YOLO v1到YOLO v4(上)

    YOLO v1到YOLO v4(上) 一. YOLO v1 这是继RCNN,fast-RCNN和faster-RCNN之后,rbg(RossGirshick)针对DL目标检测速度问题提出的另外一种框架 ...

最新文章

  1. linux查看cpu运行速度,linux 性能篇 -- 查看cpu核数
  2. Redis 的各项功能到底解决了哪些问题?
  3. 【收藏】webpack configuration.module has an unknown property ‘loaders‘. These properties arevalid: 解决办法
  4. Python with...as... 语法深入解析
  5. 机器学习部分国内牛人
  6. 处理接口超时_架构设计|异步请求如何同步处理?
  7. Leetcode--621. 任务调度器
  8. python怎么导入os模块_python之os模块
  9. 某教授对“中国式科研”的酒后真言
  10. 1.7 编程基础之字符串 31 字符串p型编码 python
  11. 如何查看linux服务器的白名单,linux服务器iptables防火墙白名单添加方式
  12. Struts2 回顾总结
  13. fiddler4苹果手机证书无法使用的问题解决方案
  14. H5跳转支付宝小程序
  15. Excel如何将单元格中的多数字提取出来
  16. Java金额大写转换
  17. 腾讯通服务器保存传输文件,RTX腾讯通客户端使用小结
  18. React SSR - 01 SSR 介绍 和 快速开始
  19. 原来多多输入法生成器可以换图标
  20. 2018-12-6【训练日记】

热门文章

  1. conda 环境复制
  2. 实战:淘宝新品想抢占市场流量 分三步进行
  3. 魔镜mirror安卓版打不开_魔镜Mirror
  4. Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等
  5. 为什么鸿蒙不掉符,教你如何使用鸿蒙符 鸿蒙符的挽歌一波流的逆袭
  6. VSCode完美卸载
  7. python在线编辑器可视化_海龟编辑器(Python编辑器)
  8. Byte measurements
  9. 如何简单理解ngnix的反向代理
  10. TCP四次挥手的2MSL详解