【知识蒸馏】透彻理解soft target、hard target

问题引入

知识蒸馏中用soft target代替hard target,那么soft target、hard target到底是什么?对他们该如何理解?
下面做一个简单快速的说明

理解soft target、hard target

首先:都是概率分布

首先,hard target、soft target都是标签(Labels)的概率分布。

以手写数字识别任务为例

样本

训练集中的某个样本

标准答案(ground truth)

ground truth / hard label y y y :2

hard target、soft target的不同

0123456789
hard target0010000000
soft target0.020.0350.60.20.0050.020.020.030.040.03

或者看下面这张直方图,更直观地体现了hard target和soft target的区别

也许这张图还不足以让我们感受到soft target的优势,那么下面这张图就更好地说明了soft target优于hard taget的地方:携带更多 Teacher Model 学到的有用信息
解释:第一个“2”与“3”更像,则预测结果中3的概率(相比其他数字)显然变大了;第二个“2”与“7”更像,则预测结果中p(label=7)显然变大了。而这两个样本的hard target完全一样
“ 能携带更多信息 ”, Hinton 在知识蒸馏鼻祖论文(Distilling the Knowledge in a Neural Network)中的描述是:

One of our main claims about using soft targets instead of hard targets is that a lot of helpful information can be carried in soft targets that could not possibly be encoded with a single hard target.

实验结果也表明:使用soft target得到的Student Model拥有更好的拟合能力。
在这里插入图片描述

如何soft(软化)

温度T

上面说明了soft target比hard target好在哪,那么知识蒸馏是怎么得到soft target的呢?
答案:引入温度T。

回顾
化学蒸馏:A+B的混合物,想要分离A、B。已知 T A 沸点 < T B 沸点 T_{A沸点}<T_{B沸点} TA沸点<TB沸点。那么就能通过蒸馏的方式:当 T A 沸点 < T 蒸馏 < T B 沸点 T_{A沸点}<T_{蒸馏}<T_{B沸点} TA沸点<T蒸馏<TB沸点,A被
“蒸” 出去了,瓶子里留下的是B,且能在另一端收集到A——达到了分离的目的。

知识蒸馏:
q i = s o f t m a x ( z i ) = e x p ( z i / T ) ∑ j e x p ( z j / T ) q_i=softmax(z_i)=\frac{exp(z_i/T)}{\sum_jexp(z_j/T)} qi=softmax(zi)=jexp(zj/T)exp(zi/T)

Using a higher value for T produces a softer probability distribution over classes.

在这里插入图片描述
soft target就是上图中的soft labels。

步骤

S1: 得到训练好的Teacher Model(训练数据为hard labels)
S2:
Teacher Model(T=t)得到soft targets
S3:
Student Model(T=t)、Student Model(T=1)分别得到soft predictions、hard predictions。
Distillation Loss: 将上一步得到的soft targets与soft predictions作交叉熵
Student Loss: hard predictions与hard labels作交叉熵

总的损失函数是这两部分的加权,分别赋予权重 β 、 α \beta、\alpha βα
在这里插入图片描述
S3: 最后作测试令Student Model(T=1)


关于梯度下降更新logits的部分可后续更新,但我自己已经推好了😁

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对大数据的透彻理解全文共14页,当前为第1页。对大数据的透彻理解全文共14页,当前为第1页。对大数据的透彻理解 对大数据的透彻理解全文共14页,当前为第1页。 对大数据的透彻理解全文共14页,当前为第1页。 一、 大数据基本概念 大数据Big Data是指大小超出了常用的软件工具在运行时间内可以承受的收集,管理和处理数据能力的数据集;大数据是目前存储模式与能力、计算模式与能力不能满足存储与处理现有数据集规模产生的相对概念。 大数据的预处理 主要完成对已接收数据的辨析、抽取、清洗等操作。 (1)抽取:因获取的数据可能具有多种结构和类型,数据抽取过程可以帮助我们将这些复杂的数据转化为单一的或者便于处理的构型,以达到快速分析处理的目的。 (2)清洗:对于大数据,并不全是有价值的,有些数据并不是我们所关心的内容,而另一些数据则是完全错误的干扰项,因此要对数据通过过滤"去噪"从而提取出有效数据。 大数据带来的数学问题 在数学上来看,计算机中存在不断变大的数据集,不存在绝对的大数据,计算机中的所有数据集都是有限集合。 大数据采样——把大数据变小、找到与算法相适应的极小样本集、采样对算法误差的影响 大数据表示——表示决定存储、表示影响算法效率 大数据不一致问题——导致算法失效和无解、如何消解不一致 大数据中的超高维问题——超高维导致数据稀疏、算法复杂度增加 大数据中的不确定维问题——多维度数据并存、按任务定维难 大数据中的不适定性问题——高维导致问题的解太多难以抉择 大数据的特征 稠密与稀疏共存:局部稠密与全局稀疏 冗余与缺失并在:大量冗余与局部缺失 显式与隐式均有:大量显式与丰富隐式 静态与动态忽现:动态演进与静态关联 多元与异质共处:多元多变与异质异性 量大与可用矛盾:量大低值与可用稀少 对大数据的透彻理解全文共14页,当前为第2页。对大数据的透彻理解全文共14页,当前为第2页。目前大数据的外延 对大数据的透彻理解全文共14页,当前为第2页。 对大数据的透彻理解全文共14页,当前为第2页。 大数据规模大小是一个不断演化的指标: 当前任务处理的单一的数据集,从数十TB到十几PB级的数据规模(TB«PB«EB«ZB) 处理大数据的可等待的合理时间依赖任务的目标: 地震数据预测要求在几分钟内才有效、气象数据应该在小时级别、失联飞机数据处理要在7天之内、数据挖掘一般要求在12小时内 二、 大数据悖论 大数据已被定义为科学探索的第四范式。继几千年前的实验科学、数百年前的理论科学和数十年前的计算 科学之后,当今的数据爆炸孕育了数据密集型科学,将理论、实验和计算仿真等范式统一起来。大数据已被誉为"非竞争性"生产要素。大数据具有"取之不尽,用 之不竭"的特性,在不断的再利用、重组和扩展中持续释放其潜在价值,在广泛的公开、共享中不断创造着新的财富。根源在于,大数据的价值在于预测未知领域、 非特定因素的未来趋势,在于破解长期的、普遍的社会难题。而目前的大数据技术和应用,依然局限于历史和实时数据的关联分析,局限于满足短线的、特定的市场 需求。解决悖论的过程,恰恰是理论和方法应运而生的过程。而人们试图解决悖论的努力,正好是大数据落地生根的推动力。 方法论缺位 自2008年《自然》杂志推出"大数据"专刊以来,大数据概念就从学术大讨论,转向了企业的数字化 转型,进而上升到"开放政府数据"的战略布局。然而,单纯的数量上的规模庞大,并不能轻易地将大数据与以往的"海量数据"、"超大规模数据"等区别开,因 为三者均没有设置数量级等门槛。 方法论缺位是最大的障碍。大数据发展的核心动力源于人们测量、记录和分析世界的渴望,满足这些渴望 需要数据、技术和思维三大要素。在计算技术、通信技术日益成熟的今天,在廉价的、便捷的数字化存储普及的当下,数据无处不在,技术正以标准化、商品化的方 式提供,事实上思维和方法论才是决定大数据成败的关键,但目前来看,跨越学术与产业、技术与应用之间鸿沟的方法论依然不完善。 对大数据的透彻理解全文共14页,当前为第3页。对大数据的透彻理解全文共14页,当前为第3页。在社会难题中淘金 对大数据的透彻理解全文共14页,当前为第3页。 对大数据的透彻理解全文共14页,当前为第3页。 正如数学史上三次危机分别促成公理几何的诞生、集合论的创立和现代数据的发展一样,悖论是理论、技 术和应用进步的巨大推动力。大数据悖论的解决,也将推动大数据应用的普及和社会价值的释放。经过新闻媒体和学术会议的大肆宣传之后,大数据技术趋势一下子 跌到谷底,许多数据创业公司变得岌岌可危……根据这条著名的Gartner技术成熟度曲线,大数据已经走过了萌芽期和泡沫化的炒作期,并将在未来3~5年 内步入低谷期。 市场中的鸿沟 大数据营销模型将经历创新者、早期采用者、早期大众、后期大众和落后者等5
Zookeeper是一种分布式协调服务,而Paxos算法则是一种分布式一致性算法,Zookeeper使用Paxos算法来实现分布式数据一致性。下面是Paxos算法的原理及过程: 1. 提议阶段: Paxos算法的核心是通过多个节点之间的协商达成一致。一个节点想要在分布式系统中提交一个提议,首先需要向其他节点发送一个提议请求。每个节点收到提议请求后,会进行如下处理: a. 如果该节点没有收到过任何提议,则该节点会接受该提议。 b. 如果该节点已经收到过提议,但是该提议的编号小于当前提议的编号,则该节点会拒绝该提议,并回复当前提议的编号。 c. 如果该节点已经收到过提议,并且该提议的编号大于等于当前提议的编号,则该节点会接受该提议。 2. 学习阶段: 如果一个提议被超过一半的节点接受,则该提议成为了一个已经被接受的提议。如果一个节点收到了一个已经被接受的提议,则该节点会更新自己的状态,并通知其他节点该提议已经被接受。 3. 冲突处理: 如果两个节点同时向其他节点发送了提议请求,则会发生冲突。为了解决冲突,Paxos算法会在提议中增加一个唯一标识符,例如一个时间戳。这样,即使两个节点同时发送了提议请求,它们的提议也会有不同的编号和唯一标识符,从而避免冲突。 总体来说,Paxos算法通过多个节点之间的协商,实现了分布式系统中的数据一致性。Zookeeper使用Paxos算法来实现分布式数据一致性,从而保证了分布式系统中数据的正确性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值