自知識蒸餾方法在2014年被首次提出以來,其開始廣泛被應用于模型壓縮領域。在更強大教師模型輔助監(jiān)督信息的幫助下,學生模型往往能夠實現(xiàn)比直接訓練更高的精度。然而,現(xiàn)有的知識蒸餾相關研究只考慮了同架構模型的蒸餾方法,而忽略了教師模型與學生模型異構的情形。例如,最先進的MLP模型在ImageNet上僅能達到83%的精度,無法獲取精度更高的同架構教師模型以使用知識蒸餾方法進一步提高MLP模型的精度。因此,對異構模型知識蒸餾的研究具有實際應用意義。
本文的研究者們分析了針對異構模型(CNN,ViT,MLP)特征的差異性,指出特征中模型架構相關的信息會阻礙知識蒸餾的過程?;诖擞^察,研究者們提出了名為OFAKD異構模型知識蒸餾方法:該方法將特征映射到架構無關的統(tǒng)一空間進行異構模型蒸餾,并使用一種能夠自適應增強目標類別信息的損失函數(shù)。在CIFAR-100和ImageNet數(shù)據(jù)集上,該方法實現(xiàn)了對現(xiàn)有同架構知識蒸餾方法的超越。
異構模型間的特征差異
圖1 異構模型學習到的特征對比
相比于僅使用logits的蒸餾方法,同步使用模型中間層特征進行蒸餾的方法通常能取得更好的性能。然而在異構模型的情況下,由于不同架構模型對特征的不同學習偏好,它們的中間層特征往往具有較大的差異,直接將針對同架構模型涉及的蒸餾方法遷移到異構模型會導致性能下降。
通用的異構模型蒸餾方法
圖2 異構模型的知識蒸餾方法
為了在異構模型蒸餾過程中利用中間層特征,需要排除特征中模型架構相關信息的干擾,僅保留任務相關信息。基于此,研究者們提出通過將學生模型的中間層特征映射到logits空間,實現(xiàn)對模型架構相關信息的過濾。此外通過在原始基于KL散度的蒸餾損失函數(shù)中引入一項額外的調節(jié)系數(shù),修正后的損失函數(shù)能夠實現(xiàn)對目標類別信息的自適應增強,進一步減緩異構模型蒸餾時無關信息的干擾。
圖3 原始蒸餾損失與改進后蒸餾損失的對比
實驗結果
圖4 在ImageNet上的異構模型蒸餾結果
上表展示了在ImageNet上的異構蒸餾結果。在所有架構的六種可能異構組合中,本文OFAKD方法都得到了超越現(xiàn)有方法結果。
圖5 不同值對結果的影響
上表在ImageNet上比較了不同的值設置對結果的影響??梢钥闯?,通過選取合適的值設置,改進后的蒸餾損失函數(shù)能得到超越原始蒸餾損失函數(shù)的結果。
圖6 在ImageNet上的同構模型蒸餾結果
本文在ImageNet上與傳統(tǒng)同構模型蒸餾方法進行了對比。在常見的ResNet34和ResNet18同構教師學生模型組合上,OFAKD也具有與現(xiàn)有SOTA方法相當?shù)谋憩F(xiàn)。
圖7 MLP學生模型的蒸餾結果
最后,本文比較了文首提到的MLP作為學生模型時的蒸餾結果。通過選用ViT架構的BEiT v2-base作為教師模型,僅中等尺寸的CycleMLP-B3就刷新了MLP模型在ImageNet上的最佳結果。
結論
本文研究了異構模型之間的知識蒸餾方法,通過將學生模型中間層特征映射到logits空間來擬合教師模型最終輸出,并使用在原始知識蒸餾損失函數(shù)基礎上改進而來的自適應目標信息增強損失,提出的OFAKD方法在多種數(shù)據(jù)集和教師學生模型組合上實現(xiàn)了對現(xiàn)有方法的超越,擴展了知識蒸餾的應用范圍。
-
模型
+關注
關注
1文章
3226瀏覽量
48807 -
架構
+關注
關注
1文章
513瀏覽量
25468
原文標題:NeurIPS 2023 | 任意模型都能蒸餾!華為諾亞提出異構模型的知識蒸餾方法
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論