深度学习知识点总结:损失函数总结

深度学习知识点总结

专栏链接:
深度学习知识点总结_Mr.小梅的博客-CSDN博客

本专栏主要总结深度学习中的知识点,从各大数据集比赛开始,介绍历年冠军算法;同时总结深度学习中重要的知识点,包括损失函数、优化器、各种经典算法、各种算法的优化策略Bag of Freebies (BoF)等。

本章介绍多种损失函数。


目录

2.3 损失函数

2.3.1 L1Loss

2.3.2 MSELoss

2.3.3 CrossEntropyLoss

2.3.4 NLLLoss

2.3.5 BCELoss

2.3.6 BCEWithLogitsLoss

2.3.7 MultiMarginLoss

2.3.8 MultiLabelMarginLoss

2.3.9 SmoothL1Loss

2.3.10 Focal loss

2.3.11 IoU Loss

2.3.12 GIoU Loss

2.3.13 DIoU Loss

2.3.14 CIoU Loss

2.3.15 CTCLoss


2.3 损失函数

        深度学习中主要包含三类任务,分类、回归和分割,不同的任务需使用不同的损失函数。例如,分类任务中不能使用平方损失、L1Loss等。

2.3.1 L1Loss

        可用于坐标回归,目前比较少用。

import torch.nn as nn
import torch

l1loss = nn.L1Loss()
pred = torch.ones((4,5))
gt = torch.zeros((4,5))
loss = l1loss(pred,gt)
print(loss) # tensor(1.)

2.3.2 MSELoss

        可用于坐标回归。

# MSELOSS
loss = nn.MSELoss()
pred = torch.ones((4,5)) * 2
gt = torch.zeros((4,5))
out = loss(pred,gt)
print(out) # tensor(4.)

2.3.3 CrossEntropyLoss

        用于单标签多分类任务。

# CrossEntropyLoss
loss = nn.CrossEntropyLoss()
pred = torch.Tensor([[0.8, 0.1, 0.4],
                     [0.1, 0.9, 0.2],
                     [0.5, 0.4, 0.6]])
gt = torch.LongTensor([0,
                       1,
                       2])
out = loss(pred, gt)
print(out)  # tensor(0.8137)
'''
s1 = exp(0.8) + exp(0.1) + exp(0.4) = 4.822536544209386
s2 = exp(0.1) + exp(0.9) + exp(0.2) = 4.786176787392767
s3 = exp(0.5) + exp(0.7) + exp(0.6) = 4.962664768731908
l1 = -ln(exp(0.8) / s1) = 0.7733000436247918
l2 = -ln(exp(0.9) / s2) = 0.6657319272479286
l3 = -ln(exp(0.6) / s3) = 1.0019428482292443
loss = (l1 + l2 + l3) / 3 = 0.8136582730339882
'''

2.3.4 NLLLoss

        负对数似然损失,用于单标签多分类任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值