0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

任意模型都能蒸馏!华为诺亚提出异构模型的知识蒸馏方法

CVer 来源:CVer 2023-11-01 16:18 次阅读

自知识蒸馏方法在2014年被首次提出以来,其开始广泛被应用于模型压缩领域。在更强大教师模型辅助监督信息的帮助下,学生模型往往能够实现比直接训练更高的精度。然而,现有的知识蒸馏相关研究只考虑了同架构模型的蒸馏方法,而忽略了教师模型与学生模型异构的情形。例如,最先进的MLP模型在ImageNet上仅能达到83%的精度,无法获取精度更高的同架构教师模型以使用知识蒸馏方法进一步提高MLP模型的精度。因此,对异构模型知识蒸馏的研究具有实际应用意义。

本文的研究者们分析了针对异构模型(CNN,ViT,MLP)特征的差异性,指出特征中模型架构相关的信息会阻碍知识蒸馏的过程。基于此观察,研究者们提出了名为OFAKD异构模型知识蒸馏方法:该方法将特征映射到架构无关的统一空间进行异构模型蒸馏,并使用一种能够自适应增强目标类别信息的损失函数。在CIFAR-100和ImageNet数据集上,该方法实现了对现有同架构知识蒸馏方法的超越。

异构模型间的特征差异

018b8992-785d-11ee-939d-92fbcf53809c.jpg

图1 异构模型学习到的特征对比

相比于仅使用logits的蒸馏方法,同步使用模型中间层特征进行蒸馏的方法通常能取得更好的性能。然而在异构模型的情况下,由于不同架构模型对特征的不同学习偏好,它们的中间层特征往往具有较大的差异,直接将针对同架构模型涉及的蒸馏方法迁移到异构模型会导致性能下降。

通用的异构模型蒸馏方法

019747dc-785d-11ee-939d-92fbcf53809c.jpg

图2 异构模型的知识蒸馏方法

为了在异构模型蒸馏过程中利用中间层特征,需要排除特征中模型架构相关信息的干扰,仅保留任务相关信息。基于此,研究者们提出通过将学生模型的中间层特征映射到logits空间,实现对模型架构相关信息的过滤。此外通过在原始基于KL散度的蒸馏损失函数中引入一项额外的调节系数,修正后的损失函数能够实现对目标类别信息的自适应增强,进一步减缓异构模型蒸馏时无关信息的干扰。

01a4a6ac-785d-11ee-939d-92fbcf53809c.jpg

图3 原始蒸馏损失与改进后蒸馏损失的对比

实验结果

01aeca88-785d-11ee-939d-92fbcf53809c.jpg

图4 在ImageNet上的异构模型蒸馏结果

上表展示了在ImageNet上的异构蒸馏结果。在所有架构的六种可能异构组合中,本文OFAKD方法都得到了超越现有方法结果。

01c946ec-785d-11ee-939d-92fbcf53809c.jpg

图5 不同值对结果的影响

上表在ImageNet上比较了不同的值设置对结果的影响。可以看出,通过选取合适的值设置,改进后的蒸馏损失函数能得到超越原始蒸馏损失函数的结果。

01d7e062-785d-11ee-939d-92fbcf53809c.png

图6 在ImageNet上的同构模型蒸馏结果

本文在ImageNet上与传统同构模型蒸馏方法进行了对比。在常见的ResNet34和ResNet18同构教师学生模型组合上,OFAKD也具有与现有SOTA方法相当的表现。

01e2a902-785d-11ee-939d-92fbcf53809c.jpg

图7 MLP学生模型的蒸馏结果

最后,本文比较了文首提到的MLP作为学生模型时的蒸馏结果。通过选用ViT架构的BEiT v2-base作为教师模型,仅中等尺寸的CycleMLP-B3就刷新了MLP模型在ImageNet上的最佳结果。

结论

本文研究了异构模型之间的知识蒸馏方法,通过将学生模型中间层特征映射到logits空间来拟合教师模型最终输出,并使用在原始知识蒸馏损失函数基础上改进而来的自适应目标信息增强损失,提出的OFAKD方法在多种数据集和教师学生模型组合上实现了对现有方法的超越,扩展了知识蒸馏的应用范围。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47696
  • 架构
    +关注

    关注

    1

    文章

    484

    浏览量

    25200

原文标题:NeurIPS 2023 | 任意模型都能蒸馏!华为诺亚提出异构模型的知识蒸馏方法

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于云计算的架构模型研究

    为了构建有效、稳定的云计算平台环境并对其应用性能进行研究,采用理论分析和实践设计的方法,研究了云计算的关键技术,包括云数据中心串联、云数据存储管理技术和云编程模型提出了- 一个通用的云计算架
    发表于 10-11 16:25 4次下载
    基于云计算的架<b class='flag-5'>构模型</b>研究

    异构模型的配电网信息交互

    为消除模型异构、跟进系统更新和提高信息交互能力,实现智能配电网异构系统间的信息集成,从模型提出异构
    发表于 01-23 10:48 4次下载
    <b class='flag-5'>异构模型</b>的配电网信息交互

    微软亚洲研究院的研究员们提出了一种模型压缩的新思路

    近日,来自微软亚洲研究院自然语言计算组的研究员们提出了一种与显式地利用蒸馏损失函数来最小化教师模型与学生模型距离的知识
    的头像 发表于 11-24 09:48 1449次阅读

    深度学习:知识蒸馏的全过程

    知识蒸馏的核心思想是通过迁移知识,从而通过训练好的大模型得到更加适合推理的小模型。本文作者介绍了知识
    的头像 发表于 01-07 14:36 5623次阅读

    知乎搜索中文本相关性和知识蒸馏的工作实践

    导读:大家好,我是申站,知乎搜索团队的算法工程师。今天给大家分享下知乎搜索中文本相关性和知识蒸馏的工作实践,主要内容包括: 知乎搜索文本相关性的演进 BERT在知乎搜索的应用和问题 知识蒸馏
    的头像 发表于 01-18 17:20 2523次阅读
    知乎搜索中文本相关性和<b class='flag-5'>知识</b><b class='flag-5'>蒸馏</b>的工作实践

    基于知识蒸馏的恶意代码家族检测方法研究综述

    近年来,恶意代码变种层出不穷,恶意软件更具隐蔽性和持久性,亟需快速有效的检测方法来识别恶意样本。针对现文中提出了一种基于知识蒸馏的恶意代码家族检测
    发表于 04-20 14:49 9次下载
    基于<b class='flag-5'>知识</b><b class='flag-5'>蒸馏</b>的恶意代码家族检测<b class='flag-5'>方法</b>研究综述

    电池修复技术:做蒸馏水的方法是怎样的

    许多年前,该村经常停电,应急灯也很流行。 每个人都在玩电池逆变器。 电池和应急灯必须充满蒸馏水。 如果您不愿购买它们,请使用以下本机方法: 这个方法很好。 用这种蒸馏
    发表于 05-18 17:15 1979次阅读
    电池修复技术:做<b class='flag-5'>蒸馏</b>水的<b class='flag-5'>方法</b>是怎样的

    若干蒸馏方法之间的细节以及差异

    以往的知识蒸馏虽然可以有效的压缩模型尺寸,但很难将teacher模型的能力蒸馏到一个更小词表的student
    的头像 发表于 05-12 11:39 1133次阅读

    关于快速知识蒸馏的视觉框架

    知识蒸馏框架包含了一个预训练好的 teacher 模型蒸馏过程权重固定),和一个待学习的 student 模型, teacher 用来产生
    的头像 发表于 08-31 10:13 654次阅读

    南开/南理工/旷视提出CTKD:动态温度超参蒸馏方法

    一直保持静态固定的温度超参对学生模型来说不是最优的。基于课程学习的思想,人类在学习过程中都是由简单到困难的学习知识。那么在蒸馏的过程中,我们也会希望模型一开始
    的头像 发表于 01-04 14:49 513次阅读

    如何度量知识蒸馏中不同数据增强方法的好坏?

    知识蒸馏(knowledge distillation,KD)是一种通用神经网络训练方法,它使用大的teacher模型来 “教” student模型
    的头像 发表于 02-25 15:41 536次阅读

    蒸馏也能Step-by-Step:新方法让小模型也能媲美2000倍体量大模型

    为了解决大型模型的这个问题,部署者往往采用小一些的特定模型来替代。这些小一点的模型用常见范式 —— 微调或是蒸馏来进行训练。微调使用下游的人类注释数据升级一个预训练过的小
    的头像 发表于 05-15 09:35 421次阅读
    <b class='flag-5'>蒸馏</b>也能Step-by-Step:新<b class='flag-5'>方法</b>让小<b class='flag-5'>模型</b>也能媲美2000倍体量大<b class='flag-5'>模型</b>

    基于一步步蒸馏(Distilling step-by-step)机制

    为优化LLM为“小模型/少数据/好效果”,提供了一种新思路:”一步步蒸馏”(Distilling step-by-step)
    的头像 发表于 05-16 10:24 723次阅读
    基于一步步<b class='flag-5'>蒸馏</b>(Distilling step-by-step)机制

    如何将ChatGPT的能力蒸馏到另一个大模型

    Language Model》 提出了一个将知识从一个复杂的、闭源的大型语言模型(LLM)转移到一个紧凑的、开源的LLM的做法,其中加入了数据反馈的
    的头像 发表于 06-12 15:06 571次阅读
    如何将ChatGPT的能力<b class='flag-5'>蒸馏</b>到另一个大<b class='flag-5'>模型</b>

    TPAMI 2023 | 用于视觉识别的相互对比学习在线知识蒸馏

    representation learning [1] 的扩展版本,论文讲解链接为: https://zhuanlan.zhihu.com/p/574701719 摘要: 无需教师的在线知识蒸馏联合地训练多个学生模型并且相互地
    的头像 发表于 09-19 10:00 374次阅读
    TPAMI 2023 | 用于视觉识别的相互对比学习在线<b class='flag-5'>知识</b><b class='flag-5'>蒸馏</b>