論文地址: https://arxiv.org/abs/1706.00384
論文簡介
該論文探討了一種與模型蒸餾(model distillation)相關卻不同的模型---即相互學習(mutual learning)。 蒸餾從一個強大的大型預訓練教師網絡開始,並向未經訓練的小型學生網絡進行單向知識轉移。 相反,在相互學習中,我們從一群未經訓練的學生網絡開始,他們同時學習一起解決任務。 具體來說,每個學生網絡都有兩個的損失函數:一種傳統的監督性損失函數,以及一種模仿性的損失函數(mimicry loss),使每個學生的后驗概率分布與其他學生的類別概率保持一致。
通過這種方式進行訓練,結果表明,在這種基於同伴教學(peer-teaching)的情景中,每個學生的學習都比在傳統的監督學習方案中單獨學習要好得多。 此外,以這種方式訓練的學生網絡比來自更大的預訓練教師的傳統蒸餾訓練的學生網絡獲得更好的結果。論文實驗表明,各種網絡架構可以從相互學習中受益,並在CIFAR-100識別和Market-1501 ReID 數據集上獲得令人信服的結果。
模型設計

損失函數
損失函數 | 函數設計 |
---|---|
傳統監督損失函數 | softmax + 交叉熵損失函數 |
模仿性的損失函數 | softmax + KL散度函數 |
[兩個網絡]


[多個網絡]

實驗結果
實驗網絡

Cifar-100 實驗
[實驗設置]
paras | values |
---|---|
optimizer | SGD with Nesterov |
base lr | 0.1 |
momentum | 0.9 |
batch size | 64 |
epoch | 200 |
note | The learning rate dropped by 0.1 every 60 epochs |
[實驗結果]

[實驗結論]
- 與獨立學習相比, ResNet-32,MobileNet 和 WRN-28-10各種不同網絡都在DML提高了性能。
- 容量較小的網絡(ResNet-32和MobileNet)通常可以從DML獲取更大的提升。
- 雖然WRN-28-10是一個比MobileNet或ResNet-32大得多的網絡,但它仍然受益於與較小的網絡一起訓練。
- 與獨立學習相比,使用DML訓練一組大型網絡(WRN-28-10)仍然是有益的。 因此,與模式蒸餾的傳統智慧相反,我們看到一個大型的預訓練的教師網絡不是必不可少的.
Market-1501 實驗結果
[實驗設置]
每個MobileNet相互學習DML都以雙網絡方式中進行訓練,並報告兩個網絡的平均性能
paras | values |
---|---|
optimizer | Adam |
β1/β2 | 0.5/0.999 |
base lr | 0.0002 |
momentum | 0.9 |
batch size | 16 |
iterations | 100,000 |
[實驗結果]

[實驗結論]
可以看到,與獨立學習相比, 無論是否在ImageNet上進行預訓練,DML極大地提高了MobileNet的性能。還可以看出,用兩個MobileNets訓練的所提出的DML方法的性能顯着優於先前的最先進的深度學習方法。
與模型蒸餾比較
[實驗結果]

[實驗結論]
Table4 將DML與模型蒸餾進行了比較,其中教師網絡(Net1)經過預先訓練,並為學生網絡(Net2)提供固定的后驗概率目標。
- 正如預期的那樣,與獨立學習相比,來自強大的預訓練教師網絡的常規蒸餾方法確實提高了學生網絡的表現(Net1蒸餾Net2)
- 與蒸餾相比,DML將兩個網絡一起訓練, 兩個網絡都得到了改進。這意味着在相互學習的過程中,通過與先驗未經訓練的學生的互動,教師角色的網絡實際上變得比預先訓練的教師更好。
相互學習的網絡與性能聯系
[實驗設置]
之前實驗研究以2名學生隊列為例。在這個實驗中,論文研究了DML如何與隊列中的更多學生進行互動。圖2(a)顯示了Market-1501上的結果,其中DML訓練增加了MobileNets的群組大小。圖中顯示了平均mAP以及標准偏差。
[實驗結果]

[實驗結論]
從圖2(a)可以看出,平均單一網絡的mAP性能隨着DML隊列中的網絡數量的增加而增加。這表明,與越來越多的同齡人一起學習時,學生的泛化能力得到提高。從標准偏差中我們也可以看到,隨着DML網絡數量的增加,結果越來越穩定。
訓練多個網絡時的一種常用技術是將它們組合為一個整體並進行組合預測。在圖2(b)中,我們使用與圖2(a)相同的模型,但基於整體進行預測, 在整體上(基於所有成員的連鎖特征進行匹配)而不是報告每個人的平均預測。從結果我們可以看出,集合預測優於預期的各個網絡預測(圖2 (b)vs(a).