pytorch:交叉熵(cross entropy)

本文详细介绍了PyTorch中的交叉熵(cross entropy),包括熵(entropy)的概念,解释了熵的不确定性及与惊喜度的关系。接着讨论了交叉熵,指出其包含的KL散度用于衡量两个概率分布的相似度。当概率分布相同时,交叉熵等于熵。还分析了为何在神经网络中通常使用交叉熵而非MSE的原因,如避免sigmoid饱和和梯度弥散。最后,概述了Python中实现交叉熵损失的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、entropy

entropy中文叫做熵,也叫不确定性,某种程度上也叫惊喜度(measure of surprise)

Entropy=-\sum P(x)logP(x)=\sum P(x)log(1/P(x))

如果p(x)采用0-1分部,那么entropy=1log1=0

而对于entropy越大,即熵越大,越不稳定,惊喜度越高

import torch
a=torch.full([4],1/4.)
a*torch.log2(a)
# tensor([-0.5000, -0.5000, -0.5000, -0.5000])
-(a*torch.log2(a)).sum()
#输出  tensor(2.)

输出熵为2,不确定性较大惊喜度就比较高

import torch
a=torch.tensor([0.001,0.001,0.001,0.999])
-(a*torch.log2(a)).sum()
# 输出tensor(0.0313)

此时,输出熵为0.0313,比较小,不确定性小,惊喜度很低。

2、cross entropy</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值