title: pytorch 交叉熵的个人理解
date: 2020-01-19 11:54:06
tags:machine learning
关于pytorch 交叉熵的个人理解
最近,查pytorch的官方文档。里面关于交叉熵部分的公式描述不太理解,查了一些资料,简单的写了下公式。大概理解了一下,不过也不知道正确与否。
官方文档描写如下:
This criterion expects a class index in the range [0, C-1][0,C−1] as the target for each value of a 1D tensor of size minibatch; if ignore_index is specified, this criterion also accepts this class index (this index may not necessarily be in the class range).
The loss can be described as:
loss(x,class)=−log(exp(x[class])∑jexp(x[j]))=−x[class]+log(∑jexp(x[j]))loss(x,class)=−log(∑jexp(x[j])exp(x[class]))=−x[class]+log(j∑exp(x[j]))\text{loss}(x, class) = -\log\left(\frac{\exp(x[class])}{\sum_j \exp(x[j])}\right) \\ = -x[class] + \log\left(\sum_j \exp(x[j])\right)loss(x,class) \\ =−log(∑jexp(x[j])exp(x[class]))=−x[class]+log(j∑exp(x[j]))loss(x,class)=−log(∑jexp(x[j])exp(x[class]))=−x[class]+log(

本文介绍了作者对PyTorch中交叉熵的理解,通过官方文档解析了交叉熵的计算公式,并指出PyTorch的交叉熵是基于softmax后的输出进行计算的,适用于包括2D图像在内的高维输入。总结了在one-hot编码下,真实类别对应的交叉熵损失表达式。
最低0.47元/天 解锁文章
680

被折叠的 条评论
为什么被折叠?



