从Label Smoothing和Knowledge Distillation理解Soft Label
每天给你送来NLP技术干货!
来自:Smarter
深度学习领域中,通常将数据标注为hard label,但事实上同一个数据包含不同类别的信息,直接标注为hard label会导致大量信息的损失,进而影响最终模型取得的效果。本文首先探讨一下hard label和soft label之间的关系,然后介绍一下如何用可靠的方法得到蕴含更多信息的soft label,其中主要包含Label Smoothing和Knowledge 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定义为:
而Label Smoothing虽然仍是做分类任务,但其目标q从one-hot label变为soft label了,原来是1的位置变为 ,其他的原来是0的位置变为 , 通常取0.1。
InfoNCE的损失函数
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更加可靠。
Reference
https://zhuanlan.zhihu.com/p/302843504
https://zhuanlan.zhihu.com/p/90049906
When Does Label Smoothing Help?
Distilling the Knowledge in a Neural Network
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦
整理不易,还望给个在看!
从Label Smoothing和Knowledge Distillation理解Soft Label相关推荐
- Label Smoothing标签平滑详解+Pytorch保姆级实际操作
目录 简介 从提出Label Smoothing的论文出发 不使用LS时的情况 不使用LS时可能带来的问题 LS作为正则化的一种方式 具体操作 为何LS可以避免偏激的输出 对LS的另一个角度理解 Py ...
- [轻笔记] label smoothing(标签平滑)
看google AI最新的开源代码,发现有个技巧--label smoothing,网上查到的公式与代码中的公式不一样,于是做个笔记,并对见到的觉得有问题的关于label smoothing的博客也列 ...
- 【损失函数】NLLLoss损失、CrossEntropy_Loss交叉熵损失以及Label Smoothing示例与代码
机缘巧合下,近期又详细学习了一遍各损失函数的计算,特此记录以便后续回顾. 为了公式表示更加清晰,我们设 y n ∈ { 1 , 2 , - , K } {{y_n} \in \{ 1,2, \ ...
- 浅谈Label Smoothing技术
目录 一.从 One-Hot 到 Label Smoothing 二.Label Smoothing 的简单实现 三.Label Smoothing 的优缺点 四.什么时候使用 Label Smoot ...
- RETHINKING SOFT LABELS FOR KNOWLEDGE DISTIL- LATION: A BIAS-VARIANCE TRADEOFF PERSPECTIVE
最近的一些研究指出soft labels带来的regularization是知识蒸馏有效的原因之一.这边论文从训练过程中的bias-variance博弈角度出发,对soft labels重新进行了思考 ...
- 【AI面试】hard label与soft label,Label Smoothing Loss 和 Smooth L1 Loss
往期文章: AI/CV面试,直达目录汇总 [AI面试]NMS 与 Soft NMS 的辨析 [AI面试]L1 loss.L2 loss和Smooth L1 Loss,L1正则化和L2正则化 在一次询问 ...
- 关于label smoothing的理解
背景介绍 提到label smoothing(标签平滑),首先介绍一下什么是hard label和soft label. 简单来说,hard label就是非1即0,不存在既可能是A也可能是B的情况, ...
- 知识蒸馏(Knowledge Distillation)详细深入透彻理解重点
知识蒸馏是一种模型压缩方法,是一种基于"教师-学生网络思想"的训练方法,由于其简单,有效,在工业界被广泛应用.这一技术的理论来自于2015年Hinton发表的一篇神作: 论文链接 ...
- 如何理解soft target这一做法?
来自 | 知乎 地址 | https://www.zhihu.com/question/50519680 编辑 | 机器学习算法与自然语言处理公众号 本文仅作学术分享,若侵权,请联系后台删文处理 如何 ...
- 知识蒸馏是什么?(Knowledge Distillation)KD
1. 知识蒸馏介绍 1.1 什么是知识蒸馏? 在化学中,蒸馏是一种有效的分离不同沸点组分的方法,大致步骤是先升温使低沸点的组分汽化,然后降温冷凝,达到分离出目标物质的目的.化学蒸馏条件:(1)蒸馏的液 ...
最新文章
- AI实验室•西安站 教你用人脸识别打造爆款应用
- SAP 库存物资收发存报表主要思路
- 在C#中怎么调用Resources文件中的图片
- php中pandans,Python地信专题 | 基于geopandas的空间数据分析-文件IO篇
- socket io 不使用redis_Redis这么快,线程模型竟然是单线程
- c模拟linux进程管理课程设计,操作系统课程设计(三):Linux进程管理
- android高仿微信视频编辑页-视频多张图片提取
- Nsight Compute与nvprof metrics 对照
- 自学编程和计算机科班出身的差别在哪里?
- 自然语言处理5:jieba分词详解全模式,精确模式和搜索引擎模式
- idea lanyu方式激活
- 会员管理系统源码 php语言开发
- CXF报错及解决方案
- 华为交换机修改telnet接口号
- 【存储知识】NAS存储
- Android Send Email 发送邮件
- 达人评测 锐龙r7 5800x3D相当于i几 r75800x3d参数
- SoC的ESL建模学习(一)
- Linux下如何运行.sh文件
- python:办公自动化之:WORD实战之批量自动填写毕业论文指导记录(逐步完善)