pytorch——损失函数之nn.L1Loss()和nn.SmoothL1Loss()

news2024/9/22 5:05:37

文章目录

  • 【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解
    • 1. L1 Loss(Mean Absolute Error,MAE)
      • 1.1 数学定义
      • 1.2 、使用场景与问题
      • 1.3 、如何使用
    • 2. L2 Loss(Mean Squared Error,MSE)
    • 3. Smooth L1 Loss
      • 3.2 使用场景与问题

今天讨论下:对称损失函数:symmetric regression function such as L1 or L2 norm,注意说说L1

【回归损失函数】L1(MAE)、L2(MSE)、Smooth L1 Loss详解

1. L1 Loss(Mean Absolute Error,MAE)

1.1 数学定义

平均绝对误差(MAE)是一种用于回归模型的损失函数。MAE 是目标变量和预测变量之间绝对差值之和,因此它衡量的是一组预测值中的平均误差大小,而不考虑它们的方向,范围为 0~∞。
在这里插入图片描述
上图为平均绝对误差函数图,其中目标真值为 100,预测范围在-10000 到 10000 之间,均方 误差损失(Y 轴)在预测值(X 轴)=100 处有最小值,范围为 0~∞。

主要问题:
导数为常数,在 Loss 函数最小值处容易震荡,导致难以收敛到最优值。

1.2 、使用场景与问题

https://atcold.github.io/pytorch-Deep-Learning/en/week11/11-1/

Use Case: L1 loss is more robust against outliers and noise compared to L2 loss. In L2, the errors of those outlier/noisy points are squared, so the cost function gets very sensitive to outliers.

Problem: The L1 loss is not differentiable at the bottom (0). We need to be careful when handling its gradients (namely Softshrink). This motivates the following SmoothL1Loss.

1.3 、如何使用

L1范数损失 L1Loss,计算 output 和 target 之差的绝对值。

torch.nn.L1Loss(reduction='mean')

参数:

    reduction-三个值,none: 不使用约简;mean:返回loss和的平均值;sum:返回loss的和。默认:mean。

2. L2 Loss(Mean Squared Error,MSE)

均方误差(MSE)是最常用的回归损失函数,它是目标变量和预测值的差值平方和。查看这篇文章pytorch——损失函数之nn.MSELoss,(Mean Squared Error,MSE) 均方误差(MSE)(squared L2 norm,平方L2范数)。它也被称为L2 Loss。

3. Smooth L1 Loss

从损失函数对 x 的导数可知,L1 损失函数对 x 的导数为常数,在训练后期,x 很小时, 如果学习率不变,损失函数会在最优值附近波动,很难收敛到最高的精度。L2 损失对 x 的 导数在 x 值很大时,其导数也非常大,在训练初期不稳定。Smooth L1 Loss 结合了 L1 和 L2 的优点:早期使用 L1,梯度稳定,快速收敛,后期使用 L2,逐渐收敛到最优解。

函数的临界点:absolute element-wise error falls below 1。
This function uses L2 loss if the absolute element-wise error falls below 1 and L1 loss otherwise.

在这里插入图片描述

Smooth L1 Loss 结合了 L1 和 L2 的优点:早期使用 L1,梯度稳定,快速收敛,后期使用 L2,逐渐收敛到最优解。

3.2 使用场景与问题

This is advertised by Ross Girshick (Fast R-CNN). The Smooth L1 Loss is also known as the Huber Loss or the Elastic Network when used as an objective function,.

Use Case: It is less sensitive to outliers than the MSELoss and is smooth at the bottom. This function is often used in computer vision for protecting against outliers.

Problem: This function has a scale (0.50.5 in the function above).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/494420.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[项目实战] 博客系统实现

水到渠成,冲呀冲呀 文章目录 1 准备工作1.1 在Idea创建一个Maven项目1.2 引入servlet,masql,jackson依赖1.3 准备web.xml文件 2. 数据库建表3. 封装DBUtil4. 创建实体类4.1 Blog类4.2 User类 5. 封装数据库的增删改查5.1 对于blog的操作5.1.1 增加操作5.1.2 根据blogId查询5.1 …

Notepad++配置C语言环境和C++环境

背景: Notepad是我们经常使用的编辑器,我们可以用它编译和运行各种类型的文档,其中就包括了C和C文档。但是编译和运行C或者C文档首先要配置编译环境,下面给大家分享一下如何在NotePad配置C/C编译环境。 工具: NoteP…

在全志V851S开发板上进行屏幕触摸适配

1.修改屏幕驱动 从ft6236 (删掉,不要保留),改为下面的 路径:/home/wells/tina-v853-open/tina-v853-open/device/config/chips/v851s/configs/lizard/board.dts(注意路径,要设置为自己的实际路…

docker-compose部署flume

一、docker-compose部署 1. 依赖的服务/组件 java8flume 1.9.0 2. 下载离线安装包 jdk8https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gzflume 1.9.0https://mirrors.tuna.tsinghua.edu.cn/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gzs…

【Python入门篇】——Python基础语法(标识符与运算符)

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句…

鸿蒙Hi3861学习六-Huawei LiteOS(软件定时器)

一、简介 软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器。当经过设定的Tick时钟计数值后,会触发用户定义的回调函数。定时精度与系统Tick时钟周期有关。 硬件定时器受硬件的限制,数量上不足以满足用户的实际需求。因此&#xff0…

【算法】什么是离散化

作者:指针不指南吗 专栏:算法篇 🐾人类做题的过程,就是个暴搜的过程🐾 文章目录 1.引入2.思路3.模板题 1.引入 特指有序、整数的离散化。 离散化,本质上是一种哈希,它在保持原序列大小关系的前…

肝一肝设计模式【六】-- 装饰器模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 肝一肝设计模式【三】-- 原型模式 传送门 肝一肝设计模式【四】-- 建造者模式 传送门 肝一肝设计模式【五】-- 适配器模式 传送门 文章目录 系列文章目录前言一、什么是装饰器模…

PLSQL Developer远程连接Oracle报错提示:“ORA-12541:TNS:无监听程序”的解决方案及思路

环境: 1、Windows Server 2、远程Oracle数据库:Oracle11g R2 3、PL/SQL程序:PL/SQL Developer Version 11.0.5.1790 (64 bit) 一、思路拆解: 此现象一般定位到远端的监听服务来找问题,在远端查看监听服务状态&#x…

DolphinScheduler 3.1.4详细教程

文章目录 第一章 DolphinScheduler介绍1.1 关于DolphinScheduler1.2 特性1.3 名词解释1.3.1 名词解释1.3.2 模块介绍 第二章 DolphinScheduler系统架构2.1 系统架构图2.2 架构说明该服务包含: 2.3 启动流程活动图2.4 架构设计思想2.4.1 去中心化vs中心化2.4.1.1 中心…

制作帮助中心过程中常见的误区与解决方法?

制作帮助中心是为了帮助用户了解产品和解决问题的重要手段。然而,在制作的过程中,我们可能会遇到一些误区,这些误区可能会导致我们的帮助中心无法达到预期的效果。因此,在本文中,我们将探讨制作帮助中心过程中常见的误…

今年产品经理这么卷,大家怎么面试的呢?

随着互联网行业的快速发展,产品经理这个职位变得越来越重要。产品经理需要具备多方面的能力,如市场调研、用户需求分析、产品设计、项目管理等等。因此,对于企业来说,招聘一名合适的产品经理是非常关键的。 而对于求职者来说&…

中国奇人周兴和——记四川星河建材有限公司董事长周兴和(中)

经商送礼 关押收审 从10多岁就开始闯荡社会的周兴和,可以说是社会大熔炉锻炼出来的奇人。他仅有小学文化程度,但是他的社会经验和社会知识却相当丰富,可以称得上是一个“社会学专家”。他口才超常,其处事能力、应变能力和综合能力…

ASEMI代理ADUM1250ARZ-RL7原装ADI车规级ADUM1250ARZ-RL7

编辑:ll ASEMI代理ADUM1250ARZ-RL7原装ADI车规级ADUM1250ARZ-RL7 型号:ADUM1250ARZ-RL7 品牌:ADI/亚德诺 封装:SOIC-8-150mil 批号:2023 引脚数量:8 工作温度:-40C~105C 安装类型&#…

4.7亿加元!爱立信和加拿大政府巨额投资量子计算

​ (图片来源:网络) 爱立信与加拿大政府的研发合作为期五年,项目价值超过4.7亿加元(约合23.9亿元人民币),主要投入在爱立信位于安大略省渥太华和魁北克省蒙特利尔的工厂。预计将创造数百个工作…

三十岁成功入职京东啦!

我是小九小九不爱喝酒: 自己工作5年后,我成功拿到了京东的offer。下面说下我是如何从传统行业到京东的经历,希望能对你有所帮助。 本科我学的是机械电子工程专业,2013年本科毕业后,同学们大多到各研究所从事智能机器人…

真题详解(归纳法)-软件设计(六十七)

真题详解(关系模型)-软件设计(六十六)https://blog.csdn.net/ke1ying/article/details/130495791 1、2018上半年 将小阶向大阶对奇,尾数右移动 解析: 0.23 * 10的2次方 0.22 *10的3次方 第一步:0.023*10的3次方,…

2022年收入增长23%,23年Q1大涨85%,上市后英方软件交出了一份亮眼的答卷

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 2023年4月26日,英方软件(688435)公布了上市后首个业绩报告,包括2022年度财报和2023年第一季度财报。披露财报显示,英方软件在2022年实现营业收入1.97亿元&#xff…

ZC706P试验PL_DDR3内存条的步骤方法

ZC706P 板卡完全兼容XILINX官方的ZC706,当然也支持PL外挂的1G的DDR3内存条,这个片BLOG我提供从官方下载的一个文档和一个项目,演示一下验证DDR3的步骤。 步骤1:准备好板子,安装好软件。 链接:https://pan.baidu.com/s…

《创造》人生旅程

上个月读完的这本《创造》,发现作者是iPod的创造者,让我回想起我刚工作时买的iPod。iPod确是惊艳之作,那时我一个月挣1000元,竟毫不犹豫花了2000就买了,并一直伴随我直到进入智能手机时代。《创造》会写什么&#xff1…