深度学习基础知识-损失函数
目录
1. 均方误差(Mean Squared Error, MSE)
2. 平均绝对误差(Mean Absolute Error, MAE)
3. Huber 损失
4. 交叉熵损失(Cross-Entropy Loss)
5. KL 散度(Kullback-Leibler Divergence)
6. Hinge 损失
7. 对比损失(Contrastive Loss)
8. 三元损失(Triplet Loss)
9. Focal loss损失
损失函数在深度学习模型训练中起着核心作用,它度量模型的预测输出与真实值的差距,并指导模型更新权重以缩小误差,从而实现更好的拟合。不同任务(如分类、回归、生成)常用不同的损失函数,以适应特定需求。
1. 均方误差(Mean Squared Error, MSE)
定义:
其中,y_i 表示真实值,表示模型的预测值,N 为样本数。
推导与解释:
- MSE 通过平方的方式将每个样本的预测误差放大,使得较大误差的影响更显著。这样做的目的是让模型在更新参数时优先关注误差较大的数据点,从而尽可能减少大误差。
- MSE 具有凸性,因此有利于使用梯度下降等优化算法找到全局最小值。
应用场景: MSE 常用于回归任务(如房价预测),适用于误差服从正态分布的数据。由于对较大误差敏感,因此对异常值多的场景效果不佳。
2. 平均绝对误差(Mean Absolute Error, MAE)
定义:
推导与解释:
- MAE 直接对误差取绝对值,避免了平方的操作。因此,MAE 相比 MSE 对异常值的敏感性更低,更关注整体误差的平均水平。
- MAE 损失函数的优化不如 MSE 简便,因为它的导数在 y_i =
处不可导,造成优化算法收敛相对缓慢。
应用场景: MAE 同样用于回归任务,尤其是误差分布中含有异常值的场景。
3. Huber 损失
Huber 损失结合了 MSE 和 MAE 的优点,使模型对误差具有一定的鲁棒性。
定义:
其中 $\delta$ 是超参数。
推导与解释:
- 当误差小于
时,Huber 损失与 MSE 相同,这时候我们主要关注小误差的细致调整;
- 当误差大于
时,Huber 损失与 MAE 相似,减少了异常值对模型的影响,使得损失函数更鲁棒。
应用场景: Huber 损失常用于回归问题且数据中含有异常值,它的鲁棒性使其在异常值较多的数据集上效果良好。需要通过交叉验证选择合适的 参数。
4. 交叉熵损失(Cross-Entropy Loss)
二分类交叉熵:
多分类交叉熵:
其中 C 为类别数, 为真实标签(1 表示第 i 个样本属于第 j 类,0 表示不属于),
为预测的概率分布。
推导与解释:
- 交叉熵计算的是模型输出分布与真实分布的距离,当模型预测越接近真实分布时,交叉熵值越小。
- 通过 softmax 函数将模型的原始输出转化为概率分布,使得该损失函数适用于分类任务。
应用场景: 交叉熵广泛应用于分类任务(如图像分类、文本分类)。它通过最大化模型预测的概率使模型学到更具区分性的特征。
5. KL 散度(Kullback-Leibler Divergence)
定义:
推导与解释:
- KL 散度度量两个概率分布 P 和 Q 的差异性,值越小说明两个分布越接近。
- KL 散度在生成模型中用于度量生成分布和真实分布的相似性,通过最小化 KL 散度可以生成与真实分布更接近的数据。
应用场景: 常用于生成模型(如 VAE)或对抗学习中,通过最小化模型分布和真实分布的距离提升生成效果。
6. Hinge 损失
Hinge 损失用于支持向量机中,特别适合二分类任务。
定义:
推导与解释:
- Hinge 损失会对错误分类的样本产生较大惩罚,使得支持向量机学习到一个能够分隔不同类别的最大边界。
- 该损失强调的是分类边界的宽度,通过“拉开”分类边界增强模型的鲁棒性。
应用场景: 用于支持向量机的训练,能够有效区分两个类别的边界。由于对类别间隔的强调,也在一些深度学习模型中用于分类任务。
7. 对比损失(Contrastive Loss)
对比损失常用于度量学习和孪生网络中。
定义:
其中 y_i 表示样本对的标签(1 表示相似,0 表示不相似),d_i 是样本对的距离,m 是边界阈值。
推导与解释:
- 当样本对相似时(y_i = 1),损失度量的是距离的平方 d_i^2,鼓励相似样本对的距离越小越好。
- 当样本对不相似时,损失函数度量样本对是否超出距离阈值 m,使得不相似样本的距离更大。
应用场景: 用于图像检索、人脸识别等领域,通过度量样本间的相似度优化模型的特征学习能力。
8. 三元损失(Triplet Loss)
三元损失用于度量学习,利用 Anchor、Positive、Negative 样本的相对距离关系来优化模型。
定义:
其中 x_i^a 为 Anchor 样本,x_i^p 为 Positive 样本,x_i^n 为 Negative 样本,为 margin。
推导与解释:
- 三元损失将相似样本(Anchor 和 Positive)拉近,将不相似样本(Anchor 和 Negative)推远,形成更明显的区分度。
是一个距离间隔的超参数,确保相似样本对距离小于不相似样本对。
应用场景: 广泛用于人脸验证、图像检索,通过距离度量的方式获得更具区分度的特征空间。
9. Focal loss损失
Focal 损失是对交叉熵损失的改进,专门应对类别不平衡问题。
定义:
其中 是平衡因子,gamma是聚焦因子。
推导与解释:
- Focal 损失通过调整权重因子
和聚焦因子 gamma 来平衡不同类别样本的贡献。对难以分类的样本增加损失权重。
- 该损失有助于模型从稀有样本中学习更多特征,减少简单样本的影响。
应用场景: 用于目标检测和极度不平衡数据集下的分类任务,使模型对难样本(如小目标)有更好的检测效果。
相关文章:

深度学习基础知识-损失函数
目录 1. 均方误差(Mean Squared Error, MSE) 2. 平均绝对误差(Mean Absolute Error, MAE) 3. Huber 损失 4. 交叉熵损失(Cross-Entropy Loss) 5. KL 散度(Kullback-Leibler Divergence&…...
《逆向记录》
这里写自定义目录标题 1.什么是vmp加密VMP加密的工作原理VMP加密的应用场景和优缺点实际应用案例 2.什么是ast混淆3.魔改算法总结 1.什么是vmp加密 VMP加密(Virtual Machine Protection)是一种软件保护技术,旨在通过虚拟化和加密技术来保…...
chatgpt3.5权重参数有多少MB;llama7B权重参数有多少MB
目录 chatgpt3.5权重参数有多少MB llama7B权重参数有多少MB chatgpt3.5权重参数有多少MB 关于ChatGPT 3.5的权重参数占用的存储空间大小,虽然直接给出具体的MB数值可能较为困难(因为这取决于多种因素,如参数表示的精度、是否进行了压缩等),但可以根据其参数量来估算一个…...

ST IoT Wireless 物联网与无线技术 研讨会
一、研讨会背景与目的 ◆ 意法半导体致力于提供可靠且经济实惠的无线连接解决方案,包含Wireless NFC Security & Esim等产品。 ◆ 将智能物体连接到互联网和云,或者从更广泛的意义上说,连接到物联网(IoT)。 ◆ 远程监控、配…...
PHP实现雪花算法生成唯一ID
引言 雪花算法是Twitter开源的分布式ID生成算法,可以产生64位的ID。其中第一位是固定的正数标识,41位用于存储时间戳,剩下的为机器ID和序列号。通过时间戳、机器ID和序列号的组合,确保每个ID都是唯一的。 PHP代码 1、定义雪花算…...

APP的设置页面,应该怎样尽可能减少用户的输入操作呢
一、引言 在当今数字化时代,移动应用程序(APP)已经成为人们生活中不可或缺的一部分。无论是社交娱乐、工作学习还是日常生活,我们都离不开各种 APP 的帮助。而 APP 的设置页面作为用户调整应用参数、个性化定制功能的重要入口&am…...

Node.js:内置模块
Node.js:内置模块 Node.jsfs模块读取文件写入文件__dirname path模块路径拼接文件名解析 http模块创建服务 Node.js 传统的JavaScript是运行在浏览器的,浏览器就是其运行环境。 浏览器提供了JavaScript的API,以及解析JavaScript的解析引擎&a…...

3. keil + vscode 进行stm32协同开发
1. 为什么使用vscode 主要还是界面友好,使用习惯问题,vscode 从前端,js, c/c, qt, 仓颉,rust都有很好插件的支持,并且有romote, wsl 等很多插件可以提高效率, 唯一的问题就是要使用插件进行环境…...

React 组件生命周期与 Hooks 简明指南
文章目录 一、类组件的生命周期方法1. 挂载阶段2. 更新阶段3. 卸载阶段 二、函数组件中的 Hooks1. useState2. useEffect3. useContext4. useReducer 结论 好的,我们来详细讲解一下 React 类组件的生命周期方法和函数组件中的钩子(hooks)。 …...
【springcloud】gateway网关的作用
目录 1. 说明2. 路由转发3. 负载均衡4. 安全认证与授权5. 熔断与降级6. 请求限流7. 监控与日志8. 过滤器功能 1. 说明 1.在Spring Cloud中,Gateway网关扮演着至关重要的角色。2.基于Spring Framework 5、Spring Boot和Project Reactor构建的API网关,专为…...

「C/C++」C++11 之<thread>多线程编程
✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明目…...

HTML前端页面设计静态网站-仿百度
浅浅分享一下前端作业,大佬轻喷~ <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>百度(伪)</title><style>body {margin: 0;padding: 0;}.top-bar {dis…...

百度SEO是否还有用?福州百度SEO专家林汉文为你深度解析
大家好,我是林汉文,一名专注于百度SEO优化的专家,最近有很多人问我:百度SEO还有用吗?在如今快速变化的数字营销环境中,这确实是一个值得探讨的问题。今天,我就来为大家详细分析百度SEO的现状&am…...
数学建模学习(134):使用Python基于WISP的多准则决策分析
WISP算法技术性文章 1. 算法介绍 WISP(Weighted Independent Set Problem)是一种优化算法,主要用于解决图论中的加权独立集问题。加权独立集问题是一个经典的组合优化问题,涉及从一个图中选择一个独立的顶点集,使得所选顶点的总权重最大。这个问题在计算机科学、运筹学、…...
.net core NPOI以及NOPI mapper
我们在日常开发中对Excel的操作可能会比较频繁,好多功能都会涉及到Excel的操作。在.Net Core中大家可能使用Npoi比较多,这款软件功能也十分强大,而且接近原始编程。但是直接使用Npoi大部分时候我们可能都会自己封装一下,毕竟根据二…...

分布式锁(redisson,看门狗,主从一致性)
目录 分布式锁一:基本原理和实现方式二:分布式锁的实现1:分布式锁的误删问题2:解决误删问题 三:lua脚本解决多条命令原子性问题调用lua脚本 四:Redisson1:redisson入门2:redisson可重…...

openEuler 服务器Python自动化安装WEB服务器和文件上传服务(1)
一、系统准备 我们的服务器采用了 openEuler 22.03 (LTS-SP4) 的初始化服务器模式安装 二、安装步骤 (一)安装依赖库 在终端中运行以下命令确保系统安装了必要的依赖: sudo dnf install -y python3上述 Python 脚本中的依赖库会在运行 Py…...

【Python游戏开发】石头剪刀布游戏(附完整Python完整代码)
石头剪刀布游戏:Pygame实现 结果图前言核心函数思考步骤实现原理和公式代码实现结论结果图 前言 石头剪刀布是一种经典的猜拳游戏,简单易玩但却蕴含着一定的策略性。本文将介绍如何使用Python和Pygame库开发一个简单的石头剪刀布游戏,并探讨其中的核心功能实现和思考过程。 …...
ctfshow(94,95)--PHP特性--strpos函数
建议先学习intval函数相关内容 Web94 源代码: include("flag.php"); highlight_file(__FILE__); if(isset($_GET[num])){$num $_GET[num];if($num"4476"){die("no no no!");}if(preg_match("/[a-z]/i", $num)){die(&qu…...

C++ --- 多线程的使用
目录 一.什么是线程? 线程的特点: 线程的组成: 二.什么是进程? 进程的特点: 进程的组成: 三.线程与进程的关系: 四.C的Thread方法的使用: 1.创建线程: 2.join(…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...