1. 程式人生 > >結合量化的知識蒸餾(Quantization Mimic)

結合量化的知識蒸餾(Quantization Mimic)

"Quantization Mimic Towards Very Tiny CNN for Object Detection"這篇文章通過將知識蒸餾(Knowledge Distillation)與量化技術(Model Quantization)有效結合,能夠誘導訓練生成纖細、但效能良好的目標檢測網路(主幹網路通道數少、層數淺的R-FCN或Faster RCNN)。Quantization Mimic中量化技術能夠縮小引數搜尋空間,從而帶來正則化效應,有效降低過擬合;而知識蒸餾則負責將複雜教師網路的知識遷移至學生網路。

Quantization Mimic的整體框架如上圖所示,首先訓練一個性能優越的全精度教師網路(如R-FCN-VGG);再將教師網路予以量化,獲得量化後的Feature Maps輸出;然後設計一個纖細的學生網路(如R-FCN-VGG-1-32),並予以量化;最後在誘導訓練期間,比較教師網路與學生網路的量化輸出(即L2 loss),完成知識遷移。

量化技術選擇線性均勻方式,原因在於文章以R-FCN或Faster-RCNN作為benchmark,而這兩種檢測網路更關注ROI內部的啟用響應,通常這些響應比較劇烈,因此均勻量化能夠更好地保留輸出資訊。反觀INQ採用的非均勻量化能夠更好地描述一般性的啟用或權重分佈(非均勻、近高斯分佈)。文章採用的量化表示如下:

引入知識蒸餾之後,全精度形式的總loss如下:

上式中,Lm表示教師網路與學生網路中RPN輸出的ROI範圍內Feature Maps之間的L2 Loss(Hint within ROIs),其量化形式如下:

為了能夠讓tiny network輸出的FMs與teacher network輸出的FMs相匹配(維度匹配),需要將低維度流形通過量化推至高緯度離散空間,具體如下:

文章最後通過Quantization Mimic取得了良好的量化與遷移效果,尤其是教師網路與學生網路均予以量化的情況下,具體見文章實驗部分。