pytorch损失函数----交叉熵损失函数torch.nn.CrossEntropyLoss()

引言

主要记一下CrossEntropyLoss()函数内部运行原理,主要说一下内部参数redcution="mean"时的操作,reduction="sum"就是将对应加起来,关于函数的定义什么官网了解。

原理

CrossEntropyLoss()函数主要是三部分:Softmax->Log->NNLLoss,NNLLoss操作主要是对预测结果求并取平均值,然后取负,详细看下面例子

input就是我们实际计算出的y_hat,这里只是简单举个例子

target就是我们的真实值y,这里也是简单举个例子

对input进行softmax操作

对softmax输出的值进行log操作

对log输出执行NNLLoss操作

调用CrossEntropyLoss()函数

最后输出的损失值都一样,NNLLoss操作:-((-0.6494) + (-1.2165) +(-2.5198))/ 3。

当reduction="sum"时

posted @ 2022-10-28 18:18  littlemelon  阅读(130)  评论(0编辑  收藏  举报