ICLR2021自蒸馏方法SEED:显著提升小模型性能

以下文章来源于公众号 “机器学习算法工程师”机器学习算法工程师
ICLR2021自蒸馏方法SEED:显著提升小模型性能_第1张图片
Abstract:
该文是亚利桑那州立大学&微软联合提出的一种自监督蒸馏表达学习方案,已被ICLR2021接收为Poster。针对现有对比自监督学习方案在小模型上表现性能差的问题,提出将知识蒸馏的思想嵌入到自监督学习框架得到了本文的自监督蒸馏学习。相比常规自监督学习方案,所提方案可以显著的提升轻量型模型的性能,同时具有极好的泛化性能。
本文主要聚焦于小模型(即轻量型模型)的自监督学习问题,作者通过实证发现:对比自监督学习方法在大模型训练方面表现出了很大进展,然这些方法在小模型上的表现并不好。
为解决上述问题,本文提出了一种新的学习框架:自监督蒸馏(SElf-SupErvised Distillation, SEED),它通过自监督方式(SSL)将老师模型的知识表达能力迁移给学生模型。不同于直接在无监督数据上的直接学习,我们训练学生模型去模拟老师模型在一组示例上的相似度得分分布。
所提SEED的简洁性与灵活性不言而喻,包含这样三点:(1) 无需任何聚类/元计算步骤生成伪标签/隐类;(2) 老师模型可以通过优秀的自监督学习(比如MoCo-V2、SimCLR、SWAV等)方法进行预训练;(3)老师模型的知识表达能力可以蒸馏到任意小模型中(比如更浅、更细,甚至可以是完全不同的架构)。
实验表明:SEED可以提升小模型在下游任务上的性能表现。相比自监督基准MoCo-V2方案,在ImageNet数据集上,SEED可以将EfficientNet-B0的精度从42.2%提升到67.6%,将MobileNetV3-Large的精度从36.3%提升到68.2%,见下图对比。


知识蒸馏最早是Hinton等人于2015年提出用于模型压缩的技术,它旨在将更大的老师模型的知识表达能力迁移给更小的学生模型。该任务可以表示成如下形式:
在这里插入图片描述
ICLR2021自蒸馏方法SEED:显著提升小模型性能_第2张图片

不同于有监督蒸馏,SEED希望在无标签数据上将大模型的知识表达能力迁移给小模型,以促使小模型所学习到的表达能力更好的作用于下游任务。受启发于对比自监督学习,我们设计了一种简单的方案:在实例相似性分布的基础上进行知识蒸馏。类似MoCo,我们维持一个实例队列以保存老师模型的编码输出,对于新样本,我们计算它与队列中所有样本的相似性得分。我们希望:学生模型与老师模型的相似性得分分布尽可能相似,这就构成了老师模型与老师模型的相似性得分分布的交叉熵,见下图。
ICLR2021自蒸馏方法SEED:显著提升小模型性能_第3张图片
ICLR2021自蒸馏方法SEED:显著提升小模型性能_第4张图片
ICLR2021自蒸馏方法SEED:显著提升小模型性能_第5张图片

ICLR2021自蒸馏方法SEED:显著提升小模型性能_第6张图片
ICLR2021自蒸馏方法SEED:显著提升小模型性能_第7张图片
ICLR2021自蒸馏方法SEED:显著提升小模型性能_第8张图片

你可能感兴趣的:(算法,深度学习)