Deep Mutual Learning论文阅读笔记

摘要

模型蒸馏是将知识从教师模型传给学生模型有效且被广泛使用的技术,典型的应用就是将一个很大并且能力很强的网络中集成到一个比较小的网络中,因为小的网络更加满足低存储和高效率的要求。在本文中,我们提出一种深度相互学习策略,在训练的过程中学生网络和教师网络可以相互合作学习,而不是单方向的学生从教师那里学习。我们的实验表明各种网络架构都能够从相互学习策略中受益,并且在CIFAR-100和行人重识别数据集Market-1501这两个数据集上取得令人瞩目的结果,令人惊讶的是,相互学习并不需要先前强大的教师网络,只需要一组学生网络即可有效的训练,并且结果要强于有教师指导的网络。

分析:这里边说的教师网络指的是已经在某个任务上已经训练好的网络,有教师指导的网络更够让学生网络收敛的更快,而本文说的是没有训练好的网络,只有两个学生网络,让这两个学生网络同时相互学习,从而解决目标任务。

1. 简介

具体而言,每个学生由常规的有监督学习损失和拟态损失来共同训练。拟态损失是指是每个学生的后验类别要和其他学生的类别概率相一致。(拟态在生物学中是指一个动物在进化的过程中会获得与成功物种相似的特征,成功混淆掠食者的认知,从而靠近拟态物种)

(Specifically, each student is trained withtwo losses: a conventional supervised learning loss, and a mimicry loss thataligns each student’s class posterior with the class probabilities of otherstudents.)

和有教师指导的蒸馏模型相比,相互学习策略具有以下优点:1)随着学生网络的增加其效率也得到提高;2)它可以应用在各种各样的网络中,包括大小不同的网络;3)即使是非常大的网络采用相互学习策略,其性能也能够得到提升。尽管我们的目标是为了获得一个有效的网络,但是其整体也可以看成是一种集成模型。(Furthermore we observe that: (i) the efficacy increases with thenumber of networks in the cohort (by training on small networks only, more ofthem can fit on one GPU for effective mutual learning); (ii) it applies to avariety of network architectures, and to heterogeneous cohorts consisting ofmixed big and small networks; and (iii) even large networks mutually trained incohort improve performance compared to independent training. Finally, we notethat while our focus is on obtaining a single effective network, the entirecohort can also be used as a highly effective ensemble model.)

2. 深度相互学习

2.1 模型结构




2.2   优化

模型训练算法步骤如上图所示,我们大致分析一下:

(1)首先确定训练样本以及其对应的标签,并设置两个学习率;

(2)然后对两个神经网络进行不同的初始化条件;

(3)其次就是进入真正意义上的梯度更新的过程;

1)从训练样本中随机选择一些样本作为mini-batch,然后将这些样本分别送入到两个不同的网络得到其对应的输出;

2)然后计算网络1的损失,并根据梯度下降法更新其梯度;

3)再次将mini-batch的这些样本分别送到不同的网络得到其对应的预测值;

4) 然后计算网络2的损失,并根据梯度下降法更新其梯度;

(4)一直循环步骤(3),直到其收敛;

2.3 扩展到更多的学生网络


3. 实验

3.1实验细节


For CIFAR-100, we use SGD with Nesterov momentum and set the initiallearning rate to 0.1, momentum to 0.9 and mini-batch size to 64. The learningrate dropped by 0.1 every 60 epochs and we train for 200 epochs. The dataaugmentation includes horizontal flips and random crops from image padded by 4pixels on each side, filling missing pixels with reflections of original image.

For Market-1501, we use Adam optimiser with learning rate lr = 0.0002,β1= 0.5, β2 = 0.999 and a mini-batch size of 16. We train all the models for100,000 iterations.

3.2 CIFAR-100实验结果


3.3 为什么深度相互学习网络能够工作?


通常情况下有很多的解决方案能够让训练误差变为0,然而有些解决方法的泛化能力要强一点。因为梯度下降法找打的最优点不是在狭小的谷底内,而是在宽阔的峡谷中,当我们加入相对熵以后能够让网络找到更小的值,从而实现更优的结果。


  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Deep Mutual Learning是一种用于训练小型但强大的深度神经网络的方法。它与传统的模型蒸馏有所不同,但相关。在Deep Mutual Learning中,我们从一群未经训练的学生网络开始,它们同时学习共同解决任务。每个学生接受两种损失的训练:传统的监督学习损失和模仿损失。模仿损失的目的是使每个学生的类后验概率与其他学生的类概率保持一致。通过这种方式的训练,每个学生在同伴教学的环境中的学习效果明显优于在传统的监督学习环境中独自学习。此外,相互学习的学生网络比通过大型预训练教师进行传统蒸馏训练的学生取得更好的结果。这表明,相互学习策略具有普遍适用性,可以应用于不受模型大小限制且只关注识别精度的应用场景。如果你想了解更多关于Deep Mutual Learning的内容,你可以查看论文\[3\]。 #### 引用[.reference_title] - *1* [【阅读笔记Deep Mutual Learning](https://blog.csdn.net/qq_29260257/article/details/123401476)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [论文解读《Deep Mutual Learning》](https://blog.csdn.net/qq_46031969/article/details/129321595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值