知识蒸馏学习记录

这篇具有很好参考价值的文章主要介绍了知识蒸馏学习记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在学习降噪处理不良天气的算法过程中,接触到了知识蒸馏,该算法作为一个深度学习通用算法,不仅广泛应用在自然语言处理方面,在计算机视觉等领域也广受追捧。

概要

简单来说,知识蒸馏就是将一个大的教师网络萃取到一个小的学生网络中,即完成一个知识迁移的过程,这个教师网络可能是很多网络的集合,是一个很臃肿的模型,为了方便将其部署在一些算力受限的平台设备上,如手机,自动驾驶平台,便将教师网络浓缩变为学生网络。

预备知识

我们以一个分类模型来介绍知识蒸馏过程,在分类模型中使用交叉熵损失作为损失函数,下面介绍一下交叉熵损失函数的推导过程。

交叉熵损失函数推导过程

知识蒸馏学习记录

hard target与soft target

了解完交叉熵损失函数后,在这里我们需要引入一个概念,分别是hard targetsoft target,以分类模型为例:
每个样本都有确定的类别,即其值要么为0,要么为1,这样的标签则为hard target(红框表示),而soft target则是以概率的形式表示,这也是我们分类网络的输出结果(绿框表示)这种表示方式也是我们一般标注文件的形式,但这种方式在从模型学习的过程来看是不科学的。

知识蒸馏学习记录

例如以下面的三分类来看,hard target明确告诉我们图片中某个目标是马,他不是车也不是驴。

知识蒸馏学习记录

soft target则给出了目标是三者的概率,如马0.7 ,驴0.2,车0.1,这种方式不仅给出了其正确类别,还给出了非正确类别间的相对差别,即驴与马还是有些相似的,而车却很不像,相较于hard target,这种方式包含了更多的信息。
如下图手写数字识别分类:sotf target包含很多信息,更像谁,更不像谁,所以soft target相较于hard target是更科学的。我们可以使用teacher 网络训练出的sotf target送入到学生网络中作为标签进行学习。

知识蒸馏学习记录
总结一句话:

soft target相较于hard target,包含更多的知识和信息,更像谁,更不像谁,有多像,有多不像,特别是其能出给非正确类别概率的相对大小

为了让类别的间的相对误差更加明显,引入了蒸馏温度的概念。

蒸馏温度

如何理解蒸馏温度呢?其实很简单,就是在softmax函数的计算中加入了调制温度系数T用于放大差别,定义如下:但T不能太大,贫富差距就变小了

知识蒸馏学习记录

具体计算如下,分别计算原始的softmax与T=3时的损失。

知识蒸馏学习记录

知识蒸馏模型架构

具体过程:
将大量数据送入已经训练好的教师网络,求出T=t时的soft labels(soft target),再将数据送入一个没有训练过,或是半成品的学生网络去计算T=t时的soft prediction,然后与soft labels求损失,同时学生网络中还要求T=1时的预测结果,称为hard prediction,其与hard target求损失,最后两个损失进行加权求和即得到最终的损失。

关于学习的内容:
可以是最后的输出结果(soft target),也可以是中间的特征层,也可以是注意力图谱。
知识蒸馏学习记录

知识蒸馏为何有用?

椭圆为收敛域空间,可以看到通过教师网络收敛的域空间与学生网络自己收敛的域空间也是很相近的。

知识蒸馏学习记录文章来源地址https://www.toymoban.com/news/detail-504480.html

到了这里,关于知识蒸馏学习记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【知识蒸馏】知识蒸馏(Knowledge Distillation)技术详解

    参考论文:Knowledge Distillation: A Survey        ​ 近年来,深度学习在学术界和工业界取得了巨大的成功,根本原因在于其可拓展性和编码大规模数据的能力。但是, 深度学习的主要挑战在于,受限制于资源容量,深度神经模型很难部署在资源受限制的设备上。如嵌入式设备

    2024年01月23日
    浏览(27)
  • 知识蒸馏之自蒸馏

    知识蒸馏之自蒸馏@TOC 本文整理了 近几年顶会中的蒸馏类文章(强调self- distillation) ,后续可能会继续更新其他计算机视觉领域顶会中的相关工作,欢迎各位伙伴相互探讨。 注意力蒸馏 (Attention distillation) :用于把大网络学习到的注意力特征图(attention map)迁移到小网络中

    2024年02月06日
    浏览(27)
  • 知识蒸馏实战:使用CoatNet蒸馏ResNet

    知识蒸馏(Knowledge Distillation),简称KD,将已经训练好的模型包含的知识(”Knowledge”),蒸馏(“Distill”)提取到另一个模型里面去。Hinton在\\\"Distilling the Knowledge in a Neural Network\\\"首次提出了知识蒸馏(暗知识提取)的概念,通过引入与教师网络(Teacher network:复杂、但预测精度优

    2024年02月06日
    浏览(40)
  • 人工智能大模型技术基础系列之:模型蒸馏与知识蒸馏

    作者:禅与计算机程序设计艺术 模型蒸馏(Model Distillation)是将一个复杂的大型机器学习模型压缩到更小且效率更高的模型上的一种技术。它可以让用户获得更高质量的模型,同时降低计算资源占用和部署成本。目前国内外多种公司在使用模型蒸馏技术,如阿里巴巴在内部业

    2024年02月05日
    浏览(40)
  • 知识蒸馏

    目录 一 引言 1.1 深度学习的优点 1.2 深度学习的缺点 二 什么是知识蒸馏 2.1 模型压缩 2.2 什么是学习 2.3 什么是知识蒸馏 2.4 知识蒸馏的一般流程 三 知识蒸馏的分类 3.1 模型结构的种类 3.2 知识的分类 3.3 如何蒸馏 四 输出层知识蒸馏 《Distilling the Knowledge in a Neural Network 》 20

    2024年02月03日
    浏览(26)
  • 知识蒸馏(Knowledge Distillation)

     论文:[1503.02531] Distilling the Knowledge in a Neural Network (arxiv.org) 知识蒸馏是一种模型压缩方法,是一种基于“教师-学生网络思想”的训练方式,由于其简单,有效,并且已经在工业界被广泛应用。 知识蒸馏使用的是Teacher—Student模型,其中teacher是“知识”的输出者,student是“

    2024年02月06日
    浏览(31)
  • 知识蒸馏(Knowledge Distillation)

    知识蒸馏的概念由Hinton在Distilling the Knowledge in a Neural Network中提出,目的是把 一个大模型或者多个模型集成 学到的知识迁移到另一个轻量级模型上。 Knowledge Distillation,简称KD,顾名思义,就是将已经训练好的模型包含的知识(Knowledge),蒸馏(Distill)提取到另一个模型里面去。

    2024年02月03日
    浏览(23)
  • 论文解读:在神经网络中提取知识(知识蒸馏)

    提高几乎所有机器学习算法性能的一种非常简单的方法是在相同的数据上训练许多不同的模型,然后对它们的预测进行平均[3]。不幸的是,使用整个模型集合进行预测是很麻烦的,并且可能在计算上过于昂贵,无法部署到大量用户,特别是如果单个模型是大型神经网络。Car

    2024年02月21日
    浏览(34)
  • yolov5使用知识蒸馏

    提示:本文采用的蒸馏方式为 Distilling Object Detectors with Fine-grained Feature Imitation 这篇文章 提示:这里可以添加本文要记录的大概内容: 本文介绍的论文《Distilling Object Detectors with Fine-grained Feature Imitation》即是基于 Fine-grained Feature Imitation 技术的目标检测知识蒸馏方法。该方法

    2023年04月08日
    浏览(21)
  • 神经网络中的知识蒸馏

    多分类交叉熵损失函数:每个样本的标签已经给出,模型给出在三种动物上的预测概率。将全部样本都被正确预测的概率求得为0.7 0.5 0.1,也称为似然概率。优化的目标就是希望似然概率最大化。如果样本很多,概率不断连乘,就会造成概率越来越小。对其取对数,使其最大

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包