以目标检测和分类任务为例理解One-Hot Code

在目标检测和分类任务中,每一个类别都需要一个编码来表示,同时,这个编码会用来计算网络的loss。比如有猫,狗,猪三种动物,这三种动物相互独立,在分类中,将其中任意一种分类为其他都同等的错误。

在这种情况下,我们比如将猫为0,狗为1,猪为2。就会出现一个问题,三者之间两两距离不同。 这在参与损失计算的时候是完全不能接受的:互相独立的标签之间,竟然出现了不对等的情况。

因此,需要有一种表示方法,将互相独立的标签表示为互相独立的数字,并且数字之间的距离也相等。

那么我们可以利用向量的正交性,也就是猫[1,0,0],狗[0,1,0],猪[0,0,1]。那么三者是相互独立的。也就是正交的。

可以这么理解,比如某个物体的分类为70%为猫,20%为狗,10%为猪。那么就有输出向量为[0.7,0.2,0.1],这个向量可以理解为在One-Hot编码构成的向量空间中的一个具体值,那么在计算loss的时候,将该值和其groundtruth对应的向量进行比对。在训练中,如果该物体真的为猫,那么其groundtruth就是[1,0,0],loss应该抑制后两个概率而增加第一位的概率。

例如这里假设一种loss计算 L o s s = ( G r o u n d T r u t h − 0.5 ) ⋅ P r e d i c t Loss=(GroundTruth-0.5)\cdot Predict Loss=(GroundTruth−0.5)⋅Predict就能够得到一个分数,这个分数的提升就代表着第一类的预测得分增大和后两项的减小。

One-Hot的缺点

当分类数量很大的时候,由于要保证各个分类的正交性,会产生维度爆炸的问题。

相关推荐
思绪无限5 小时前
YOLOv5至YOLOv12升级:木材表面缺陷检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·目标检测·计算机视觉·木材表面缺陷检测
kishu_iOS&AI5 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财5 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
TechubNews5 小时前
新火集团首席经济学家付鹏演讲——2026 年是 Crypto 加入到 FICC 资产配置框架元年
大数据·人工智能
蒸汽求职6 小时前
跨越 CRUD 内卷:半导体产业链与算力基建下的软件工程新生态
人工智能·科技·面试·职场和发展·软件工程·制造
DeepModel6 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
聊点儿技术6 小时前
LLM数据采集如何突破AI反爬?——用IP数据接口实现进阶
人工智能·数据分析·产品运营·ip·电商·ip地址查询·ip数据接口
小兵张健6 小时前
一场大概率没拿到 offer 的面试,让我更坚定去做喜欢的事
人工智能·面试·程序员
2501_940041746 小时前
AI创建小游戏指令词
人工智能·游戏·prompt
AC赳赳老秦6 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw