博雯 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
在煉丹過程中,為了減少訓練所需資源,MLer有時會將大型複雜的大模型“蒸餾”為較小的模型,同時還要保證與壓縮前相當的結果。
這就是知識蒸餾,一種模型壓縮/訓練方法。
不過隨著技術發展,大家也逐漸將蒸餾的物件擴充套件到了資料集上。
這不,谷歌最近就提出了兩種新的資料集蒸餾方法,在推特上引起了不小反響,熱度超過600:
像這樣, 將50000張標註影象的CIFAR-10資料集“蒸餾”縮小至1/5000大小,只基於10張合成數據點進行訓練,模型的準確率仍可近似51%:
而如果“蒸餾資料集”由500張影象組成(佔原資料集1%大小),其準確率可以達到80%。
兩種資料集蒸餾方法分別來自於ICLR 2021和NeurIPS 2021上的兩篇論文。
透過兩階段迴圈進行最佳化
那麼要如何才能“蒸餾”一個數據集呢?
其實,這相當於一個兩階段的最佳化過程:
- “內部迴圈”,用於在學習資料上訓練模型
- “外部迴圈”,用於最佳化學習資料在自然資料上的效能
透過內部迴圈可以得到一個核嶺迴歸(KRR)函式,然後再外部迴圈中計算原始影象標註與核嶺迴歸函式預測標註之間的均方誤差(MSE)。
這時,谷歌提出的兩種方法就分別有了不同的處理路線:
一、標註解釋 (LS)
這種方法直接解釋最小化KRR損失函式的支援標註集(support labels),併為每個支援影象生成一個獨特的密集標註向量。
二、核歸納點 (KIP)
這種方法透過基於梯度的方法將KRR損失函式最小化,以此來最佳化影象和可能生成的資料。
以MNIST為例,下圖中的上、中、下三張圖分別為原始的MNIST資料集、固定標註的KIP蒸餾影象、最佳化標註的KIP蒸餾影象。
可以看出,在於對資料集進行蒸餾時,最佳化標註的效果最好:
對比已有的DC(Dataset Condensation)方法和DSP(Dataset Condensation with Differentiable Siamese Augmentation)方法可以看到:
如果使用每類別只有一張影象,也就是最後只有10張影象的蒸餾資料集,KIP方法的測試集準確率整體高於DC和DSP方法。
在CIFAR-10分類任務中,LS也優於先前的方法,KIP甚至可以達到翻倍的效果。
對此,谷歌表示:
這證明了在某些情況下,我們的縮小100倍的“蒸餾資料集”要比原始資料集更好。
兩位華人作者
整個專案由蕭樂超(Lechao Xiao)、Zhourong Chen、Roman Novak三人合作完成。
其中蕭樂超為LS方法的論文作者之一,本科畢業於浙江大學的應用數學系,在美國伊利諾大學厄巴納-香檳分校(UIUC)取得博士學位,現在是谷歌大腦團隊的一名科學家。
他的主要研究方向是數學、機器學習和深度學習。
另一位華人科學家Zhourong Chen則是KIP方法的論文作者之一,本科畢業於中山大學,並在香港科技大學取得了計算機科學與工程系的博士學位,現是Google Research的一名軟體工程師。
論文:
[1]https://openreview.net/forum?id=l-PrrQrK0QR
[2]https://openreview.net/forum?id=hXWPpJedrVP
開源地址:
https://github.com/google-research/google-research/tree/master/kip
參考連結:
https://ai.googleblog.com/2021/12/training-machine-learning-models-more.html
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態