点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
在计算机视觉领域,深度神经网络(DNN)的发展如日中天,极大地推动了图像分类、目标检测和语义分割等任务的进步。然而,如何进一步优化DNN的训练过程,提升其在各种视觉任务中的性能,一直是研究人员关注的焦点。今天,我们就来介绍一篇名为《Competitive Distillation: A Simple Learning Strategy for Improving Visual Classification》(竞争性蒸馏:一种提升视觉分类性能的简单学习策略)的论文,看看它提出了怎样的创新策略。
论文信息
题目:Competitive Distillation: A Simple Learning Strategy for Improving Visual Classification
作者:Daqian Shi, Xiaolei Diao, Xu Chen, Cédric M. John
论文概览
这篇论文由Daqian Shi、Xiaolei Diao、Xu Chen和Cédric M. John共同撰写。论文提出了一种全新的训练策略——竞争性蒸馏(Competitive Distillation),旨在提升深度神经网络在各类计算机视觉任务上的性能。其核心创新点包括提出竞争性蒸馏策略、引入随机扰动、多场景验证有效性以及动态确定教师网络。
知识蒸馏背景
在深入了解竞争性蒸馏之前,我们先来回顾一下知识蒸馏的相关知识。知识蒸馏利用预训练DNN的深度表示能力,通过建立教师 - 学生学习范式,使学生网络能够通过模仿教师网络的输出进行学习。常见的教师 - 学生范式是让学生网络从固定的教师网络学习,即模型蒸馏。此外,还有深度相互学习和自蒸馏等基于蒸馏的优化策略,试图通过多个网络的协同训练来提升整体任务性能。然而,这些策略由于对不同迭代中网络间学习方向的影响理解不足,改进效果有限。

竞争性蒸馏策略
竞争优化
竞争性蒸馏的关键思想是让网络在协作训练的同时相互竞争。在每次训练迭代中,通过基于监督分类预测的交叉熵损失确定性能最佳的网络,该网络成为获胜者并作为当前迭代的教师,其他网络作为学生模仿教师。这种动态的教师网络指定方式,使得知识能在网络间有效传递,即使网络规模差异较大时,也能提升整体网络性能。

随机扰动
为了帮助网络跳出局部最优解,论文受遗传算法启发,在训练过程中对随机选择的网络输入图像引入随机扰动。具体来说,设置一个预定义的处理池,存储一些物理引导的图像处理函数,如图像融合、拼接、噪声注入、数据变形和随机裁剪等。在每次迭代中,从处理池中随机选择一个扰动函数,对原始图像进行处理,从而诱导网络产生突变,增加梯度变动。
损失函数
为了确定性能最佳的网络并选择教师网络,论文基于监督学习损失(预测标签与真实标签之间的交叉熵误差)进行比较。同时,为了提升学生网络的性能,教师网络通过蒸馏损失(Kullback - Leibler散度)和特征损失(损失)向学生提供训练经验。
实验与结果
数据集与设置
论文在四个数据集上进行了实验,包括CIFAR10、CIFAR100、ImageNet和Market - 1501。同时,考虑了不同类型和规模的网络,如典型学生规模的紧凑网络(ResNet - 32、ResNet - 44等)和典型教师规模的大型网络(ResNet - 152、宽残差网络等)。
实验结果
实验结果表明,分组学习优于个体学习,竞争蒸馏通常比相互学习带来更多改进。与独立训练相比,该方法在三个数据集上分别实现了平均0.91%、2.25%和1.58%的准确率提升。在与基于蒸馏的方法比较中,竞争蒸馏策略在两个网络上都显著优于其他方法。
消融研究
通过消融研究,论文验证了随机扰动和损失函数的有效性。随机扰动对竞争蒸馏有积极作用,而对深度相互学习没有显著提升;使用特征损失在一定程度上能稳定提升网络性能。
讨论
论文还对竞争蒸馏方法中网络训练期间的竞争情况、收敛效率和局限性进行了讨论。结果显示,教师网络在不断切换,网络之间存在知识转移;竞争蒸馏通常比深度相互学习收敛步数更少,每步的平均时间成本更少或相同;但与单独训练单个网络相比,竞争蒸馏仍然需要更多的计算资源,在实时或低延迟应用中的灵活性有限。

总结与展望
总的来说,这篇论文提出的竞争性蒸馏策略是一种新颖且有效的网络学习策略,它通过竞争优化和随机扰动,提升了深度神经网络在视觉分类任务上的性能。未来,研究人员将致力于使竞争蒸馏适应自然语言处理领域,并解决其在计算资源和实时应用方面的局限性。相信随着研究的不断深入,竞争性蒸馏将为计算机视觉和其他领域带来更多的突破和创新。
希望这篇推文能让你对竞争性蒸馏有更深入的了解,如果你对论文中的内容有任何疑问,欢迎在评论区留言讨论。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:人工智能0基础学习攻略手册
在「小白学视觉」公众号后台回复:攻略手册,即可获取《从 0 入门人工智能学习攻略手册》文档,包含视频课件、习题、电子书、代码、数据等人工智能学习相关资源,可以下载离线学习。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~