损失函数定义

损失函数:衡量模型输出与真实标签的差异。

L1_loss

平均绝对误差(L1 Loss):平均绝对误差(Mean Absolute Error,MAE)是指模型预测值f(x)和真实值y之间距离的平均值,公式如下:

  • 优点:无论对于什么样的输入值,都有着稳定的梯度,不会导致梯度爆炸问题,具有较为稳健性的解
  • 缺点:在中心点是折点,不能求导,梯度下降时要是恰好学习到w=0就没法接着进行了

L2_loss

均方误差MSE(L2 LOSS):均方误差(Mean Square Error,MSE)是模型预测值f(x)和样本真实值y之间差值平方的平均值,公式如下:

  • 优点:各点都连续光滑,方便求导,具有较为稳定的解
  • 缺点:不是特别的稳健,因为当函数的输入值距离真实值较远的时候,对应loss值很大在两侧,则使用梯度下降法求解的时候梯度很大,可能导致梯度爆炸

L1_loss 和L2_loss的区别

            L1_loss在零点不平滑,用的较少。一般来说,L1正则会制造稀疏的特征,大部分无用的特征的权重会被置为0。(适合回归任务,简单的模型,由于神经网络通常解决复杂问题,很少使用。)

        L2 loss:对离群点比较敏感,如果feature是unbounded的话,需要好好调整学习率,防止出现梯度爆炸的情况。l2正则会让特征的权重不过大,使得特征的权重比较平均。

(适合回归任务,数值特征不大,问题维度不高)

L1 Loss和L2 Loss都有缺点,那么如何解决这一问题呢?所以大神们就提出了 Smooth L1 Loss。

Smooth L1 Loss

平滑版本的L1 LOSS

从公式中我们可以看出,当预测值f(xi)和真实值yi差别较小的时候(绝对值差小于1),其实使用的是L2 loss;差别大的时候,使用的是L1 loss的平移。因此,Smooth L1 loss其实是L1 loss 和L2 loss的结合,同时拥有两者的部分优点:

  1. 真实值和预测值差别较小时(绝对值差小于1),梯度也会比较小(损失函数比普通L1 loss在此处更圆滑),可以收敛得更快。
  2. 真实值和预测值差别较大时,梯度值足够小(普通L2 loss在这种位置梯度值就很大,容易梯度爆炸)

三者区别

(1)L1 loss在零点不平滑,此处不可导,所以在w=0时没法接着梯度下降了,用的少
(2)L2 loss对离群点比较敏感,离群点处的梯度很大,容易梯度爆炸
(3)smooth L1 loss结合了L1和L2的优点,修改了零点不平滑问题,且比L2 loss对异常值的鲁棒性更强

深度学习中常见的损失函数(L1Loss、L2loss)相关推荐

  1. 深度学习中常见的损失函数

    文章来源于AI的那些事儿,作者黄鸿波 2018年我出版了<TensorFlow进阶指南 基础.算法与应用>这本书,今天我把这本书中关于常见的损失函数这一节的内容公开出来,希望能对大家有所帮 ...

  2. 经验 | 深度学习中常见的损失函数(loss function)总结

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:机器学习算法与自然语言处理出品    单位 | 哈工大SCIR实 ...

  3. yolo-mask的损失函数l包含三部分_【AI初识境】深度学习中常用的损失函数有哪些?...

    这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,有了目 ...

  4. 「AI初识境」深度学习中常用的损失函数有哪些?

    https://www.toutiao.com/a6695152940425937411/ 这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

  5. 【AI初识境】深度学习中常用的损失函数有哪些?

    这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中常见的损失函数(loss),覆盖分类,回归任务以及生成对抗网络,有了目 ...

  6. ML之模型文件:机器学习、深度学习中常见的模型文件(.h5、.keras)简介、h5模型文件下载集锦、使用方法之详细攻略

    ML之模型文件:机器学习.深度学习中常见的模型文件(.h5..keras)简介.h5模型文件下载集锦.使用方法之详细攻略 目录 ML/DL中常见的模型文件(.h5..keras)简介及其使用方法 一. ...

  7. 深度学习中常见的打标签工具和数据集资源

    深度学习中常见的打标签工具和数据集资源 一.打标签工具 1. labelimg/labelme 1.1 搭建图片标注环境(win10) (1) 安装anaconda3 (2) 在anaconda环境p ...

  8. 【语义分割】深度学习中常见概念回顾(全大白话解释,一读就能懂!)

    记录一下常见的术语! 一.epoch.batch size和iteration 1.1 Epoch 定义:一个epoch指代所有的数据送入网络中完成一次前向计算及反向传播的过程.简而言之:训练集中的全 ...

  9. wgan 不理解 损失函数_AI初识:深度学习中常用的损失函数有哪些?

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

最新文章

  1. 假期三天,我肝了万字的Java垃圾回收,看完你还敢说不会?
  2. 2018中国智能制造发展高峰论坛(上海站):把握智能制造升级
  3. 使用okhttp3执行post请求
  4. html 分割线_零基础网页设计/前端/html,第四课:前三课总结,以及单标签img
  5. IDEA开启Run Dashboard窗口
  6. java从url下载文件_Java从URL下载文件
  7. html设置外边距不合并,CSS外边距合并代码
  8. 华尔街日报评2010科技创新奖
  9. ping可以访问百度ip但不能访问百度域名|couldn't resolve host api.weixin.qq.com
  10. android tf卡检测工具,检测SD卡真假!安卓App一键识破SD卡真伪
  11. H5 调用摄像头进行拍照
  12. 【转】这是一篇很完整的元器件选型指南
  13. YOLO系列之yolo v1
  14. 《Linux驱动:Nor flash驱动看这一篇就够了》
  15. DXXcodeConsoleUnicodePlugin debug栏打印时自动把/ueo6转化成汉字
  16. 简单介绍一下经济学中 比较优势 的概念
  17. 习题 5.14 输入n个字符串,把其中以字母A打头的字符串输出。
  18. LCD屏幕的画点函数
  19. php复姓怎么排序,这些高大上的复姓,你喜欢哪个?
  20. WAMP启动报The configuration file contains a syntax error

热门文章

  1. 诺基亚Symbian算不算智能手机?
  2. clear 方法的解释及用法
  3. 计算机二级PS教学视频百度云,计算机二级ps考试题库完整教程文件.pdf
  4. Contrastive Learning Rivals Masked Image Modeling in Fine-tuning via Feature Distillation
  5. 大数据真的很牛B吗?不不不,10分钟让你读懂它
  6. python 淘宝滑块验证_python selenium 淘宝滑块验证码 问题
  7. php三元运算符怎么用,PHP三元运算符使用说明
  8. 基于UBAT工具的试验性应用
  9. php web程序漏洞,各种web程序漏洞
  10. ubuntu 安装thinkphp-swoole