©作者|葛艺潇

学校|香港中文大学博士生

研究方向|图像检索、图像生成等

最先进的知识蒸馏算法发现整合多个模型可以生成更准确的训练监督,但需要以额外的模型参数及明显增加的计算成本为代价。为此,我们提出了一种新颖的“烘焙”算法,有效整合同批次内不同样本间的知识以优化软标签,仅需一个网络即可实现知识整合。“烘焙”在任意网络架构的训练中即插即用,以最少的时间成本实现有效的大幅性能提升,我们在 ImageNet 及其他多个常见的图像分类基准下进行了算法验证。

论文地址:

https://arxiv.org/abs/2104.13298

代码地址:

https://github.com/yxgeee/BAKE

项目主页:

https://geyixiao.com/projects/bake

简介

图像分类是计算机视觉最基本的任务之一,为众多下游视觉任务提供了有效的预训练模型。深度学习时代以来,有大量的算法致力于提升图像分类的性能,尤其是在最流行的 ImageNet 基准上。近期一些研究指出,不够完善的人为标注成为了阻碍监督训练的分类模型性能进一步提升的关键问题。具体来说,人为标注的单标签(一图一类)无法准确描述图像中的丰富内容。

为此,许多研究者提出利用知识蒸馏(Knowledge Distillation)算法可以自动生成“软性”多标签作为有效的训练监督,弥补单标签系统所带来的缺陷。最先进的算法发现,整合多个教师(下图 a)或学生模型(下图 b)的预测可以生成更鲁棒的训练监督,进一步提升模型的性能,我们将这类算法称之为整合蒸馏(Ensemble Distillation)算法 [1,2,3]。虽然这类算法取得了最先进的性能,但他们依赖于额外的网络模型或参数,无疑大大增加了训练时计算和显存的成本。

(a) 多教师模型的知识整合;(b) 多学生模型的知识整合;(c) BAKE: 批次内样本间的知识整合

在该论文中,我们提出了一种新颖的“烘焙”(BAKE)训练机制(上图 c),整合批次内不同样本间的知识在线优化蒸馏目标,即,将同一批次中样本知识进行加权传播和汇总,而无需多个网络。BAKE 首次实现在自蒸馏框架下的知识整合,以最少的训练时间开销和零额外网络参数为代价,持续有效地提高了各种网络架构和数据集的分类性能。例如,使用 BAKE 训练的 ResNet-50 在 ImageNet 上的 top-1 分类准确率显著提升 1.2%,而相比基线模型训练所增加的计算开销仅为 3.7%。

除了上述知识蒸馏系列算法之外,还有一类研究被称之标签精炼(Label Refinery)算法 [4]。他们往往利用一个预训练标注器为 ImageNet 进行重新标注,该标注器一般为在更大规模的数据集上训练的较深的网络模型,这不仅需要增加额外的模型,还依赖于额外的超大规模数据集和更多的训练资源,在实际应用中不够灵活。

本文所提出的BAKE算法与已有的自蒸馏、整合蒸馏、标签精炼算法的主要区别

方法

传统整合蒸馏算法[1,2,3]往往整合的是多个网络模型对于单个样本的预测,与之不同的是,BAKE 整合单网络模型对于批次内多样本的预测。直观地来看,视觉上相似的样本应当具有近似的预测。基于该假设,BAKE 依据同批次内其他样本对锚样本的相似度,进行知识的加权传播和汇总,以形成准确的软标签,作为蒸馏训练的监督(见下图)。

BAKE训练框架

样本间的知识传播基于不同样本与锚样本之间的相似性,所以首先需要计算一个亲和度矩阵 ,也就是计算图像编码器(encoder)输出的特征 之间的距离。亲和度矩阵需要去除对角线 ,也就是同一样本的相似度,并在每行进行 softmax 归一化,使得每一行的和为 1,即 。

基于亲和度矩阵 ,可以对除锚样本之外的其他样本的预测进行加权传播,。并与锚样本本身的预测概率进行加权和,从而获得软标签作为蒸馏目标 。至此,对批次内样本间知识进行了一次传播,并获得了一次传播后的软标签。

往往基于亲和度矩阵对样本预测做多次传播可以获得更鲁棒准确的软标签,。我们利用近似预测对传播无限次后的软标签进行了估计 。基于上述知识整合后的软标签 ,可以使用 KL 散度损失函数进行蒸馏训练。

实现

训练的伪代码如下,具体实现请参阅 GitHub repo。

实验

BAKE 以最小的计算开销改进了多种网络架构的训练,并且无需额外的网络辅助。下图汇报了在 ImageNet 上的 top-1 分类准确率。

BAKE在ImageNet上的性能, “Vanilla”表示使用常规交叉熵损失的基准训练

BAKE 不光有效提升了基准模型的训练,也超越了所有单网络下最先进的训练机制,见下图。

单网络模型训练算法的对比

我们也对 BAKE 所生成的软标签进行了可视化,如下图,其中每列的四个样本来自于同一批次,请注意,为了简洁,这里只对 top-3 的类别进行了展示。

BAKE所生成的软标签示例

我们还检验了利用 BAKE 训练的分类模型在下游任务中的表现,观察到 BAKE 所训练的模型在目标检测和实例分割中均可获得稳定的性能提升。

BAKE训练的模型在下游任务中的性能

更多性能分析、鲁棒性测试、消融研究结果请参阅原论文。

总结和思考

BAKE 是一个非常简洁轻量的算法,无需任何额外的辅助网络就可以生成鲁棒的软标签。BAKE 为知识蒸馏中的知识整合提供了一个全新的思路,打破了固有的多模型整合的样式,创新地提出并尝试了样本间的知识整合。目前我们只在最传统的监督分类训练中验证了 BAKE,但 BAKE 的潜力应远不止此,我们后续也会继续在更多的任务中验证 BAKE 的思想,也欢迎大家在自己的训练任务中尝试加入此类样本间知识整合思想。

参考文献

[1] Zhiqiang Shen, Zhankui He, and Xiangyang Xue. Meal: Multi-model ensemble via adversarial learning. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, pages 4886–4893, 2019.

[2] Yonglong Tian, Dilip Krishnan, and Phillip Isola. Contrastive representation distillation. In International Conference on Learning Representations, 2020.

[3] Qiushan Guo, Xinjiang Wang, Yichao Wu, Zhipeng Yu, Ding Liang, Xiaolin Hu, and Ping Luo. Online knowledge distillation via collaborative learning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 11020–11029, 2020.

[4] Sangdoo Yun, Seong Joon Oh, Byeongho Heo, Dongyoon Han, Junsuk Choe, and Sanghyuk Chun. Re-labeling imagenet: from single to multi-labels, from global to localized labels. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021.

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

“烘焙”ImageNet:自蒸馏下的知识整合相关推荐

  1. 无需多个模型也能实现知识整合?港中文MMLab提出「烘焙」算法,全面提升ImageNet性能...

    视学算法专栏 转载自:机器之心 作者:葛艺潇 来自港中文 MMLab 的研究者提出一种烘焙(BAKE)算法,为知识蒸馏中的知识整合提供了一个全新的思路,打破了固有的多模型整合的样式,创新地提出并尝试了 ...

  2. Waymo SOTA!SparseKD:高效知识蒸馏下的3D检测(港大NIPS2022)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[3D目标检测]技术交流群 后台回复[SparseKD]获取本文论文及代码!!! 摘要 ...

  3. coderwhy--前端知识整合包--htmlcss05

    coderwhy–前端知识整合包–html/css05 一.css属性-display 块级元素由来:display:block(所有浏览器默认添加,块级元素本就是行内级元素是因为浏览器默认添加上面那 ...

  4. 莫比乌斯(Mobius)反演知识整合

    前言 虽然我去年就已经学过这东西了,但是一直没有整理.归纳.而且我发现我对它的套路不够熟悉.对它的理解不够透彻,卒致GDOIDay2T1没切(详细事故记录戳这里).所以,在此做一个知识整合. 引子 先 ...

  5. GPT-4冲击下,知识图谱的现在与未来

    AIGC,ChatGPT以及今天发布的GPT-4 相信已经给大家带来足够的冲击,那么 对于知识图谱的应用产生哪些变化和变革? 知识图谱在其中如何发挥作用呢? 通过LLM是否有可能辅助创建通用大规模知识 ...

  6. html+css基础知识整合 2021-08-30

    html基础知识整合 文章目录 **html基础知识整合** [web的组成] [HTML5基本语法] 常规标签(普通标签.双标签) [文章标签] [修饰标签] [特殊字符] [HTML注释] [列表 ...

  7. HTML基础知识整合复习总结

    HTML基础知识整合复习总结 ------------------------------------------------------------------------------------- ...

  8. coderwhy--前端知识整合包--htmlcss07

    coderwhy–前端知识整合包–html/css07 一.浮动float 1.定位方案: normal flow:标准流 float:浮动 绝对定位:absoulte position 浮动和绝对定 ...

  9. 清华刘洋基于深度学习的机器翻译突破知识整合、可解释和鲁棒性

    https://www.toutiao.com/a6697789084913369607/ 2019-06-02 12:42:23 [新智元导读]5月30日,由北京智源人工智能研究院主办的智源论坛第4 ...

最新文章

  1. PyTorch框架:(5)使用PyTorch框架构建卷积神经网络
  2. .net firamework 框架里面的控件的继承关系。
  3. C语言实现五子棋游戏(可N*N棋盘)
  4. golang中的recover
  5. OpenCV下的角点获取
  6. 吴恩达 coursera ML 第四课总结+作业答案
  7. NOIP2013Day1T3 表示只能过一个点
  8. 注解动态赋值_Java注解是如何玩转的,面试官和我聊了半个小时
  9. vue 断开正在发送的请求_vue 发送请求频繁时取消上一次请求
  10. Qt笔记-获取Windows下目前运行的进程信息
  11. WPF窗体隐藏鼠标光标的方法
  12. PAT乙级 1029 旧键盘 (20 分)
  13. 罗技g502 g102游戏驱动ghub详细 教程
  14. MapGIS矢量数据的误差校正
  15. vue+vant(有赞)ui直传阿里oss
  16. apache OpenNLP简要介绍
  17. 首款基于龙芯的域名系统服务器发布,首款基于龙芯CPU的国产域名服务器发布
  18. 职场“站队”你站对了吗?
  19. ARMv8-M相比ARMv7-M架构优势在哪里?
  20. 一招教你如何大批量解密pdf

热门文章

  1. python 线程同步_Python并发编程-线程同步(线程安全)
  2. mysql命令行设置sqlmodel_MySQL的sql_mode模式说明及设置
  3. python调用linux软键盘_在Linux中使用Python模拟键盘按键
  4. 花匠(东方化改题+无题解)
  5. linux中更新perl的版本
  6. 如何区分Oracle的数据库,实例,服务名,SID
  7. Apache常用配置项
  8. 技术分享(持续更新)
  9. C++ sort函数的用法
  10. mysql增加从库_不停止MySQL服务增加从库的两种方式 (装载)