算法进阶 | 深度学习知识蒸馏的研究综述(建议收藏!)

本文来源公众号“算法进阶”,仅用于学术分享,侵权删,干货满满。

原文链接:深度学习知识蒸馏的研究综述

【导读】大家好,我是泳鱼。知识蒸馏用大白话说就是将一个大神经网络模型的知识转移到另外一个小模型上面,得到一个“小而美”的模型。本文就近些年来知识蒸馏的主要研究成果进行梳理并加以总结,分析该领域所面临的挑战,详细阐述知识蒸馏的学习框架,从多种分类角度对知识蒸馏的相关工作进行对比和分析,文末附相关论文下载。

简介

常用的模型压缩方法有4种:知识蒸馏(Knowledge Distillation,KD)、 轻量化模型架构、 剪枝(Pruning)、 量化(Quantization)。

知识蒸馏是一种在深度学习中用于模型压缩和知识传递的技术。它通过将大型复杂模型(教师模型)的知识转移给小型简单模型(学生模型),从而优化学生模型的性能。

这种方法被广泛应用于降低模型复杂性和减少计算资源需求。知识蒸馏是通过将教师模型的输出概率分布传递给学生模型,并使用软标签作为学生模型的训练目标来实现的。蒸馏可以通过最小化软标签和学生模型输出之间的交叉熵损失来优化。这种方法已经在各种任务和数据集上取得了显著的成功,包括图像分类、自然语言处理和语音识别

图1为知识蒸馏的发展历程和各个时期较为代表性的工作。

图1知识蒸馏发展历程

知识蒸馏面临的挑战主要可以分为:模型问题包括教师模型和学生模型不匹配、深层模型和浅层模型之间的容量差距等;成本问题包括模型训练过程对超参数较为敏感以及对损失函数依赖较大等;可解释性不足则是指知识蒸馏的原理解释主要是基于黑盒模型,难以解释模型的决策过程和内部机制。

该综述主要贡献包括:

1)对知识的分类进行了细化,增加了中间层知识、参数知识、图表示知识,完整地涵盖了目前知识的全部形式;

2)以表格的方式对不同方法之间的优缺点、适用场景等进行详细的总结对比,便于掌握;

3)遵循了主题式分类原则,不仅分析了单篇文献,还分析相关领域中知识蒸馏的重要研究,并对知识蒸馏的学习目的、原理和解释、发展趋势等方面做了较为全面的阐释。

图2是知识蒸馏模型的整体结构,由一个多层的教师模型和学生模型组成,教师模型主要负责向学生模型传递知识。

图2 知识蒸馏教师学生模型结构流程图

此外,本文对知识蒸馏相关研究进行了总结,主要从知识传递形式、学习的方式、学习的目的、交叉领域、主要应用等方面对其进行分类,其分类框架如图3所示,具体内容将在后续的文章中展开。

图3 知识蒸馏整体分类框架

知识传递形式

根据知识在教师-学生模型之间传递的形式可以将知识蒸馏方法归类为标签知识、中间层知识、参数知识、结构化知识和图表示知识。

不同知识传递形式下的蒸馏方法的形式化表示及其相关解释整理为表1所示:

表1 不同知识传递形式下的蒸馏方法形式化表示对比表

相关的优缺点和实验对比,见表2~表3所示:

表2 不同知识形式的代表性蒸馏方法在CIFAR100数据集上实验结果

表3 不同“知识”表达形式的优缺点

标签知识

标签知识是指通过训练好的模型对数据集进行预测得到的标签信息,通常也被称为“暗知识”。标签知识方法简单通用,易于实现࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值