三分鐘理解知識蒸餾

2022-06-13 07:15:10 字數 584 閱讀 6661

知識蒸餾的意義

能夠壓縮模型,提公升模型效能

為什麼能夠壓縮模型?

!!!誰知道了告訴我一下!!!

為什麼能提公升模型精度?

栗子:分類問題有三個分類:貓,狗,烏龜,實際訓練過程中,比如當前的資料真實標籤是:貓,模型**出貓,狗,烏龜的概率分別是0.6, 0.3, 0.1,

傳統思路:不錯,識別對了,貓的概率最高,給模型一定的獎勵;

知識蒸餾:不錯,識別對了,貓的概率最高,並且狗比烏龜更像貓,給模型一定的獎勵;

總結:即便是負樣本,也包含大量知識,知識蒸餾能把這部分知識也學習起來。

大致步驟:

1. 基於乙個已經訓練好的net-t模型,該模型經過大量資料的訓練準確度很高,但是模型笨重,將net-t模型最終softmax結果進行軟化,生成soft-target,繼而生成loss1;

2. 創造乙個輕量模型net-s正常前像傳播,實際標籤用one-hot向量表示即hard-target,生成loss2;

3. 將loss1與loss2加權求和生成loss3;

4. loss3用於更新net-s網路;

即將net-t模型的知識遷移到net-s上並優化效能

三分鐘理解Python lambda

這篇主要是複習一下 lambda表示式是一種匿名函式,對應python中的自定義函式def。定義func函式,計算給定數x的平方 def func x return x x 等價於 func lambda x x x 用法,他就是乙個函式,像正常函式那樣呼叫就好 func 6 可以看到,lambda...

《三分鐘理解大小端》

無論筆試還是面試都有一定機率問怎麼判斷大小端,那麼你就很自豪的回答,大端就是資料高位元組放在低位址上,小端就是資料低位元組放在低位址上。好了您回答了這個恭喜下面讓你 實現一下,這個時候很多只是死記硬背的缺陷就會暴露出來。其實 的實現很多方法都是可以的,下面舉例最簡單的一種,就是初始化乙個16進製制的...

三分鐘理解依賴注入

如果在 class a 中,有 class b 的例項,則稱 class a 對 class b 有乙個依賴。例如下面類 human 中用到乙個 father 物件,我們就說類 human 對類 father 有乙個依賴。public class hunman 仔細看這段 我們會發現存在一些問題 1...