重干货,第一时间送达
本文转自|视觉算法
19损失函数
1.L1范数损失L1Loss
计算输出和目标之间差值的绝对值。
参数:
还原-三个值,无:不使用还原;均值:返回损失总和的平均值;Sum:返回损失的总和。默认:均值。
2均方误差损失毫秒损失
计算输出和目标之间差值的均方误差。
参数:
还原-三个值,无:不使用还原;均值:返回损失总和的平均值;Sum:返回损失的总和。默认:均值。
3个交叉韧带交叉韧带
当存在c类分类问题时,非常有效。可选参数权重必须是一维张量,权重将分配给每个类别。对于不平衡的训练集非常有效。
在多分类任务中,经常使用softmax激活函数+交叉熵损失函数,因为交叉熵描述的是两种概率分布的差异,但神经网络的输出是向量,不是概率分布的形式。因此,需要使用softmax激活函数将一个向量“归一化”为概率分布的形式,然后使用交叉熵损失函数来计算损失。
参数:
重量–每个类别的用户定义重量。它必须是长度为c的张量
ignore _ index–设置一个目标值,该值将被忽略,并且不会影响输入的渐变。
还原-三个值,无:不使用还原;均值:返回损失总和的平均值;Sum:返回损失的总和。默认:均值。
4 KL发散损失KL发散
计算输入和目标之间的KL散度。KL散度可以用来度量不同连续分布之间的距离,对于连续输出分布的空之间的直接回归非常有效。
参数:
还原-三个值,无:不使用还原;均值:返回损失总和的平均值;Sum:返回损失的总和。默认:均值。
5二元交叉熵损失
任务分类时交叉熵的计算函数。用于测量重构误差,如自动编码器。注意,目标值t的范围从0到1。
参数:
重量–用户定义的每个批次元素的损失重量。它必须是长度为“nbatch”的张量
6 BCEWithLogitsLoss
BCEWithLogitsLoss损失函数将Sigmoid层集成到BCELoss类中。这个版本比使用简单的Sigmoid层和BCELoss在数值上更稳定,因为在将这两个操作组合成一个层之后,可以使用log-sum-exp技术来实现数值稳定性。
参数:
重量–用户定义的每个批次元素的损失重量。它一定是一个长度为“nbatch”的张量
7页边空白
小批量中每个实例的损失函数如下:
参数:
边距:默认值为0
8铰链嵌入损耗
小批量中每个实例的损失函数如下:
参数:
边距:默认值为1
9多标签分类丢失多标签边缘丢失
对于小批量的每个样品,根据以下公式计算损失:
10平滑版L1损失平滑1损失
也称为Huber损失函数。
其间
物流损失11 2分类软余量损失
12个多标签单范思哲全损多标签软余量损耗
13余弦损失共同嵌入损失
参数:
边距:默认值为0
14铰链损失的多类别分类
参数:
P=1或2默认值:1
边距:默认值为1
15次三倍亏损三倍亏损
类似孪生网,具体例子:先给a,再给b和c,看看谁更像a。
其中:
16连接定时分类丢失CTCLoss
CTC连接时序分类丢失,可以自动对齐未对齐的数据,主要用于训练序列化数据,无需事先对齐。比如语音识别、ocr识别等等。
参数:
还原-三个值,无:不使用还原;均值:返回损失总和的平均值;Sum:返回损失的总和。默认:均值。
17负对数似然损失
负对数似然损失。用来训练C类的分类问题。
参数:
重量–每个类别的用户定义重量。它必须是长度为c的张量
ignore _ index–设置一个目标值,该值将被忽略,并且不会影响输入的渐变。
18 NLLLoss2d
对于图像输入的负对数似然损失,计算每个像素的负对数似然损失。
参数:
重量–每个类别的用户定义重量。它必须是长度为c的张量
还原-三个值,无:不使用还原;均值:返回损失总和的平均值;Sum:返回损失的总和。默认:均值。
19例中毒死亡
目标值是泊松分布的负对数似然损失
参数:
log _ input–如果设置为True,将根据公式exp-target * input计算损失;如果设置为False,将根据输入-目标*日志计算损失。
full–是否计算所有损失,即加上斯特林近似项目标* log-target+0.5 * log。
EPS–默认值:1e-8
参考文献:
pytorch损耗函数概述
http://www.voidcn.com/article/p-rtzqgqkz-bpg.html
下载1:中文版教程1:OpenCV-Contrib扩展模块
下载2:第2讲:Python可视化实用项目52
下载3:第20讲,共3讲:OpenCV实践项目
交换组