知識蒸餾: 壓縮模型以達泛用化


前言

拜半導體技術進步之所賜,電腦的運算能力已經足以負荷人工智慧訓練所需。於是近年來,許多科技公司、學校和研究機構大量投入人工智慧的研究,而大量的相關的論文和模型也被提出。但為追求更擬真的預測,提出的模型也越趨複雜化,所使用的模型參數量也越來越難以單一設備進行演算,此狀況不利於普及人工智慧的所帶的成果與便利性。

有鑑於上述情況,為了訓練出來的模型能於一般的設備上使用,學者Hinton et. al. 提出了模型壓縮的概念,亦即知識蒸餾(Knowledge Distillation)。概念作法如下:先訓練一或數個比較大而精確但需耗費大量運算資源的模型,再用這些大模型(教師)去對一個小的模型(學生)下指導棋,讓小模型在面對相同資料下去模仿大模型推論的過程或結果。這種做法相較於直接用小模型進行原生訓練,能得到更準確的推論結果。

本文除介紹Hinton[1]提出的經典作法之外,亦對衍生性作法FitNets[2]和FSP Matrix[3]做介紹。

 

Distilling the knowledge in a neural network

Hinton於2015年提出的Distilling the Knowledge in a Neural Network,開啟了知識蒸餾的先河。其作法十分的簡單,人工智慧的模型多一機率分佈之模型,而Hinton提出的作法就是讓小模型去模仿大模型輸出的機率,藉此習得大模型推論的能力。然而一般模型輸出的機率都是陡峭的,所以Hinton將輸出除以一個常數T,”軟化”輸出以取得更多細節。實例來說,小模型除了對原生資料進行學習外,也會對大模型的輸出結果進行學習,其得到的結果較只由原生資料進行學習的準確度還來的高。

 

FitNets: Hints for Thin Deep Nets

前述方法對比較深,亦即層數多的模型效果不是很好,因為層數較多的模型中間參數的互動行為近乎不可預測,於是影響了學習效果。有鑑於此點,A. Romero et. al. 提出了FitNets的作法。其作法是在模型的中間安插一個收束點,讓模型在中途就先收斂到和學習對象中途結果相似,再對整個模型進行知識蒸餾(見圖一),藉此減少發散的機會。依據實驗的結果FitNets的方法可以得到0.7%的performance gain。

FitNets

圖一、 FitNets (節自[2])

 

A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning

關於知識蒸餾在較深的模型表現不好的原因,Yim et. al. 在A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning提出了另一種見解。他們認為之前的作法類填鴨式教育,僅一昧去模仿大模型的輸出的解答,以至於小模型知其然不知其所以然。但若小模型能更進一步去理解並學習大模型的推導邏輯,可使小模型在推論的邏輯更接近大模型,進而提升準確率。基於這個理念,此篇提出了FSP Matrix的概念(見圖二),目的在於對用於對資料流變化的過程做一個摘要,作者認為這個摘要能代表模型在此階段推理過程。而具體作法是大模型每數層就建構一個FSP Matrix記錄摘要,而小模型建立對應數量的FSP Matrices去逼近大模型的FSP Matrices,以習得其中的邏輯變化。(見圖三)

FSP Matrix

圖二、 FSP Matrix (節自[3])

 FSP 訓練

圖三、 運用FSP Matrice進行訓練(節自[3])

 

結論

隨著人工智慧的發展,為了追求模型的準確度,模型的發展會更趨複雜化。但於此同時,發展出來的模型也越來越難在一般設備上執行。此時,知識蒸餾提供一個橋樑,讓高精度模型在經由一定壓縮後能於通用設備上執行,而此法所得之模型比直接訓練的原生模型精確度還高。藉由此特性,可以讓模型的訓練和發展和實際運用脫勾,未來可以一面發展高精度模型,一面藉由此手法普及其成果。

 

 

Reference

[1] Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. "Distilling the knowledge in a neural network." arXiv preprint arXiv:1503.02531 2.7 (2015).

[2] Romero, Adriana, et al. "Fitnets: Hints for thin deep nets." arXiv preprint arXiv:1412.6550 (2014).

[3] Yim, Junho, et al. "A gift from knowledge distillation: Fast optimization, network minimization and transfer learning." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.