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 模型结构


Deep Mutual Learning论文阅读笔记

Deep Mutual Learning论文阅读笔记

Deep Mutual Learning论文阅读笔记

2.2   优化

Deep Mutual Learning论文阅读笔记

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

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

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

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

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

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

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

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

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

2.3 扩展到更多的学生网络


Deep Mutual Learning论文阅读笔记

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实验结果


Deep Mutual Learning论文阅读笔记

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


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