pytorch损失函数(nn.L1Loss、nn.SmoothL1Loss、nn.MSELoss 、nn.CrossEntropyLoss、nn.NLLLoss)

损失函数,是编译一个神经网络模型必须的两个参数之一,另一个是优化器。损失函数是指用于计算标签值和预测值之间差异的函数,常见的有多种损失函数可供选择,典型的有距离向量,绝对值向量等。

 

  • nn.L1Loss
L1Loss 计算方法比较简单,原理就是取预测值和真实值的绝对误差的平均数。计算公式如下
                                            
  • nn.SmoothL1Loss
nn.SmoothL1Loss计算分俩方面,当误差在 (-1,1) 上是平方损失,其他情 况是 L1 损失。计算公式如下:
 
                             pytorch损失函数(nn.L1Loss、nn.SmoothL1Loss、nn.MSELoss 、nn.CrossEntropyLoss、nn.NLLLoss)_第1张图片
  • nn.MSELoss
nn.MSELoss:计算公式是预测值和真实值之间的平方和的平均数。
                      
  • nn.CrossEntropyLoss

交叉熵损失函数,常用于图像分类的神经网络中,计算方式如下:

 

                   pytorch损失函数(nn.L1Loss、nn.SmoothL1Loss、nn.MSELoss 、nn.CrossEntropyLoss、nn.NLLLoss)_第2张图片

  • nn.NLLLoss

​​​​​​​负对数似然损失函数,这个损失函数一般也是用在图像识别模型上。和 nn.CrossEntropyLoss 的功能是非常相似的,通常都是用

在多分类模型中,实际应用一般用 NLLLoss 比较多。
 
                                              
 

你可能感兴趣的:(pytorch,深度学习,pytorch,深度学习)