SoftLabel

news2024/11/26 14:42:24

来从标签平滑和知识蒸馏理解,先探讨一下hard label和soft label之间的关系,然后介绍一下如何用可靠的方法得到蕴含更多信息的soft label,其中主要包含标签平滑和知识蒸馏两种经典方法。

深度学习领域中,通常将数据标注为hard label,但事实上同一个数据包含不同类别的信息,直接标注为hard label会导致大量信息的损失,进而影响最终模型取得的效果。本文首先探讨一下hard label和soft label之间的关系,然后介绍一下如何用可靠的方法得到蕴含更多信息的soft label,其中主要包含Label SmoothingKnowledge Distillation两种经典方法。

Hard Label vs Soft Label

hard label更容易标注,但是会丢失类内、类间的关联,并且引入噪声。

soft label给模型带来更强的泛化能力,携带更多的信息,对噪声更加鲁棒,但是获取难度大。

Label Smoothing

Softmax Cross Entropy不仅可以做分类任务(目标为one-hot label),还可以做回归任务(目标为soft label)。设网络输出的softmax prob为p,soft label为q,那Softmax Cross Entropy定义为: 

InfoNCE可以拆分成两个部分,alignment和uniformity。 

如上图所示,alignment部分只跟positive pair相关,希望positive pair的feature拉近,uniformity部分只跟negative pair相关,希望所有点的feature尽可能均匀分布在unit hypersphere上。

从softmax和InfoNCE损失函数上理解,把InoNCE公式的分母想象成soft label的所有位置相加,也就是最大值的那个位置可以看成是positive pair,其他位置都可以看成是negative pair,softmax的损失函数不是跟InfoNCE损失函数一模一样了吗,异曲同工!也就是说hard label可以认为只有positive pair,而soft label仍然保留negative pair。因此,soft label更容易避免退化解问题。 

上图是sigmoid曲线。Softmax Cross Entropy 的loss曲线其实跟sigmoid类似,越靠近1的时候,loss曲线会越平缓,这里以sigmoid曲线图为例。

从softmax的损失函数曲线上理解,hard label监督下,由于softmax的作用,one-hot的最大值位置无限往1进行优化,但是永远不可能等于1,从上图可知优化到达一定程度时,优化效率就会很低,到达饱和区。而soft label可以保证优化过程始终处于优化效率最高的中间区域,避免进入饱和区。

Knowledge Distillation

knowledge distillation相比于label smoothing,最主要的差别在于,知识蒸馏的soft label是通过网络推理得到的,而label smoothing的soft label是人为设置的。

原始训练模型的做法是让模型的softmax分布与真实标签进行匹配,而知识蒸馏方法是让student模型与teacher模型的softmax分布进行匹配。直观来看,后者比前者具有这样一个优势:经过训练后的原模型,其softmax分布包含有一定的知识——真实标签只能告诉我们,某个图像样本是一辆宝马,不是一辆垃圾车,也不是一颗萝卜;而经过训练的softmax可能会告诉我们,它最可能是一辆宝马,不大可能是一辆垃圾车,但绝不可能是一颗萝卜。

知识蒸馏得到的soft label相当于对数据集的有效信息进行了统计,保留了类间的关联信息,剔除部分无效的冗余信息。 相比于label smoothing,模型在数据集上训练得到的soft label更加可靠。

比较短哦 ~ whaosoft aiot http://143ai.com

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

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

相关文章

Listener(监听器)-ServletContextListener

开发工具与关键技术: IDEA 撰写时间:2022/11/28 监听器可以监听就是在 application , session , request 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。 ​ application 是 ServletContext 类型的…

linux-划分分区挂载磁盘

本操作以该场景为例, 当云主机挂载了—块新的数据盘时, 使用fdisk分区工具将该数据盘设为主分区, 分区方式默认设置为MBR, 文件系统设为ext4格式, 挂载在 “/mnt/sdc"下, 并设置开机启动自动挂载。 1.执行以…

Vue3常用知识点总结

一、vue3的基本介绍及项目创建 Vue是一套用于构建用户界面的渐进式框架。Vue.js 3.0 "One Piece" 正式版在2020年9月份发布,经过了2年多开发, 100位贡献者, 2600次提交, 600次PR,同时Vue3也支持Vue2的大多数特性,且,更好的支持了TypeScript,也增加了很多的…

Linux 进程信号深剖

目录传统艺能😎概念🤔信号发送🤔信号记录🤔信号产生🤔常见信号处理方式🤔终端按键产生信号🤔核心转储😋如何调试🤔系统函数发送信号🤔raise函数🤔…

单片机驱动LCD

单片机驱动LCD的方法有很多,网络上也有很多配套的例程,但是,网上例程千千万,谁是你的“no.1”。 今天给大家分享一个以面向对象的方式用单片机驱动LCD的思路。 LCD种类概述 在讨论怎么写LCD驱动之前,我们先大概了解…

无线传感器网络:差错控制

文章目录Power controlAutomatic repeat request (ARQ)Stop and WaitGo Back NSelective RepeatForward error correction (FEC)Hybrid ARQ (HARQ)References严格意义来说,文章中提到的数据包都应为数据帧更为恰当,这里提出,希望不要给大家造…

3.9 拆解小红书爆文,流量密码原来是这些【玩赚小红书】

具体如何撰写1篇爆文,解决这一问题前,我们先把爆文四要素,选题、首图、标题和正文进行拆解,真正做到选题正确,用户坐着封面、标题、正文滑滑梯,站内留下点赞评,站外去拔草。 ​ 一、选题&#…

了解模型开发与部署,看这里!

11月24日下午15:00顶象第十期业务安全系列大讲堂系列课程《Xintell 模型平台 》正式开讲。 顶象人工智能专家&研发总监无常从模型平台的现状与需求出发,带大家了解了模型平台的开发环境与部署环境,并且就顶象的Xintell 模型平台 为大家做…

[附源码]Python计算机毕业设计DjangoON-FIT

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

1988-2020年分省、城市、农村基尼系数数据集(含计算程序和算法)

1、数据来源:《中国统计年鉴》 2、时间跨度:1988-2020 3、区域范围:全国所有省份 4、指标说明: 参照田为民的文章《中国基尼系数计算及其变动趋势分析》里基尼系数的计算方法 部分数据如下 二、基尼系数计算及相关经典文献 …

win10怎么把两个盘合成一个,win10怎么把分区合并

在Windows10系统中,为了更加充分地利用磁盘空间,其中合并分区是很常见的操作之一。由于很多用户都不知道win10怎么把两个盘合成一个,所以,为了防止人为误操作而导致的磁盘数据丢失,在本文中,易我小编在本文…

1024短信盲盒 | 暖心短信陪你过节,还有更多好礼

掘友你好,见字如面。 一年一度的程序员节快要到了,我们为此准备了一个特别的短信盲盒活动。现在报名,活动期间每天都会定时收到一条来自掘金的短信,在活动最后一天10.24日,可能还会收到掘金团队不同成员的祝福哦&#…

给容灾找对象!数据流转更自由,拓宽云上更多场景

云计算高速发展,企业却有新问题? 1979年,软件和IT服务公司SunGard在美国费城建立了世界上第一个灾备中心,对数据和系统进行备份,标志着数据灾备行业的起源。20世纪80-90年代,计算机网络技术的迅速发展和普及…

文本表示(Representation)

文本表示(Representation) 这里写目录标题文本表示(Representation)独热编码(one-hot representation)整数编码Word2vec模型整体理解我的理解CBoW & Skip-gram Model改进方案Hierarchical SoftmaxNegative Sampling代码GloveG…

Servlet请求转发与重定向

目录 一、请求转发 1、RequestDispatcher 接口 2、请求转发的工作原理 3、request 域对象 4、示例 二、重定向 1、response.sendRedirect() 2、示例 3、转发和重定向的区别 一、请求转发 Web 应用在处理客户端请求时,经常需要多个 Web 资源共同协作才能生成…

工作中规范使用Java集合

目录 一、前言 二、规范使用Java集合 1.【强制】关于 hashCode 和 equals 的处理,遵循如下规则: 2.【强制】判断所有集合内部的元素是否为空,使用 isEmpty() 方法,而不是 size() 0 的方式。 3.【强制】在使用 java.util.str…

防火墙原理讲解——练习实验

♥️作者:小刘在C站 ♥️每天分享云计算网络运维课堂笔记,一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放。 目录 一防火墙基础 二防火墙配置 三防火墙的高级应用 四.实验图纸 五.实验命令 一防火…

使用SPARK进行特征工程

文章目录特征工程预处理特征选择归一化离散化Embedding向量计算效果对比特征工程 在机器学习领域,有一条尽人皆知的“潜规则”:Garbage in,garbage out。它的意思是说,当我们喂给模型的数据是“垃圾”的时候,模型“吐…

1. Vue 3.0介绍

Vue3.0介绍 1.Vue.js 3.0 源码组织方式 Vue2.x与Vue3.0的区别 源码组织方式的变化 Vue3.0的源码全部采用TypeScript重写使用Monorepo方式来组织项目结构,把独立的功能模块都提取到不同的包中。 packages下都是独立发行的包,可以独立使用。 Compositi…

[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第二课 | Input/Geometry

ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的在做出自己想要的效果。 如果你想学习在unity中如何制作一个特效,如何在unity中让模型更炫酷,那就…