交叉熵损失函数的使用目的(很肤浅的理解)

第一种使用方法

复制代码
import torch
from torch import nn  # Example of target with class indices
loss = nn.CrossEntropyLoss()
input = torch.randn(3, 5, requires_grad=True)
target = torch.empty(3, dtype=torch.long).random_(5)
output = loss(input, target)
output.backward()

第二种使用方法

复制代码
# Example of target with class probabilities
input = torch.randn(3, 5, requires_grad=True)
target = torch.randn(3, 5).softmax(dim=1)
output = loss(input, target)
output.backward()

自己的理解:

传进去的是(3,5)维度的数据,其中3可以代表有3个图片(数据),5代表有5中类别(0,1,2,3,4这几类)。

复制代码
[ 0.1087, -0.4276,  0.9313, -1.0140,  2.1229]表示预测的是

····第一个图是第一类的概率是 0.1087

·····第一个图是第一类的概率是 -0.4276(负数无所谓,举的例子是随机的嘛)

。。。

target的形状就是[3],代表有三个目标真实值。其中[3,4,2]代表对应上面那个input的

----第一行的第3个值

----第二行的第4个值

----第3行的第2个值

这三个值就是真实值,表示是这些真实值的概率

交叉熵目的:

是预测值的概率更加接近真实值,让那些真实值对于的概率的类别更加大

就是让这些红色的值变大。具体是怎么变的可以查阅相关的资料

相关推荐
盼小辉丶3 分钟前
PyTorch实战(25)——使用PyTorch构建DQN模型
人工智能·pytorch·深度学习·强化学习
醉舞经阁半卷书110 小时前
Python机器学习常用库快速精通
人工智能·python·深度学习·机器学习·数据挖掘·数据分析·scikit-learn
码农水水11 小时前
米哈游Java面试被问:机器学习模型的在线服务和A/B测试
java·开发语言·数据库·spring boot·后端·机器学习·word
wanghao66645512 小时前
机器学习三大流派:监督、无监督与强化学习
人工智能·机器学习
爱喝可乐的老王12 小时前
神经网络的基础:核心是 “搭积木 + 激活信号”
人工智能·深度学习·神经网络
梁辰兴12 小时前
FSD入华将如何改变我国自动驾驶市场格局?
人工智能·科技·机器学习·自动驾驶·特斯拉·fds·梁辰兴
lixin55655613 小时前
基于深度生成对抗网络的高质量图像生成模型研究与实现
java·人工智能·pytorch·python·深度学习·语言模型
laplace012313 小时前
大模型整个训练流程
人工智能·深度学习·embedding·agent·rag
Master_oid13 小时前
机器学习30:神经网络压缩(Network Compression)①
人工智能·神经网络·机器学习
沃达德软件13 小时前
智能车辆检索系统解析
人工智能·深度学习·神经网络·目标检测·机器学习·计算机视觉·目标跟踪