聊聊关于分类和分割的损失函数:nn.CrossEntropyLoss()

news2024/11/27 18:36:10

目录

1. nn.CrossEntropyLoss()

2. 多分类中 nn.CrossEntropyLoss() 的应用

3. 分割中 nn.CrossEntropyLoss() 的应用

3.1 测试文件

3.2 输出可视化

3.3 softmax 

3.4 log 

3.5 CrossEntropyLoss


1. nn.CrossEntropyLoss()

分类中,经常用 nn.CrossEntropyLoss() 交叉熵损失函数

y 为真实值 、 y(hat) 为预测值

 这种采用了 one-hot 编码的形式,多分类中,只有一个label为1

softmax 可以将数据以概率的形式输出,所以输出是在 0-1 之间,那么log 就会是负数,因此交叉熵损失函数前面有个负号。

这也是为什么多分类需要输出经过softmax

nn.CrossEntropyLoss() 已经将 softmax 封装在里面了

2. 多分类中 nn.CrossEntropyLoss() 的应用

测试需要的文件

demo 如下,reshape为(1,-1) 是假设batch为1的情况

分类label的 one-hot 编码需要是float类型,因为分类的label需要进行计算

1.0 * ln predict

 损失结果为:

接下来验证 nn.CrossEntropyLoss() 交叉熵损失函数

结果是一样的

3. 分割中 nn.CrossEntropyLoss() 的应用

一般来说,图像分割的网络输出是4维度的,对应的label 是3维的

predict : 1,2,2,2

label : 1,2,2

假设:预测结果是两个channel 的图像

  • 假如第一个channel 的左上角经过softmax 后概率是0.2
  • 假如第二个channel 的左上角经过softmax 后概率是0.8

假设第一个channel 是背景(0)的类别,第二个channel是前景(1)的类别,因此需要保证两个预测概率的和为1。

然后取最大的概率为第二个channel的0.8

所以认为这个2*2图像的左上角为前景像素点(1)的概率大

如果计算损失的话,假设label 的左上角是1的话,那么当前像素点的损失为:

L = -(0 * ln 0.2 + 1 * ln 0.8)# label 不参与计算,只是这样解释而已

最后将四个像素点同样计算后,求平均即可

3.1 测试文件

测试需要的文件

分割的label 是整形,因为不需要参与运算,label 的数字只是代表哪一个类别而已

测试的demo

3.2 输出可视化

维度的解释:输出的预测是 2 个维度的,2*2 大小的1个batch的图像

图像的label 是:

3.3 softmax 

因为 nn.CrossEntropyLoss() 是经过了 softmax 层的,预测值经过softmax后为

 可视化

3.4 log 

将概率经过log后为

 可视化

3.5 CrossEntropyLoss

把每个像素点都认为是一个分类就行了

左上角的预测值有两个 0.4975 和0.5025,左上角的label是1,因此取第二个0.5025

channel = 0channel = 1label预测值
左上角0.49750.502510.5025
左下角0.42560.574400.4256
右上角0.50500.495000.5050
右下角0.83480.165210.1652

因此,损失为

L = - (ln 0.5025 + ln 0.4256 + ln 0.5050 + ln 0.1652) / 4 = 

用 nn.CrossEntropyLoss() 计算值一样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/402559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.NET Core Api使用Folder(文件夹)形式发布并指定监听端口

分为以下几个步骤 1. 先安装SDK及运行环境, 无需安装IIS, 因为他不在IIS上运行 环境下载路径, 我用的是.NET 7.0, 可以根据自己的版本下载: 下载 .NET 7.0 SDK (v7.0.201) - Windows x64 Installer 下载.NET运行环境 下载后安装.直接下一步..安装即可 2. 配置发布设置 (…

Nginx服务优化与防盗链

目录 1.隐藏nginx版本号 1.查看版本号 2.隐藏版本信息 2.修改用户与组 3.缓存时间 4.日志分割 5.连接超时 6.更改进程数 7.网页压缩 8.配置防盗链 1.配置web源主机(192.168.156.10 www.lhf.com) 2.配置域名映射关系 3.配置盗链主机 &#xff0…

python实现波士顿房价预测---(2)

计算梯度 继续上一篇的内容python实现波士顿房价预测—(1)。 梯度计算公式中引入计算因子12\frac{1}{2}21​,为了计算更加简洁。 L12N∑i1N(yi−zi)2L\frac{1}{2N}\sum_{i1}^{N}(y_i - z_i)^2L2N1​∑i1N​(yi​−zi​)2 其中ziz_izi​是模型对于第i个样本的预测值…

【halcon】轮廓拟合相关函数

涉及函数 edges_sub_pix 寻找边缘 edges_sub_pix (Image, Edges, canny, 1, 10, 20) 后面三个参数,越小,找到的细节越多。这个是对应录波器为canny时。 canny滤波器用的最多。 segment_contours_xld 将连续的轮廓进行分段,按圆弧或者执…

软件测试13

Linux命令 1.pwd:查看当前所在的路径位置 2.ls:查看当前路径下有哪些文件 3.cd:切换路径 4.touch:创建普通文件,可以创建单文件,也可以创建多文件(touch a,touch b c) 5…

【专项训练】高级搜索

高级搜索,这部分非常烧脑,可略过! 包括:剪枝、双向BFS、启发式搜索! 启发式搜索:优先队列,即优先级搜索! 回溯:分治 + 试错 数独问题,类似八皇后! 36. 有效的数独 https://leetcode.cn/problems/valid-sudoku/description/ class Solution(object

Java【二叉搜索树和哈希表】模拟实现 + 【Map和Set】介绍

文章目录前言一、二叉搜索树1、什么是二叉搜索树2、模拟实现二叉搜索树2.1, 查找2.2, 插入2.3, 删除3、性能分析二、模型三、哈希表1、什么是哈希表1.1, 什么是哈希冲突1.2, 避免, 解决哈希冲突1.2.1, 避免: 调节负载因子1.2.2, 解决1: 闭散列(了解)1.2.3, 解决2: 开散列/哈希桶…

基于卷积神经网络CNN的水果分类预测,卷积神经网络水果等级识别

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 卷积神经网络CNN水果分类预测 基本结构 主要参数 MATALB代码 结果图 展望 背影 现在生活,为节能减排,减少电能…

推荐系统 FM因式分解

reference:知乎 FM算法解析 LR算法没有二阶交叉 如果是id类特征,这里的x是0/1,raw的特征输入就是float,当然,在我的理解里,一般会把raw的特征进行分桶,还是映射到0/1特征,不然这个w…

树莓派测试wifi与eth速率

测试网速方法: 1.安装插件: 首先在树莓派端安装iperf3 sudo apt install iperf3PC端也需要安装iperf3,单击下面网址即可 下载网址 压缩包解压到桌面,文件内容如下图所示: 2.开始测速服务: 树莓派端在…

周报终结者 GitLab 个人工作记录查询器

序言 每周都要写周报,烦死人。为了解救自己,把自己从无聊的工作中抽离出来。 特别写了一个工具。可以查询GitLab中自己一段时间内的所有提交记录。 按照项目和分支进行排序 效果 还可以查询原始的json数据方便自己进行筛选和扩展 使用方式 1.获取个人…

从 1 秒到 10 毫秒!在 APISIX 中减少 Prometheus 请求阻塞

本文介绍了 Prometheus 插件造成长尾请求现象的原因,以及如何解决这个问题。 作者屠正松,Apache APISIX PMC Member。 原文链接 现象 在 APISIX 社区中,曾有部分用户陆续反馈一种神秘现象:部分请求延迟较长。具体表现为&#xf…

Android电视盒子最强看电视app-tvbox配置(视频源)教程

今天给大家分享一下安卓tv上最强的看视频神器-tvbox的配置方法 tvbox是一款影视观看类的软件,各种影视资源都是为你免费提供的,还有海量热门影视为你提供电视直播,让你可以实时在线进行观看以及体验一样,超多影视剧内容你感兴趣的…

实景建模整合了什么优势?有哪些领域应用?

近年来,无接触经济、线上营销模式成为了热门,伴随着国家十四五规划的出台,对数字经济的扶持是巨大的。VR实景迎来了发展新利好,实景建模—专业的倾斜摄影测量三维实景建模平台,为你真实还原现实世界! 实景建…

Homekit智能家居系列一智能触摸面板开关

触摸开关,即通过触摸方式控制的墙壁开关,其感官场景如同我们的触屏手机,只需手指轻轻一点即可达到控制电器的目的,随着人们生活品质的提高,触摸开关将逐渐将换代传统机械按键开关。 触摸开关控制原理 触摸开关我们把…

【Adobe】GenP3.0的使用教程

1、Google一下GenP 2、或者直接点击:https://www.reddit.com/r/GenP/ 3、选择GenP 3.0 - NEW 4、点击下载 注:这个地址可以不用科学上网即可下载:https://www.mediafire.com/file/jr0jqeynr4h21f9/Adobe_GenP_3.0.zip/file 5、点击运行 RunM…

【并发基础】操作系统中线程/进程的生命周期与状态流转以及Java线程的状态流转详解

目录 一、操作系统中进程和线程的状态 1.1 进程 1.1.1 进程的概念 1.1.2 进程的状态 1.1.3 进程调度流程图(五状态) 1.1.4 挂起状态 1.1.4 进程调度流程图(六状态和七状态) 1.1.5 睡眠状态 1.1.6 进程的诞生与消亡 1.2 线程 1.2.1…

运营新人必看 eBay申诉的最全资料

eBay作为一个电商交易平台,限制还是不少的。前几篇eBay系列文章发布后,也有些兄弟来向我反应eBay平台的严格程度,很容易因为这样那样的原因就被封掉了,自己也莫名其妙的。龙哥今天就总结一下eBay封号中比较常见的原因和万一被封要…

关于js数据类型的理解

目录标题一、js数据类型分为 基本数据类型和引用数据类型二、区别:传值和传址三、深浅拷贝传值四、数据类型的判断一、js数据类型分为 基本数据类型和引用数据类型 1、基本数据类型 Number、String、Boolean、Null、undefined、BigInt、Symbol 2、引用数据类型 像对…

详解信道估计的发展与最新研究进展(MIMO)

目录 一. MIMO信道估计的重要性 二. 最经典的两种信道估计方法 2.1 最小二乘信道估计(LS) 2.2 最小均方误差信道估计(MMSE) 三. 优化传统的MIMO信道估计技术 四. 介绍压缩感知技术 五. 基于压缩感知的MIMO信道估计 5.1 压缩感知怎么用在MIMO信道估计 5.2 改进压缩感知…