# 模型训练——Loss函数 归纳汇总

## 目录

; 前言

• 什么是损失（Loss）？
预测值（估计值）与实际值（预期值、参考值、ground truth）之间会存在差异, “损失”意味着模型因未能产生预期结果而受到的惩罚。
• 损失函数的作用？
损失函数将通过比较模型的预测输出和期望输出来确定模型的性能，进而找到优化方向。如果两者之间的偏差很大，则损失值会很大；如果偏差很小或值几乎相同，则损失值会很低。因此，有必要使用合适的损失函数，当模型在数据集上训练时，该损失函数可以对模型进行适当的惩罚。
[En]

The loss function will determine the performance of the model by comparing the predicted output and the expected output of the model, and then find the optimization direction. If the deviation between the two is very large, the loss value will be very large; if the deviation is small or the value is almost the same, the loss value will be very low. Therefore, it is necessary to use an appropriate loss function, which can punish the model appropriately when the model is trained on the data set.

• 根据应用场景，损失函数可分为回归问题和分类问题。
[En]

according to the application scenario, the loss function can be divided into two categories: regression problem and classification problem.*

• 本文会着重渗透语音降噪方向的loss函数，基于torch。

## ; 2、MSE Loss(L2 Loss)

3、loss正则化

• 正规化可防止过度贴合为什么？
[En]

regularization can prevent over-fitting. Why?

*：dropout有防止过拟合的作用。

• PyTorch实现： L2正则项是通过optimizer优化器的参数 weight_decay(float, optional) 添加的，用于设置权值衰减率，即正则化中的超参 \lambda ，默认值为0。
e.g. optimizer = torch.optim.SGD(model.parameters(),lr=0.01,weight_decay=0.01)

：根据公式，添加正则化项，loss值会随着超参 \lambda 设定不同程度的变大，而实际pytorch实现过程中却并未出现如此现象，原因是loss在计算的时候没有把权重损失算进去。

## 8、SDR Loss

SDR loss在很多论文中也称作SNR loss。

[En]

The physical meaning and analytical process are quoted from the textbook of Professor Li Hongyi of Taiwan University in Taiwan Province. The use of symbols is somewhat unconventional. Pay attention to observation.

## 10、STOI Loss

《On Loss Functions for Supervised Monaural Time-Domain Speech Enhancement》

https://github.com/speechbrain/speechbrain/blob/develop/speechbrain/nnet/loss/stoi_loss.py

## 11、PMSQE Loss

PMSQE损失函数是用于近似PESQ metric的一种语音质量算法。经过处理的语音信号的PESQ分数是1到4.5之间值，其中1表示质量极差，4.5表示完全没有失真。PMSQE loss函数的设计与PESQ成反比，低PMSQE值对应高PESQ值。PMSQE的定义范围为3到0，其中0相当于未失真信号，3相当于极低的质量。

《On Loss Functions for Supervised Monaural Time-Domain Speech Enhancement》

http://sigmat.ugr.es/PMSQE/PMSQE.zip

; 二、技巧性应用 Loss

## 1、wSDR Loss

《PHASE-AWARE SPEECH ENHANCEMENT WITH DEEP COMPLEX U-NET》

https://github.com/chanil1218/DCUnet.pytorch/blob/master/train.py

## ; 2、CI-SDR Loss

[En]

I don’t understand the formula. Students who understand it can help explain it.

《CONVOLUTIVE TRANSFER FUNCTION INVARIANT SDR TRAINING CRITERIA FOR MULTI-CHANNEL REVERBERANT SPEECH SEPARATION》

https://github.com/fgnt/ci_sdr

## 3、Deep Feature Loss

《Speech Denoising with Deep Feature Losses》

https://github.com/francoisgermain/SpeechDenoisingWithDeepFeatureLosses

## ; 4、SA-SDR Loss

《SA-SDR: A NOVEL LOSS FUNCTION FOR SEPARATION OF MEETING STYLE DATA》

https://zhuanlan.zhihu.com/p/269492239

《Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics》. Alex Kendall, Yarin Gal, Roberto Cipolla. CVPR, 2018.important

《Bounding Box Regression with Uncertainty for Accurate Object Detection》. Yihui He, Chenchen Zhu, Jianren Wang, Marios Savvides, Xiangyu Zhang. CVPR, 2019.

; 三、分类问题 Loss

## 5、CosineEmbeddingLoss

https://zhuanlan.zhihu.com/p/358570091
https://blog.csdn.net/zhangxb35/article/details/72464152
pytorch的官方loss函数实现解析链接：
https://pytorch.org/docs/stable/nn.html#loss-functions

Original: https://blog.csdn.net/wsy1234567890/article/details/121524519
Author: 剑心拔刀
Title: 模型训练——Loss函数 归纳汇总

(0)

### 大家都在看

• #### 【python笔记】第一节–环境搭建

💕💕💕 博主昵称：摆烂阳💕💕💕🥰点击跳转到博主主页链接👩‍💻博主研究方向：web渗透测试 、python编程📃 博主寄语：希望本篇文章能给大家带来帮助，有不足的地方，希望友友们给予…

人工智能 2023年7月5日
0124
• #### 基于yolov4作者最新力作yolov7目标检测模型实现火点烟雾检测

上周的时候yolov4作者发表了其最新研究作品yolov7，将yolo系列的模型带到了一个新的高度，突然就是感觉最新模型迭代更新的速度有点太快了一点，也就是半个月的时间间隔吧，美团…

人工智能 2023年7月9日
0147
• #### 使用Matplotlib美化和修饰图形

1. 调整坐标轴和刻度 作为函数图像那个的必要组成部分，坐标轴和刻度直接反映了图形中变量的数值规模的范围 适当的调整和美化坐标轴及刻度能够让图形一目了然。 1.1 设置坐标轴刻度 …

人工智能 2023年6月11日
0162
• #### Spark Sql中的Map和flatMap

和她在一起的每一天都很快乐 map() 将一个函数应用于DataFrame和DataSet中的每一行并返回新的转换后的DataSet。并不会返回DataFrame,返回的是Data…

人工智能 2023年7月8日
0132
• #### 说说Spring事件发布机制

文章目录 前言 一、 使用到事件发布机制的源码 二、Springboot启动过程中用到的部分事件 三、Springboot中的监听器 四、自定义事件源，事件监听器和事件发布器 * …

人工智能 2023年7月29日
0144
• #### 三、将 tensorform 与 tensorboard 进行结合

tensorforms的使用 transforms的简介 transforms结合tensorboard的使用 * 读取图片 创建transforms实例并将PIL格式图片转为te…

人工智能 2023年5月25日
0181
• #### 【配置环境】RTX3050安装pytorch（安装CUDA11.3版本）

目录 参考链接 0 查询NVIDIA GPU算力（可跳过） 1 创建虚拟环境 2 在线安装GPU版本 参考链接 强力推荐👉Pytorch1.10安装记录（CUDA11.3） RTX…

人工智能 2023年7月21日
0128
• #### 图像的基本形态学处理方法（开运算、闭运算、顶帽运算、底帽运算）

图像的形态学运算可以对图像进行预处理（去噪声、简化形状）、增强物体结构（抽取骨骼、细化、粗化、凸包）、从背景中分割物体、对物体进行量化描述（面积、周长、投影）。 图像的形态学处理经…

人工智能 2023年6月18日
0138
• #### 倾斜的文本照片旋转矫正+完整python代码

有些图片具有小角度的倾斜（±45°以内），导致传入后续识别分类的模型时产生误差。 基本原理是：利用文本图像具有行间空白的特性，对待检测图像进行角度旋转遍历，并同时进行水平方向像素值…

人工智能 2023年6月20日
0149
• #### 数据库原理及MySQL应用 | 多表查询

在实际应用中，多表查询应用相对较多，根据多表之间的相关列，可以从多个表中检索出所需数据。 在实际应用中，单表查询应用范围相对较少，因为用户需要的数据往往存储在多个不同的表中，这时需…

人工智能 2023年7月29日
0124
• #### 跑通GVINS——港科大新作

跑通GVINS——港科大新作 * – 0.简介 – 1.环境 – 2.跑通GVINS – 3.数据集 – 4.相关资料打…

人工智能 2023年6月2日
0130
• #### tensorflow的win7，cpu版安装配置

踩坑，建议先删除电脑上已经安装的python和pycharm 1..下载anaconda，Index of /anaconda/archive/ | 清华大学开源软件镜像站 | T…

人工智能 2023年5月25日
0163
• #### 机器学习之线性回归

文章目录 一、线性回归 * 1、普通线性回归（Linear Regression） 2、岭回归（Ridge Regression） 3、套索回归（lasso回归） 二、python…

人工智能 2023年6月17日
0122
• #### [python] 深度学习基础——人工神经网络实现鸢尾花分类(三)

人工神经网络实现鸢尾花分类(一)人工神经网络实现鸢尾花分类(二)人工神经网络实现鸢尾花分类(三)人工神经网络实现鸢尾花分类(四)人工神经网络实现鸢尾花分类(五) 目录 张量相关知识…

人工智能 2023年5月26日
0141