深度学习基础知识-损失函数

目录

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 来平衡不同类别样本的贡献。对难以分类的样本增加损失权重。
  • 该损失有助于模型从稀有样本中学习更多特征,减少简单样本的影响。

应用场景: 用于目标检测和极度不平衡数据集下的分类任务,使模型对难样本(如小目标)有更好的检测效果。

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

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

相关文章

2024 CSS保姆级教程二 - BFC详解

前言 - CSS中的文档流 在介绍BFC之前,需要先给大家介绍一下文档流。​ 我们常说的文档流其实分为定位流、浮动流、普通流三种。​ ​ 1. 绝对定位(Absolute positioning)​ 如果元素的属性 position 为 absolute 或 fixed,它就是一个绝对定位元素。​ 在…

指针(c语言)

一.指针的定义 1.内存被划分为一个一个内存单元,对内存单元进行编号,这些编号称为内存单元的地址, 其中指针就是存放地址的容器 2.平常说的指针,其实就是指针变量 注意: 1个内存单元的大小是1个字节,如果是…

动手学深度学习67 自注意力

1. 自注意力 k 窗口的大小 每个kernel窗口都可以并行计算,GPU计算 最长路径:信息是怎么传递的 filed–视野 自注意力适合处理比较长的文本,无视距离,可以看比较长的文本,但是计算复杂度高【代价】 位置信息加到输入数…

Hadoop-004-Big Data Tools插件的使用

一、Big Data Tools插件配置流程 1、安装Big Data Tools插件 以IntelliJ IDEA 2024.2.3为例打开setting, 搜索安装Big Data Tools插件后重启IDEA 2、Windows系统基础配置 Windows系统需要做一些基础设置,配合插件使用,将之前下载的hadoop-3.2.4.tar.gz 解压到D…

【VS+QT】联合开发踩坑记录

最新更新日期:2024/11/05 0. 写在前面 因为目前在做自动化产线集成软件开发相关的工作,需要用到QT,所以选择了VS联合开发,方便调试。学习QT的过程中也踩了很多坑,在此记录一下,提供给各位参考。 1. 环境配…

JS渗透(安全)

JS逆向 基本了解 作用域: 相关数据值 调用堆栈: 由下到上就是代码的执行顺序 常见分析调试流程: 1、代码全局搜索 2、文件流程断点 3、代码标签断点 4、XHR提交断点 某通js逆向结合burp插件jsEncrypter 申通快递会员中心-登录 查看登录包…

OJ03:删除有序数组中的重复项

目录 题目思路分析代码展示: 题目 —给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。…

DistilQwen2:通义千问大模型的知识蒸馏实践

作者:岳元浩(顾城)、汪诚愚(熊兮)、严俊冰(玖烛)、黄俊(临在) 背景 在人工智能快速发展的今天,大语言模型已经成为了人工智能的研究热点。其中,…

程序员也要认识下“信创产业”

兄弟姐妹们,大家初入社会会觉得技术是第一位,我呸,其实你在那个领域敲代码的选择才是最重要的,选对了领域绝对比你背上100个面试题目强,今天带大家了解下信创产业。 信创产业,即信息技术应用创新产业&#…

Rust 力扣 - 1423. 可获得的最大点数

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 题目所求结果存在下述等式 可获得的最大点数 所有卡牌的点数之和 - 长度为(卡牌数量 - k)的窗口的点数之和的最小值 我们遍历长度为(卡牌数量 - k)的窗口&#…

前端实现json动画(附带示例)

前端实现json动画(附带示例) 使用lottie制作动画。1.json动画2.实现效果3.git仓库4.运行5.json动画天堂6.代码7. 经常使用的方法 使用lottie制作动画。 1.json动画 废话不多说,直接看效果图2.实现效果 3.git仓库 https://gitee.com/chaiach…

[ vulnhub靶机通关篇 ] 渗透测试综合靶场 DarkHole:1 通关详解 (附靶机搭建教程)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

成都睿明智科技有限公司共赴抖音电商蓝海

在这个短视频风起云涌的时代,抖音作为现象级的社交媒体平台,不仅改变了人们的娱乐方式,更悄然间重塑了电商行业的格局。在这片充满机遇与挑战的蓝海中,成都睿明智科技有限公司凭借其敏锐的市场洞察力和专业的服务能力,…

Centos 网络接口打vlan标签

Centos 网络接口打vlan标签 本次使用给bond打vlan标签,其实其他普通接口也一样 Centos创建bond前需要关闭NetworkManager [root192 network-scripts]# systemctl disable NetworkManager --now Removed symlink /etc/systemd/system/multi-user.target.wants/Netwo…

ElMessageBox 内容自定义

1. ElmessageBox弹出框显示内容设置字体颜色: 代码内容: const saveToGroup (row: Customers) > {ElMessageBox.confirm(h("i",{ style: "color: #409EFF" },"未建档客户公司无法创建线索/商机/礼品申请。"),"…

pdmaner连接sqlexpress

别以为sqlserver默认的端口总是1433 案例 有台sqlserver2008 express服务器,刚安装,支持混合模式登录,其它什么配置也没改。 先看用ADO连接 这说明: 案例中sqlserver端口不是1433 !!!ADO连接…

使用MongoDB Atlas构建无服务器数据库

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用MongoDB Atlas构建无服务器数据库 MongoDB Atlas 简介 注册账户 创建集群 配置网络 设置数据库用户 连接数据库 设计文档模式…

k8s 上如何跑 Dolphins 模型

接着上一篇的介绍,这一篇就来跑跑 Dolphins 模型,本篇会记录,跑模型常见的阬点。 1 在 k8s 上创建 pod 将外部数据挂载在 pod 里,并申请 gpu 资源。同时修改代码里对应的引入数据的路径 # dolphins.yaml apiVersion: v1 kind: …

MySQL数据表导入到clickhouse数据库中

前言:研发需求,需要把MySQL数据导入到clickhouse中来测试计算性能是否提升。 从MySQL导入到clickhouse需要两个工具 NavicatDBeaver 导出MySQL数据 连接上MySQL>选择数据库>选择数据表 选择csv格式 导出数据 下面全部默认即可 开始导出 …

Spring Boot 与 Vue 共筑二手书籍交易卓越平台

作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 🍅获取源码联系方式请查看文末🍅 推荐订阅精彩专栏 👇🏻 避免错过下次更新 Springboot项目精选实战案例 更多项目…