當前位置:
首頁 > 知識 > 再生神經網路:利用知識蒸餾收斂到更優的模型

再生神經網路:利用知識蒸餾收斂到更優的模型

選自arxiv

作者:Tommaso Furlanello等

機器之心編譯

參與:王淑婷、思源

知識蒸餾將知識從一個複雜的機器學習模型遷移到另一個緊湊的機器學習模型,而一般緊湊的模型在性能上會有一些降低。本文探討了同等複雜度模型之間的知識遷移,並發現知識蒸餾中的學生模型在性能上要比教師模型更強大。

在一篇關於演算法建模的著名論文(Breiman 等,2001)中,Leo Breiman 指出,不同的隨機演算法過程(Hansen & Salamon,1990;Liaw 等,2002 年;Chen & Guestrinn,2016)可以產生具有相似驗證性能的不同模型。此外,他還指出,我們可以將這些模型組成一個集成演算法,從而獲得優於單個模型的預測能力。有趣的是,給定這樣一個強大的演算法集成,人們往往可以找到一個更簡單的模型(至少不比集成模型更複雜)來仿效此集成並實現其性能。

在《再生樹(Born Again Trees)》(Breiman & Shang,1996)一書中,Breiman 率先提出了這一想法,學習單棵決策樹能達到多棵樹預測的性能。這些再生樹近似集成方法的決策,且提供了決策樹的可解釋性。隨後一系列論文重新討論了再生模型的概念。在神經網路社區,類似的想法也出現在壓縮模型(Bucilua 等,2006)和知識蒸餾(Hinton 等,2015)概念中。在這兩種情況下,這種想法通常是把能力強大、表現出色的教師模型的知識遷移給更緊湊的學生模型(Ba & Caruana,2014;Urban 等,2016;Rusu 等,2015)。雖然在以監督方式直接訓練學生模型(student)時,其能力不能與教師模型(teacher)相匹配,但經過知識蒸餾,學生模型的預測能力會更接近教師模型的預測能力。

我們建議重新審視知識蒸餾,但側重點不同以往。我們的目的不再是壓縮模型,而是將知識從教師模型遷移給具有相同能力的學生模型。在這樣做的過程中,我們驚奇地發現,學生模型成了大師,明顯超過教師模型。聯想到明斯基的自我教學序列(Minsky』s Sequence of Teaching Selves)(明斯基,1991),我們開發了一個簡單的再訓練過程:在教師模型收斂之後,我們對一個新學生模型進行初始化,並且設定正確預測標籤和匹配教師模型輸出分布這個雙重目標,進而對其進行訓練。

通過這種方式,預先訓練的教師模型可以偏離從環境中求得的梯度,並有可能引導學生模型走向一個更好的局部極小值。我們稱這些學生模型為「再生網路」(BAN),並表明當應用於 DenseNet、ResNet 和基於 LSTM 的序列模型時,再生網路的驗證誤差始終低於其教師模型。對於 DenseNet,我們的研究表明,儘管收益遞減,這個過程仍可應用於多個步驟中。

我們觀察到,由知識蒸餾引起的梯度可以分解為兩項:含有錯誤輸出信息的暗知識(DK)項和標註真值項,後者對應使用真實標籤獲得原始梯度的簡單尺度縮放。我們將第二個術語解釋為基於教師模型對重要樣本的最大置信度,使用每個樣本的重要性權重和對應的真實標籤進行訓練。這說明了 KD 如何在沒有暗知識的情況下改進學生模型。

此外,我們還探討了 Densenet 教師模型提出的目標函數能否用於改進 ResNet 這種更簡單的架構,使其更接近最優準確度。我們構建了複雜性與教師模型相當的 Wide-ResNet(Zagoruyko & Komodakis,2016b)和 Bottleneck-ResNet(He 等,2016 b)兩個學生模型,並證明了這些 BAN-ResNet 性能超過了其 DenseNet 教師模型。類似地,我們從 Wide-ResNet 教師模型中訓練 DenseNet 學生模型,前者大大優於標準的 ResNet。因此,我們證明了較弱的教師模型仍然可以提升學生模型的性能,KD 無需與強大的教師模型一起使用。

圖 1:BAN 訓練過程的圖形表示:第一步,從標籤 Y 訓練教師模型 T。然後,在每個連續的步驟中,從不同的隨機種子初始化有相同架構的新模型,並且在前一學生模型的監督下訓練這些模型。在該過程結束時,通過多代學生模型的集成可獲得額外的性能提升。

表 1:不同深度和寬度的 Wide-ResNet 與不同深度和增長因子的 DenseNet,在 CIFAR10 數據集上的測試誤差。

表 4:Densenet 在修正 CIFAR100 數據集上的測試誤差:Densenet-90-60 用作教師模型,與學生模型每次空間轉換後的隱藏狀態大小相同,但深度和壓縮率不同。

表 5:Densenet 到 ResNet:BAN-ResNet 在 CIFAR100 上的測試誤差,後者由具有不同 Dense Block 數和壓縮因子的 DenseNet 90-60 教師模型訓練而成。在所有 BAN 架構中,首先需要指明每一個卷積模塊的單元數量,然後還有關於 DenseNet 90-60 卷積塊的輸入和輸出通道比。所有 BAN 體系結構都與固定後的教師模型共享第一層(conv1)和最後一層(fc-output),每個密集塊都被殘差塊有效地替換。

表 6:不同 BAN-LSTM 語言模型在 PTB 數據集上的驗證/測試複雜度

論文:再生神經網路(Born Again Neural Networks)

論文地址:https://arxiv.org/abs/1805.04770

知識蒸餾(KD)包括將知識從一個機器學習模型(教師模型)遷移到另一個機器學習模型(學生模型)。一般來說,教師模型具有強大的能力和出色的表現,而學生模型則更為緊湊。通過知識遷移,人們希望從學生模型的緊湊性中受益,而我們需要一個性能接近教師模型的緊湊模型。本論文從一個新的角度研究知識蒸餾:我們訓練學生模型,使其參數和教師模型一樣,而不是壓縮模型。令人驚訝的是,再生神經網路(BAN)在計算機視覺和語言建模任務上明顯優於其教師模型。基於 DenseNet 的再生神經網路實驗在 CIFAR-10 和 CIFAR-100 數據集上展示了當前最優性能,驗證誤差分別為 3.5% 和 15.5%。進一步的實驗探索了兩個蒸餾目標:(i)由 Max 教師模型加權的置信度(CWTM)和(ii)具有置換預測的暗知識(DKPP)。這兩種方法都闡明了知識蒸餾的基本組成部分,說明了教師模型輸出在預測和非預測類中的作用。

我們以不同能力的學生模型為實驗對象,重點研究未被充分探究的學生模型超過教師模型的案例。我們的實驗表明,DenseNet 和 ResNet 之間的雙向知識遷移具有顯著優勢。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

業界 | 無縫整合PyTorch 0.4與Caffe2,PyTorch 1.0即將問世
資源|DMLC團隊發布GluonCV和GluonNLP:兩種簡單易用的DL工具箱

TAG:機器之心 |