Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >「知识蒸馏」最新2022研究综述

「知识蒸馏」最新2022研究综述

作者头像
zenRRan
发布于 2022-03-24 07:40:59
发布于 2022-03-24 07:40:59
3K00
代码可运行
举报
运行总次数:0
代码可运行

每天给你送来NLP技术干货!


来自:专知

华南师范大学等《知识蒸馏》最新综述论文

高性能的深度学习网络通常是计算型和参数密集型的,难以应用于资源受限的边缘设备. 为了能够在低 资源设备上运行深度学习模型,需要研发高效的小规模网络. 知识蒸馏是获取高效小规模网络的一种新兴方法, 其主要思想是将学习能力强的复杂教师模型中的“知识”迁移到简单的学生模型中. 同时,它通过神经网络的互 学习、自学习等优化策略和无标签、跨模态等数据资源对模型的性能增强也具有显著的效果. 基于在模型压缩和 模型增强上的优越特性,知识蒸馏已成为深度学习领域的一个研究热点和重点. 本文从基础知识,理论方法和应用 等方面对近些年知识蒸馏的研究展开全面的调查,具体包含以下内容:(1)回顾了知识蒸馏的背景知识,包括它的 由来和核心思想;(2)解释知识蒸馏的作用机制(3)归纳知识蒸馏中知识的不同形式,分为输出特征知识、中间特 征知识、关系特征知识和结构特征知识;(4)详细分析和对比了知识蒸馏的各种关键方法,包括知识合并、多教师 学习、教师助理、跨模态蒸馏、相互蒸馏、终身蒸馏以及自蒸馏;(5)介绍知识蒸馏与其它技术融合的相关方法, 包括生成对抗网络、神经架构搜索、强化学习、图卷积、其它压缩技术、自动编码器、集成学习以及联邦学习(6)对知识蒸馏在多个不同领域下的应用场景进行了详细的阐述(7)讨论了知识蒸馏存在的挑战和未来的研究方向.

https://cjc.ict.ac.cn/online/onlinepaper/HZH315.pdf

1. 引言

深度学习由于对目标多样性变化具有很好的鲁 棒性,近年来得到广泛的关注并取得快速的发展. 然而性能越好的深度学习模型往往需要越多的资 源,使其在物联网、移动互联网等低资源设备的应 用上受到限制. 因此研究人员开始对高效的(Efficient)深度学习模型展开研究,其目的是使具有高性能 的模型能够满足低资源设备的低功耗和实时性等要 求,同时尽可能地不降低模型的性能. 当前,主要 有 5 种方法可以获得高效的深度学习模型:直接手 工设计轻量级网络模型、剪枝、量化、基于神经架 构搜索(Neural Architecture Search,NAS)[1]的网络自 动化设计以及知识蒸馏(Knowledge Distillation,KD)[2]. 其中,知识蒸馏作为一种新兴的模型压缩方 法,目前已成为深度学习领域的一个研究热点和重 点. 国内外许多大学和研究机构已经对知识蒸馏展 开了深入研究,并且每年在机器学习数据挖掘的 国际顶级会议和知名期刊中都有关于知识蒸馏的文 章发表.  

知识蒸馏是一种教师-学生(Teacher-Student)训 练结构,通常是已训练好的教师模型提供知识,学 生模型通过蒸馏训练来获取教师的知识. 它可以以 轻微的性能损失为代价将复杂教师模型的知识迁移 到简单的学生模型中. 在后续的研究中,学术界和 工业界扩展了知识蒸馏的应用范畴,提出了利用知 识蒸馏来实现模型性能的增强. 基于此,本文根据 应用场景划分出基于知识蒸馏的模型压缩和模型增 强这两个技术方向,即获得的网络模型是否为了应 用于资源受限的设备. 图 1 给出了这两种技术对比 的一个例子,其中的教师模型都是提前训练好的复 杂网络. 模型压缩和模型增强都是将教师模型的知 识迁移到学生模型中. 所不同的是,模型压缩是教 师网络在相同的带标签的数据集上指导学生网络的 训练来获得简单而高效的网络模型,如左图的学生 是高效的小规模网络. 模型增强则强调利用其它资 源(如无标签或跨模态的数据)或知识蒸馏的优化策 略(如相互学习和自学习)来提高一个复杂学生模型 的性能. 如右图中,一个无标签的样本同时作为教 师和学生网络的输入,性能强大的教师网络通常能 预测出该样本的标签,然后利用该标签去指导复杂 的学生网络训练.

本文重点收集了近些年在人工智能、机器学习 以及数据挖掘等领域的国际顶级会议(如 ICCV, ICML,EMNLP,KDD)与重要学术期刊(如 PAMI, TOIS,TKDE,TMM)上有关知识蒸馏的论文并加以 整理、归纳和分析. 据我们所知,目前国内没有知 识蒸馏相关的中文综述,而先前两篇英文综述[3,4] 和我们工作相似,但本文进一步完善了知识蒸馏的 综述. 具体地,本文与先前的英文综述[3,4]至少有以 下三点的不同: 

(1)先前的研究都忽略了知识蒸馏在模型增强 上的应用前景. 在本文的研究调查中,知识蒸馏不 仅可以用于模型压缩,它还能通过互学习和自学习 等优化策略来提高一个复杂模型的性能. 同时,知 识蒸馏可以利用无标签和跨模态等数据的特征,对 模型增强也具有显著的提升效果. 

(2)先前的研究都没有关注到结构化特征知 识,而它在知识架构中又是不可或缺的. 某个结构 上的知识往往不是单一的,它们是有关联的、多个 知识形式组合. 充分利用教师网络中的结构化特征 知识对学生模型的性能提升是有利的,因此它在近 两年的工作中越发重要[5,6]. 

(3)本文从不同视角给出了基于知识蒸馏的描 述,并提供了更多的知识介绍. 在知识蒸馏的方法 上,本文增加了知识合并和教师助理的介绍;在技 术融合的小节,本文增加了知识蒸馏与自动编码器、 集成学习和联邦学习的技术融合;在知识蒸馏的应 用进展中,本文分别介绍了知识蒸馏在模型压缩和 模型增强的应用,并增加了多模态数据和金融证券 的应用进展;在知识蒸馏的研究趋势展望中,本文 给出了更多的研究趋势,特别是介绍了模型增强的 应用前景.

总的来说,本文在文献[3,4]基础上,以不同的 视角,提供更加全面的综述,以便为后续学者了解 或研究知识蒸馏提供参考指导.

本文组织结构如图 2 所示. 第 2 节回顾了知识 蒸馏的背景知识,包括它的由来;第 3 节解释知识 蒸馏的作用机制,即为什么知识蒸馏是有效的;第 4 节归纳知识蒸馏中知识的不同形式;第 5 节详细 分析了知识蒸馏的各种方法,其强调的是知识迁移 的方式;第 6 节介绍知识蒸馏与其它技术融合的相 关方法;第 7 节归纳知识蒸馏的应用进展;第 8 节 给出了知识蒸馏的研究趋势展望. 最后,第 9 节对 本文工作进行总结.

2. 知识蒸馏的提出

知识蒸馏与较早提出的并被广泛应用的一种机 器学习方法的思想较为相似,即迁移学习[7]. 知识蒸 馏与迁移学习都涉及到知识的迁移,然而它们有以 下四点的不同:

 (1) 数据域不同. 知识蒸馏中的知识通常是在同 一个目标数据集上进行迁移,而迁移学习中的知识 往往是在不同目标的数据集上进行转移.

(2) 网络结构不同. 知识蒸馏的两个网络可以是 同构或者异构的,而迁移学习通常是在单个网络上 利用其它领域的数据知识. 

(3) 学习方式不同. 迁移学习使用其它领域的丰 富数据的权重来帮助目标数据的学习,而知识蒸馏 不会直接使用学到的权重.

(4) 目的不同. 知识蒸馏通常是训练一个轻量级 的网络来逼近复杂网络的性能,而迁移学习是将已 经学习到相关任务模型的权重来解决目标数据集的 样本不足问题.

3 知识蒸馏的作用机制 

Hinton 等人[2]认为,学生模型在知识蒸馏的过 程中通过模仿教师模型输出类间相似性的“暗知识” 来提高泛化能力. 软目标携带着比硬目标更多的泛 化信息来防止学生模型过拟合. 虽然知识蒸馏已经 获得了广泛的应用,但是学生模型的性能通常是仅接 近于教师模型. 特别地,给定学生和教师模型相同的 大小却能够让学生模型的性能超越教师模型[12],性 能越差的教师模型反倒教出了更好的学生模型[13]. 为了更好地理解知识蒸馏的作用,一些工作从数学 或实验上对知识蒸馏的作用机制进行了证明和解 释. 本文归纳为以下几类:

(1) 软目标为学生模型提供正则化约束. 这一 结论最早可以追溯到通过贝叶斯优化来控制网络超 参数的对比试验[14],其表明了教师模型的软目标为 学生模型提供了显著的正则化. 软目标正则化的作 用是双向的,即还能将知识从较弱的教师模型迁移 到能力更强大的学生模型中[15,16]. 一方面,软目标 通过标签平滑训练提供了正则化[15,16],标签平滑是 通过避免了过分相信训练样本的真实标签来防止训 练的过拟合[15]. 另一方面,软目标通过置信度惩罚 提供了正则化[12],置信度惩罚让学生模型获得更好 的泛化能力,其主要依赖于教师模型对正确预测的 信心. 这两种正则化的形式已经在数学上得到了证 明. 总的来说,软目标通过提供标签平滑和置信度 惩罚来对学生模型施加正则化训练. 因此,即使没 有强大的教师模型,学生模型仍然可以通过自己训 练或手动设计的正则化项得到增强[16].

(2) 软目标为学生模型提供了“特权信息” (Privileged Information). “特权信息”指教师模型 提供的解释、评论和比较等信息[17]. 教师模型在训 练的过程中将软目标的“暗知识”迁移到学生模型 中,而学生模型在测试的过程中并不能使用“暗知 识”. 从这个角度看,知识蒸馏是通过软目标来为 学生模型传递“特权信息”.

(3) 软目标引导了学生模型优化的方向. Phuong 等人[18]从模型训练的角度证明了软目标能引导学生 模型的优化方向. 同时,Cheng 等人[19]从数学上验 证了软目标使学生模型比从原始数据中进行优化学 习具有更高的学习速度和更好的性能. 

4 蒸馏的知识形式

原始知识蒸馏(Vanilla Knowledge Distillation)[2] 仅仅是从教师模型输出的软目标中学习出轻量级的 学生模型. 然而,当教师模型变得更深时,仅仅学 习软目标是不够的. 因此,我们不仅需要获取教师 模型输出的知识,还需要学习隐含在教师模型中的 其它知识,比如中间特征知识. 本节总结了可以使 用的知识形式有输出特征知识、中间特征知识、关 系特征知识和结构特征知识. 知识蒸馏的 4 种知识 形式的关系如图 5 所示. 从学生解题的角度,这 4 种知识形式可以形象比喻为:输出特征知识提供了 解题的答案,中间特征知识提供了解题的过程,关 系特征知识提供了解题的方法,结构特征知识则提 供了完整的知识体系.

5 知识蒸馏的方法 

本节从知识利用的方式,归纳和分析知识蒸 馏的主要方法,包括知识合并、多教师学习、教 师助理、跨模态蒸馏、相互蒸馏、终身蒸馏以及 自蒸馏.

6 知识蒸馏与其它技术的融合 

近几年,研究人员发现知识蒸馏结合其它主流 技术通常能够提高其性能. 目前这些主流技术主要 有:生成对抗网络、神经架构搜索、强化学习、图 卷积、其它压缩技术、自动编码器、集成学习以及 联邦学习.

7 知识蒸馏的应用进展 

知识蒸馏的最初目的是压缩深度学习网络模 型,这在资源受限的终端设备上具有广泛的应用. 但随着研究的新进展,知识蒸馏不仅可以用于压缩 模型,还可以通过神经网络的互学习、自学习等优 化策略和无标签、跨模态等数据资源对模型的性能 增强也具有显著的提升效果. 目前知识蒸馏的主要 应用领域有计算机视觉自然语言处理语音识别推荐系统、信息安全、多模态数据和金融证券. 知 识蒸馏在计算机视觉、自然语言处理、语音识别和 推荐系统上的应用根据其目的的不同,可以分为模 型压缩和模型增强. 模型压缩是为了获得简单而高 效的网络模型,以方便部署于资源受限的设备. 而 模型增强通常是利用其它资源(如无标签或跨模态 的数据)来获取复杂的高性能网络.  

8 知识蒸馏的研究趋势展望

知识蒸馏是一个新兴的研究领域,它仍有许多 值得深入探索和亟待解决的问题. 在这一节中,我 们提出一些值得进一步深入探讨的研究点,也是我 们今后需要解决完善的研究方向.

(1) 如何确定何种知识是最佳的. 知识蒸馏中 的知识是一个抽象的概念,网络参数,网络的输出 和网络的中间特征等都可以理解为知识. 但是何种 知识是最佳的,或者哪些知识以互补的方式能成为 最佳的通用知识表示?为了回答这个问题,我们需 要了解每种知识以及不同种类组合知识的作用. 比 如说,基于特征的知识通常用于模仿教师特征产生 的过程,基于关系的知识常用于捕获不同样本之间 或网络层之间特征的关系. 当教师和学生的模型容 量(“代沟”)较小的时候,学生只模仿教师的软目 标就可以获得有竞争力的性能. 而当师生的“代沟” 较大时,需要将多种蒸馏的知识形式和方法结合来 表示教师模型. 虽然能明白多种知识的组合方式通 常能提高学生网络的性能,但是使用哪些知识形式, 方法和技术的组合是最优的,还尚无定论.

(2) 如何确定何处的知识是最佳的. 一些工作 随机选择中间网络的某层特征作为知识,比如 FitNets[27]将教师前几层的网络特征作为特征蒸馏的 位置. 然而他们都没有提供一个理由,即为什么能 够成为代表性知识. 这主要是由于教师和学生模型 结构的不一致导致的,即教师模型通常比学生模型 拥有更多的网络层. 因此,需要筛选教师模型中最 具有代表性的特征. 然而教师模型中哪些特征层是 最具有代表性的?这也是一个未解决的问题. 在基 于关系的知识蒸馏中,也一样无法解释该选择哪些 层的关系知识作为学生模仿的对象. 如 FSP 矩阵[31] 随机选择教师模型的两个网络层作为关系蒸馏的位 置. 关系知识蒸馏是容量无关的,即关系蒸馏仅仅 需要获取的是网络层间或样本间的关系知识. 因此 这不是师生间的“代沟”问题,而是归咎于知识其实是一个“黑盒”问题.

(3) 如何定义最佳的师生结构. 知识蒸馏传递 的并不是参数,而是抽取到的知识. 因此知识蒸馏 是网络架构无关的,即任何学生都可以向任何教师 学习. 通常,容量更大的学生模型可以学习更多的 知识,但复杂度过大会延长推理的时间. 容量更大 的教师模型隐含着较多的知识和更强的能力,但是 并非能力越强的教师就能产生更佳的学生模型[13]. 同时,每一个教师模型都有一个最强学生结构[100]. 因此,我们只能在给定的教师模型的前提下,找到 最佳的学生模型. 然而在未指定教师模型的情况 下,目前还无法确定最佳的学生模型. 

(4) 如何衡量师生间特征的接近程度. 知识蒸 馏是要将教师网络中的知识迁移到学生模型中,迁 移效果的好坏最终可以通过学生网络性能来体现. 然而在网络训练的过程中,只能通过损失函数去判 断教师和学生之间特征的接近程度. 因此需要提前 设计好知识蒸馏的损失函数,如 KL 散度、均方误 差(Mean Squared Error,MSE)和余弦相似性. 而损 失函数的选取受算法和离群点等因素的影响,并且, 不同损失函数的作用范围是不一样的. 例如,通过 KL 散度衡量的两个随机分布上的相似度是非对称 的. 余弦相似性强调两个向量的特征在方向上的差 异,却没有考虑向量大小. MSE 在高维特征中的作 用不明显,且很容易被随机特征混淆[4]. 因此,衡量 师生间特征接近程度的方法是多样化的,我们需要 根据特定的问题和场景选取最合适的损失函数. 

(5) 蒸馏的知识形式、方法和融合技术还需要 深入探索. 原始知识蒸馏将类间的关系信息作为知 识,但这在“代沟”较大的师生网络中效果不佳. 为 了解决这一问题,后续的研究者寻找不同形式的“知 识”来充实知识的内涵,如关系知识. 其知识的来 源应该是多样化的,可以来自于单个或多个的样本 和网络本身. 同样,知识蒸馏的方法和融合技术也 能缓解甚至解决师生间的“代沟”问题,它们强调 充分地利用知识来提高模型的表征能力. 新的知 识形式、方法和融合技术的发现可能会伴随着新的 应用场景,这将丰富知识蒸馏的理论框架和实践的 应用. 

(6) 模型压缩和模型增强的深度融合. 模型压 缩是将强大的复杂教师模型中的“知识”迁移到简 单的学生模型中以满足低资源设备的应用要求,而 模型增强用于获取高性能的复杂网络. 模型压缩和 模型增强的融合是将教师模型中的“特权信息”迁 移或继续强化轻量级学生模型的性能. 例如,Liu 等人[206]通过从文本翻译模型中迁移“特权信息”来改 进轻量级的语音翻译模型. 在未来的工作中,甚至 能将无标签或其它领域数据的“特权信息”来继续 加强一个轻量级学生模型的性能. 

(7) 知识蒸馏在数据样本增强上的应用. 深度 学习是数据驱动型的,往往需要大规模的数据集才 能避免过度拟合. 由于隐私和法律等原因,在一些 领域上,通常无法获取大规模的原始数据集,如医 疗数据. 知识蒸馏需要足够的数据,才能将教师网 络中的知识迁移到学生网络中. 换句话说,数据是 连接教师网络和学生网络的桥梁. 先前的研究已经 证明了知识蒸馏在数据样本增强上的广阔应用前景, 如通过知识蒸馏产生原始数据集的近似样本[207]、 使用其它相关数据的知识来减轻对目标数据集的依 赖[208]以及教师和学生间部分网络的共同训练来提 高具有小样本学生网络的性能[114]. 未来的工作需 要继续探索知识蒸馏在数据样本增强上的应用场景 和高效的蒸馏方法来实现小样本学习(Few-Shot Learning)或零样本学习(zero-shot learning). 

(8) 知识蒸馏在数据标签上的应用. 给数据上 标签需要特定领域的专业知识、大量的时间和成本. 可以利用知识蒸馏减少标注训练数据的麻烦,解决 数据标签的问题. 如果该领域存在着强大的教师网 络,能通过知识蒸馏给无标签的数据增加注释. 具 体地,教师网络对未标记数据进行预测,并使用它 们的预测信息充当学生模型数据的自动标注[209]. 以无标签数据作为输入的教师网络会产生软标签, 这恰好能为学生网络提供学习的指导信息. 即使该 领域没有强大的教师网络,也可以通过跨模态知识 蒸馏,将其它领域的知识充当无标签数据的监督信 号[66]. 因此,知识蒸馏能够减少对数据标签的依赖, 需要继续研究它在半监督或无监督学习上的应用.

最近文章

EMNLP 2022 和 COLING 2022,投哪个会议比较好?

一种全新易用的基于Word-Word关系的NER统一模型,刷新了14种数据集并达到新SoTA

阿里+北大 | 在梯度上做简单mask竟有如此的神奇效果


代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!  后台回复【五件套】
下载二:南大模式识别PPT  后台回复【南大模式识别】

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
整理不易,还望给个在看
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习自然语言处理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
万字综述 | 一文读懂知识蒸馏
近年来,深度神经网络在工业界和学术界都取得了成功,尤其是在计算机视觉任务方面。深度学习的巨大成功主要归因于其可扩展性以编码大规模数据并操纵数十亿个模型参数。但是,将这些繁琐的深度模型部署在资源有限的设备(例如,移动电话和嵌入式设备)上是一个挑战,这不仅是因为计算复杂性高,而且还有庞大的存储需求。为此,已经开发了多种模型压缩和加速技术。作为模型压缩和加速的代表类型,知识蒸馏有效地从大型教师模型中学习小型学生模型。它已迅速受到业界的关注。本文从知识类别,训练框架,师生架构,蒸馏算法,性能比较和应用的角度对知识蒸馏进行了全面的调查。此外,简要概述了知识蒸馏中的挑战,并讨论和转发了对未来研究的评论。
AI异构
2020/12/22
16.6K0
知识蒸馏(Knowledge Distillation)
本文主要罗列与知识蒸馏相关的一些算法与应用。但首先需要明确的是,教师网络或给定的预训练模型中包含哪些可迁移的知识?基于常见的深度学习任务,可迁移知识列举为:
全栈程序员站长
2022/07/01
3K0
知识蒸馏(Knowledge Distillation)
知识蒸馏综述:蒸馏机制
Knowledge Distillation A Suvery的第二部分,上一篇介绍了知识蒸馏中知识的种类,这一篇介绍各个算法的蒸馏机制,根据教师网络是否和学生网络一起更新,可以分为离线蒸馏,在线蒸馏和自蒸馏。
BBuf
2021/12/09
1.8K0
知识蒸馏综述:蒸馏机制
综述 | 知识蒸馏(1)
近年来,深度神经网络在工业和学术界都取得了较大成功,尤其是在计算机视觉任务方面:主要归因于其可扩展性以编码大规模数据(提取特征),并操纵数十亿个模型参数。然而,将这些繁琐的深度模型部署在资源有限的设备(例如,移动电话和嵌入式设备)上也是一个挑战:不仅计算复杂度高,且存储需求大。为此,多种模型压缩和加速技术被提出;其中,知识蒸馏可以有效地从大型“教师”模型学习小型的“学生”模型,迅速受到重视。本文从知识的类别、训练的策略、蒸馏的算法和应用等角度,对知识蒸馏进行了全面调研。此外,简述了知识蒸馏的挑战,并对未来研究进行讨论。
公众号机器学习与AI生成创作
2020/07/24
1.6K0
综述 | 知识蒸馏(1)
知识蒸馏综述: 知识的类型
总结一篇综述《Knowledge Distillation A Survey》中的内容,提取关键部分以及感兴趣部分进行汇总。这篇是知识蒸馏综述的第一篇,主要内容为知识蒸馏中知识的分类,包括基于响应的知识、基于特征的知识和基于关系的知识。
BBuf
2021/12/02
1.1K0
知识蒸馏综述: 知识的类型
深度学习知识蒸馏的研究综述
【导读】大家好,我是泳鱼。知识蒸馏用大白话说就是将一个大神经网络模型的知识转移到另外一个小模型上面,得到一个“小而美”的模型。本文就近些年来知识蒸馏的主要研究成果进行梳理并加以总结,分析该领域所面临的挑战,详细阐述知识蒸馏的学习框架,从多种分类角度对知识蒸馏的相关工作进行对比和分析,文末附相关论文下载。
算法进阶
2023/09/25
2.7K0
深度学习知识蒸馏的研究综述
离线蒸馏奢侈?在线蒸馏难?都不再是问题DKEL统统帮你解决,蒸馏同质化问题也解决!
近年来,深度学习逐渐在计算机视觉领域占据主导地位。计算机视觉的主流任务,如图像分类和目标检测,在深度学习技术的帮助下也取得了惊人的成功。庞大的网络由于其强大的表示能力,在上述任务中往往能获得更好的特征提取性能。然而,考虑到系统的实时性能和用户体验,这样的庞大网络很难满足产品的要求。
集智书童公众号
2024/01/03
7900
离线蒸馏奢侈?在线蒸馏难?都不再是问题DKEL统统帮你解决,蒸馏同质化问题也解决!
【科普】联邦知识蒸馏概述与思考
随着深度学习与大数据的进一步发展,效果好的模型往往有着较大的规模和复杂的结构,往往计算效率与资源使用方面开销很大,无法部署到一些边缘设备、移动终端或者嵌入式设备上。因此,如何在保证模型性能的前提下减少模型的参数量以及加快模型前向传播效率,这是一个重要的问题,总的来说不同的模型压缩与加速技术具体可以分为以下四类:
CV君
2022/03/30
1.4K0
【科普】联邦知识蒸馏概述与思考
用了这个方法,两周没变过的模型精度居然提升了(附资源)
【导语】知识蒸馏是一种模型压缩技术,它利用训练好的大网络(教师网络)去教小网络(学生网络)。较小的网络经过训练后,可有类似于大网络的性能。这样就可以在诸如手机或其他移动端设备等小型设备上部署此类模型。在今天的文章中,将为大家介绍关于几个重要的知识蒸馏的工作进展。
AI科技大本营
2019/11/28
1.7K0
一个知识蒸馏的简单介绍,一看就懂
近年来,神经模型在几乎所有领域都取得了成功,包括极端复杂的问题。然而,这些模型体积巨大,有数百万(甚至数十亿)个参数,因此不能部署在边缘设备上。
OpenCV学堂
2020/09/01
3.7K0
一个知识蒸馏的简单介绍,一看就懂
Hint Learning和知识蒸馏
知识蒸馏是一种将知识从一组繁琐的模型中提取出来并将其压缩成单个模型的方法,以便能够部署到现实生活中的应用程序中。知识蒸馏是由人工智能教父 Geoffrey Hinton 和他在谷歌的两位同事 Oriol Vinyals 和 Jeff Dean 于 2015 年引入的。
deephub
2021/09/15
1.2K0
Hint Learning和知识蒸馏
【深度学习】深度学习中的知识蒸馏技术(上)简介
在化学中,蒸馏是一种有效的分离不同沸点组分的方法,大致步骤是先升温使低沸点的组分汽化,然后降温冷凝,达到分离出目标物质的目的。化学蒸馏条件:(1)蒸馏的液体是混合物;(2)各组分沸点不同。
黄博的机器学习圈子
2021/04/16
6.6K0
【深度学习】深度学习中的知识蒸馏技术(上)简介
知识蒸馏综述:网络结构搜索应用
知识蒸馏可以看做教师网络通过提供soft label的方式将知识传递到学生网络中,可以被视为一种更高级的label smooth方法。soft label与hard label相比具有以下优点:
BBuf
2021/12/15
1.2K0
知识蒸馏综述:网络结构搜索应用
首次将「教导主任」引入模型蒸馏,大规模压缩优于24种SOTA方法
面对越来越深的深度学习模型和海量的视频大数据,人工智能算法对计算资源的依赖越来越高。为了有效提升深度模型的性能和效率,通过探索模型的可蒸馏性和可稀疏性,本文提出了一种基于 “教导主任 - 教师 - 学生” 模式的统一的模型压缩技术。
机器之心
2022/12/16
3380
首次将「教导主任」引入模型蒸馏,大规模压缩优于24种SOTA方法
小版BERT也能出奇迹:最火的预训练语言库探索小巧之路
近日,HuggingFace 发布了 NLP transformer 模型——DistilBERT,该模型与 BERT 的架构类似,不过它仅使用了 6600 万参数(区别于 BERT_base 的 1.1 亿参数),却在 GLUE 基准上实现了后者 95% 的性能。
机器之心
2019/09/10
1.1K0
小版BERT也能出奇迹:最火的预训练语言库探索小巧之路
深度学习实践篇[17]:模型压缩技术、模型蒸馏算法:Patient-KD、DistilBERT、DynaBERT、TinyBERT
理论上来说,深度神经网络模型越深,非线性程度也就越大,相应的对现实问题的表达能力越强,但相应的代价是,训练成本和模型大小的增加。同时,在部署时,大模型预测速度较低且需要更好的硬件支持。但随着深度学习越来越多的参与到产业中,很多情况下,需要将模型在手机端、IoT端部署,这种部署环境受到能耗和设备体积的限制,端侧硬件的计算能力和存储能力相对较弱,突出的诉求主要体现在以下三点:
汀丶人工智能
2023/10/11
1.7K0
深度学习实践篇[17]:模型压缩技术、模型蒸馏算法:Patient-KD、DistilBERT、DynaBERT、TinyBERT
代码开源:AMFD 框架助力多光谱行人检测的精度与速度提升 !
行人检测是计算机视觉中的一个关键问题,应用范围从自动驾驶车辆[1]到监控系统[2]。使用可见图像的现代研究在常规光照条件下表现良好。然而,由于对光照条件的敏感性,可见光在复杂的低光照场景中表现出差的检测性能。为了缓解这一限制,引入了热红外图像来提供补充数据,从而探索多光谱行人检测[3]作为一个有效的解决方案。
未来先知
2024/08/13
3210
代码开源:AMFD 框架助力多光谱行人检测的精度与速度提升 !
机器学习:知识蒸馏(Knowledge Distillation,KD)
知识蒸馏(Knowledge Distillation,KD)作为深度学习领域中的一种模型压缩技术,主要用于将大规模、复杂的神经网络模型(即教师模型)压缩为较小的、轻量化的模型(即学生模型)。在实际应用中,这种方法有助于减少模型的计算成本和内存占用,同时保持相对较高的性能和准确率。本文将详细介绍知识蒸馏的原理、C++实现代码、以及其在实际项目中的应用。
用户11289931
2024/10/16
7.2K0
机器学习:知识蒸馏(Knowledge Distillation,KD)
知识蒸馏
蒸馏指的是把不纯净的水加热变成蒸汽,蒸汽冷凝之后变成冷凝水。知识蒸馏也是把有杂质的东西,大的东西变成小的东西,纯的东西。把一个大的模型(教师模型)里面的知识给萃取蒸馏出来浓缩到一个小的学生模型上。
算法之名
2022/03/24
6840
知识蒸馏
如何在有限资源设备上部署深度网络(下)
近年来,深度神经网络模型在计算机视觉识别、语音识别、自然语言处理等领域取得了巨大的成功。但是受限于较高的计算复杂度和较大的存储需求,深度模型的部署在有限资源设备上面临着诸多挑战,因此相继出现了各种模型压缩和加速技术。其中知识蒸馏是一种典型的方法,它能从一个大的教师模型中学习到一个小的学生模型,受到了工业界和学术界的广泛关注。
绿盟科技研究通讯
2023/12/18
2620
如何在有限资源设备上部署深度网络(下)
推荐阅读
相关推荐
万字综述 | 一文读懂知识蒸馏
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验