Self-Distillation from the Last Mini-Batch for Consistency Regularization中文版

Self-Distillation from the Last Mini-Batch for Consistency Regularization
从上一个小批量自发蒸馏,实现一致性正则化

摘要

知识蒸馏(Knowledge distillation,KD)展示了强大的潜力,作为一种强有力的正则化策略,通过利用学习的样本级软目标来提升泛化能力。然而,在现有的知识蒸馏中,使用复杂的预训练教师网络或一组同行学生既耗时又计算成本高昂。已经提出了各种自我蒸馏方法以实现更高的蒸馏效率。然而,它们要么需要额外的网络架构修改,要么难以进行并行化。

为了应对这些挑战,我们提出了一种高效可靠的自我蒸馏框架,名为“最后小批次自我蒸馏”(Self-Distillation from Last Mini-Batch,DLB)。具体来说,我们通过限制每个迷你批次的一半与上一次迭代一致来重新安排这些顺序采样,同时,剩下的一半将与即将到来的迭代一致,之后,前一半迷你批次将即时蒸馏上一次迭代中生成的软目标。我们提出的机制引导了训练的稳定性和一致性,使其对标签噪声具有鲁棒性。此外,我们的方法易于实现,无需额外的运行时内存或需要模型结构修改。在三个分类基准数据集上的实验结果表明,我们的方法能够始终胜过具有不同网络架构的最先进自我蒸馏方法。此外,我们的方法显示出与增强策略的强大兼容性,能够获得额外的性能提升。代码可在 https://github.com/Meta-knowledge-Lab/DLB 找到。

1.Introduction

知识蒸馏(Knowledge Distillation,KD)最初由Bucilua等人[2]提出,后来由Hinton等人[10]推广。许多先前的研究已经证明了知识蒸馏在各种学习任务中提升泛化能力的成功。例如,在网络压缩的情况下,广泛使用两阶段离线知识蒸馏,将来自繁琐预训练模型的暗知识传递给从教师的中间特征映射[21]、logits[10]、注意力图[40]或辅助输出[43]中学习的轻量级学生模型。然而,训练高容量的教师网络严重依赖于大量的计算资源和运行内存。为了缓解对静态教师耗时的准备工作,引入了在线蒸馏[44],其中一组同行学生相互学习。在线蒸馏实现了与离线蒸馏相同的性能改进,但计算效率更高。因此,许多后续工作将这一线路扩展为更强大的自组教师[3,8,14,33]。知识蒸馏的其他应用包括半监督学习、领域自适应、迁移学习等[18,26,28]。本文的主要范围集中在知识蒸馏范式本身。

传统的知识蒸馏方法,无论是在线还是离线的,都取得了令人满意的经验性能[24]。然而,现有的知识蒸馏方法在知识传输效率方面存在障碍[35]。此外,高计算和运行内存成本限制了它们部署到移动手机、数码相机等终端设备上[4]。为了应对这些限制,自我知识蒸馏受到越来越多的关注,它使得学生模型能够从自身中蒸馏知识。自我知识蒸馏中缺乏复杂的预训练教师和一组同行学生,导致在训练效率方面只有边际改进。其中一种流行的自我蒸馏形式,比如“做自己的老师”(Be Your Own Teacher,BYOT),需要进行大量的网络架构修改,这大大增加了它们推广到各种网络结构上的难度[19,32,43]。在另一条线路中,历史信息,包括先前训练的logits或模型快照,被利用来构建一个虚拟教师,作为自我蒸馏的额外监督信号。最初,Born Again Networks (BAN) 按顺序蒸馏具有相同参数的网络作为其最后一代[7]。快照蒸馏取得的一个进步是从先前的小代数,即一代中的几个时期中获得次要信息[36]。这种虚拟教师的更新频率在渐进式自我知识蒸馏[12]和回顾学习[5]中进一步提高到时代级别。然而,现有的自我知识蒸馏方法存在以下问题需要解决。首先,来自上一次迭代的最即时信息被丢弃。此外,存储过去模型的快照会消耗额外的运行内存成本,并随后增加并行化的难度[36]。最后,每次向后传播中梯度的计算与每个数据批次上两次前向过程相关联,导致计算冗余和低计算效率。

为解决现有自我知识蒸馏方法中的这些挑战,我们提出了一种简单而高效的自我蒸馏方法,称为“最后小批次自我蒸馏”(Self-Distillation from Last Mini-Batch,DLB)。与现有的自我知识蒸馏方法相比,DLB具有计算效率高、节省运行内存的特点,只存储上一次迭代产生的软目标,使得其在部署和并行化上更为简单。每个数据实例的前向处理都伴随着一次反向传播过程,减少了计算冗余。与最新技术相比,主要的不同点总结在表1中。DLB为自我蒸馏产生了即时的样本级平滑标签。利用上一次迭代的软预测,我们的方法为每个训练样本提供了最即时的蒸馏。DLB的成功归功于从最即时历史生成的软目标进行蒸馏,以强化训练的一致性和稳定性。更具体地说,在训练阶段,目标网络在每个小批次中扮演着教师和学生的双重角色。作为教师,在下一次迭代中提供软目标以规范自身。作为学生,它从上一次迭代中生成的平滑标签进行蒸馏,并最小化监督学习目标,比如交叉熵损失。

在这里插入图片描述

1. 在计算成本和平滑度方面与最新技术的比较。我们将我们的方法与标签平滑正则化[27]、无教师知识蒸馏(Tf-KDself、Tf-KDreg)[37]、
类别自我知识蒸馏(CS-KD)[39]、渐进式自我知识蒸馏(PS-KD)[12]、记忆回放知识蒸馏(Mr-KD)[30]、数据失真引导的自我知识蒸馏(DDGSD)
[35]、做自己的老师(BYOT)[43] 进行了比较。

我们选择了六种代表性的主干CNN进行评估,包括ResNet-18、ResNet-110[9]、VGG-16、VGG-19[25]、DenseNet[11]和WideResNet[41]。实验结果表明,我们的DLB可以持续改善泛化能力。我们还在受损数据上测试了DLB的稳健性。DLB对受损数据的训练一致性和稳定性导致了更高的泛化能力。主要贡献有三个方面:
我们提出了一种简单但高效的一致性正则化方案,基于自我知识蒸馏,名为DLB。我们的方法无需对网络架构进行修改,实现时需要的额外计算成本和运行时内存都非常少。利用来自上一次迭代的最新更新,我们的DLB易于实现并行化。值得注意的是,该方法也不依赖特定模型或任务。
• 在三个常用的分类基准数据集上进行的全面实验结果展示了不同模型上的一致泛化改进。我们还在经验上证明了DLB与各种增强策略的兼容性。
• 我们系统地分析了我们方法对训练动态的影响。具体来说,其正则化效果的成功归功于利用即时样本级平滑标签引导训练一致性。在标签受损的环境下,一致性效应进一步增强,表现出对标签噪声的强大稳健性。这些实证发现可能为理解知识蒸馏的影响打开新的方向。

2.Related Works

知识蒸馏。知识蒸馏(Knowledge Distillation,KD)旨在将“知识”,如logits或中间特征映射,从高性能的教师模型传输到轻量级的学生网络[2,10]。尽管它在泛化方面具有竞争力的性能改进,但预训练复杂的教师模型需要额外的训练时间和计算成本。另一种形成经济蒸馏的方式被称为相互学习,也称为在线蒸馏,其中一组学生相互学习[44]。这个想法被许多后续工作所推广[3,14,33]。但是,在对等学习中的优化涉及多个网络,这需要额外的内存来存储所有参数。

自我知识蒸馏。为增强知识传递的效率和有效性,提出了自我知识蒸馏(Self Knowledge Distillation,SKD)来利用自身的知识,而无需额外网络的参与[31]。构建SKD模型有三种流行方式:1)基于数据失真的自我蒸馏[15,35],2)利用历史信息作为虚拟教师,3)在辅助头之间进行蒸馏[17,43]。然而,第一种方式在于数据增强效率上存在一定依赖性。第二种方式错过了来自上一次小批次的最新更新。而最后一种方式需要对网络架构进行大量修改,增加了其部署的难度。作为正则化的蒸馏。知识蒸馏(KD)在许多任务中被广泛使用,比如模型压缩、半监督学习、领域自适应等[18,26,28]。然而,对KD成功的理论分析仍然是一个巨大挑战。最近,Yuan等人将KD的成功归因于其作为从LSR(标签平滑正则化)视角提供样本级软目标的正则化效果[37]。这揭示了将KD应用于正则化领域的巨大潜力。在这一领域中,类别自我知识蒸馏(CS-KD)通过消除两批同类别样本预测之间的一致性来设计[39]。渐进式自我知识蒸馏(PS-KD)与我们的工作更相似,它逐渐从上个时期蒸馏过去的知识,以软化当前时期的硬目标[12]。记忆回放知识蒸馏(Mr-KD)通过存储一系列被放弃的网络备份进行扩展PS-KD[30]。然而,实施PS-KD或Mr-KD都需要额外的GPU内存来存储历史模型参数或者整个过去预测结果在硬盘上。前一种策略对于像深度WRN[41]这样的大模型来说计算成本很高,而后一种策略在训练像ImageNet[23]这样大型数据集时效率低下。上述缺点导致了训练效率低下,以及在移动电话、数码相机等终端设备上的实现难度[4],限制了其在正则化方面的应用。另一方面,这些方法缺乏来自最后几个小批次的最新信息。为了应对这些不足,我们提出了一种新颖的自我蒸馏框架,名为DLB,将在以下部分详细阐述。

3.Methods

3.1.Preliminary

在这项工作中,我们以监督分类任务作为案例研究。为了清晰表示,我们将一个包含K类标签的数据集表示为D={(xi,yi)}Ni=1,其中N是训练实例的总数。在每个小批次中,一个包含n个样本的批次B={(xi,yi)}ni=1⊆D通过数据扭曲ϕ进行增强,得到扭曲图像集合Bϕ={(ϕ(xi),yi)}ni=1。然后,它们被输入到目标神经网络hθ中,优化交叉熵损失函数,其定义如下:
在这里插入图片描述
待更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/239041.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

手把手教WSL如何访问宿主机USB设备

目录 工具安装window安装usbipd工具WSL usbip安装 Setupwindow&#xff08;Version>4.0.0&#xff09;window&#xff08;Version<4.0.0&#xff09;WSL 卸载 自从windows推出的WSL功能&#xff0c;对广大的Linux和嵌入式开发者来说是巨大福利&#xff0c;基本可以媲美日…

【头歌系统数据库实验】实验10 SQL互联网业务查询-1

目录 第1关&#xff1a;查找购买个数超过20,重量小于50的商品&#xff0c;按照商品id升序排序 第2关&#xff1a;查询向follow表中user_id 1 的用户&#xff0c;推荐其关注的人喜欢的音乐 第3关&#xff1a;查询向follow表中user_id用户&#xff0c;推荐其关注的人喜欢的音…

MinGW编译Python至pyd踩坑整理

title: MinGW编译Python至pyd踩坑整理 tags: [Python,CC] categories: [开发记录,Python] date: 2023-12-12 13:48:20 description: sidebar: [‘toc’, ‘related’,‘recent’] 注意需要魔法 用scoop自动安装配置MinGw 需要魔法&#xff0c;不需要手动配置mingw scoop in…

WPF使用WebBrowser报脚本错误问题处理

前言 WPF使用WebBrowser报脚本错误问题处理,我们都知道WPF自带的WebBrowser都用的IE内核,但是在特殊的条件下我们还需要用到它,比如展示纯html简单的页面。再展示主流页面的时候比如用到Jquery高级库或者VUE等当前主流站点时经常就会报JS脚本错误,在Winform里面我们一句代…

(十六)Flask之蓝图

蓝图 Flask蓝图&#xff08;Blueprint&#xff09;是Flask框架中用于组织和管理路由、视图函数以及静态文件的一种机制。它提供了一种将应用程序拆分为更小、可重用组件的方式&#xff0c;使得项目结构更清晰&#xff0c;代码更易于维护。 使用Flask蓝图&#xff0c;可以将相…

mysql中NULL值

mysql中NULL值表示“没有值”&#xff0c;它跟空字符串""是不同的 例如&#xff0c;执行下面两个插入记录的语句&#xff1a; insert into test_table (description) values (null); insert into test_table (description) values ();执行以后&#xff0c;查看表的…

VBA_NZ系列工具NZ10:VBA压缩与解压工具

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

外贸开发信标题如何写?推荐的邮件主题行?

提高打开率的外贸开发信标题模板&#xff1f;怎么写好邮件主题&#xff1f; 一封引人注目的外贸开发信可以帮助您吸引潜在客户的注意&#xff0c;打开贸易大门。然而&#xff0c;写一个吸引人的外贸开发信并不容易。蜂邮将探讨如何撰写令人印象深刻的外贸开发信标题&#xff0…

java系列-LinkedHashMap

1.插入新节点时&#xff0c;会将该节点加到链表尾部 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{/*** The head (eldest) of the doubly linked list.*/transient LinkedHashMapEntry<K,V> head;/*** The tail (young…

第三届iEnglish全国ETP大赛16强落位 诠释教育游戏价值

10日,与北方骤降的温度形成鲜明对比,以“玩转英语,用iEnglish”为主题的国内首个教育游戏活动第三届iEnglish全国ETP(English Through Pictures)大赛总决赛小组赛热火朝天的进行。随着“云帆沧海队”搭上末班车,本届活动16强全部产生,接下来的三个周末他们将向年度总冠军发起最…

vscode 远程连接内网服务器和通过跳板机远程连接外网服务器

1.打开vscode congfig文件&#xff0c;输入相应信息如下图 若本地没有id_rsa文件&#xff0c;可打开cmd进入.ssh目录下输入命令&#xff1a;ssh-keygen&#xff0c;创建该文件&#xff0c;会提示输入该文件保存地址以及设置秘钥密码&#xff08;最好不要设置密码&#xff0c;不…

(2023,大视觉模型 LVM,视觉句子,自回归)序列建模支持大型视觉模型的可扩展学习

Sequential Modeling Enables Scalable Learning for Large Vision Models 公Z号&#xff1a;EDPJ&#xff08;添加 VX&#xff1a;CV_EDPJ 或直接进 Q 交流群&#xff1a;922230617 获取资料&#xff09; 目录 0. 摘要 1. 简介 2. 相关工作 3. 数据 4. 方法 4.1 图像…

如何管理大型网站的抓取预算

优化您的网站&#xff0c;以便 Google 更快地找到您的内容并将您的内容编入索引&#xff0c;这可以帮助您的网站获得更好的知名度和流量。 互联网是一个不断发展的虚拟世界&#xff0c;拥有超过 1 亿个网站。 你认为谷歌可以抓取世界上的每一个网站吗&#xff1f; 即使拥有谷…

优化汽车产业用户营运:精细化策略

近年来随着互联网时代新技术浪潮的冲击&#xff0c;商业社会中各种原生边界不断被打破&#xff0c;新的消费需求、新的商业模式、新的竞争挑战层出不穷。各行业往往面临重重困境与迷思&#xff0c;学会如何精细化运营用户显得尤为重要。立即阅读阅文&#xff0c;详细了解其中用…

系列十、SpringBoot + MyBatis + Redis实现分布式缓存(基于注解方式)

一、概述 上篇文章 系列九、SpringBoot MyBatis Redis实现分布式缓存 介绍了基于xml方式实现分布式缓存的效果&#xff0c;当前大家使用的技术栈基本是springboot各种框架的组合&#xff0c;而springboot显著的一个特点就是去xml配置&#xff0c;那么在无xml配置的情形下&…

LeetCode(55)环形链表【链表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 环形链表 1.题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评…

【EDA工具-VCS和Verdi的使用_2023.12.9】

芯片开发所需工具环境 Linux/Unix 编辑器Vim/Gvim EDA工具 Makefile 脚本语言Perl/Python 版本控制SVN/GIT 脚本语言Makefile 形式&#xff08;由一系列的规则组成&#xff09; 规则的目标&#xff1a;规则的依赖&#xff08;可有可无&#xff09; 规则的命令行&#xff08…

CompletableFuture使用小结

为什么需要CompletableFuture CompletableFuture继承了CompletionStage接口和Future接口&#xff0c;在原有Future的基础上增加了异步回调、流式处理以及任务组合&#xff0c;成为JDK8多任务协同场景下一个有效利器。 CompletableFuture使用示例 提交有返回值的异步任务 通…

【HTML】基于jsQR实现的HTML单页面扫码功能

前言 最近做了一个扫码签到的功能涉及到获取浏览器摄像头并扫码识别的功能。 选择jsQR的原因&#xff1a; html5-qrcode&#xff1a;使用简单&#xff0c;识别率低&#xff0c;二维码小不可解析 zxing/library&#xff1a; 识别率优于html5-qrcode&#xff0c;部分安卓模糊…

Linux系统编程:高级IO总结

非阻塞IO基本概念 高级IO核心就一个概念&#xff1a;非阻塞IO。 与该概念相对的&#xff0c;就是我们之前学习过的阻塞IO。 非阻塞IO&#xff08;Non-blocking I/O&#xff09;是一种IO模型&#xff0c;用于实现异步IO操作&#xff0c;使应用程序能够在等待IO操作完成的同时…
最新文章