以目标检测和分类任务为例理解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的缺点

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

相关推荐
jl48638211 分钟前
打造医疗设备的“可靠视窗”:医用控温仪专用屏从抗菌设计到EMC兼容的全链路解析
大数据·运维·人工智能·物联网·人机交互
kiro_10235 分钟前
BGRtoNV12与NV12toBGR互转函数
人工智能·opencv·计算机视觉
码农三叔5 分钟前
(9-1)电源管理与能源系统:电池选择与安全
人工智能·嵌入式硬件·安全·机器人·能源·人形机器人
司沐_Simuoss8 分钟前
Text to SQL系统的千层套路~
数据库·人工智能·sql·语言模型·系统架构
北京阿法龙科技有限公司9 分钟前
工业场景下AR+AI图像识别:精准选型赋能运维与质检
运维·人工智能·ar
才兄说30 分钟前
机器人租售怎么嵌?按流程节点
人工智能
logic_532 分钟前
关于VIT为啥可以用卷积代替第一层嵌入层
人工智能·神经网络·cnn
小康小小涵34 分钟前
改进型深度Q-网格DQN和蒙特卡洛树搜索MCTS以及模型预测控制MPC强化学习的机器人室内导航仿真
人工智能·机器人·自动驾驶
PNP机器人34 分钟前
突破机器人操作瓶颈!接触感知神经动力学,让仿真与现实无缝对齐
人工智能·机器人
美狐美颜sdk42 分钟前
直播美颜sdk与智能美妆技术解析:实时人脸算法如何驱动新一代互动体验
人工智能·音视频·美颜sdk·视频美颜sdk·美狐美颜sdk