1. 介紹
在論文中,作者提出了先訓(xùn)練一個大的笨重的模型,再使用distilling來將笨重的模型的知識遷移到小的模型中,用于實(shí)際部署。
通常情況下,我們認(rèn)為一個模型的知識保存在它的參數(shù)中,這使得我們很難想象到如何來改變模型,而不丟失知識。然后,另一種較為抽象的對待知識的角度,是將知識看作是輸入到輸出的映射。
一種簡單地將大模型的泛化性能轉(zhuǎn)移到小模型的方式是,將大模型得到的類別概率作為小模型的soft targets來訓(xùn)練。
當(dāng)soft targets有很高的entropy時,它們能夠提供足夠多的信息,同時擁有較低的variance,所以小模型只需要很小的數(shù)據(jù)就能訓(xùn)練,也可以使用很大的學(xué)習(xí)率。
2. Distillation
通常情況下,我們使用softmax來將logit轉(zhuǎn)變?yōu)楦怕?img class="math-inline" src="https://math.jianshu.com/math?formula=q_i" alt="q_i" mathimg="1">,如下:

在最簡單的distillation中,通過在一個由笨重模型產(chǎn)生的transfer set上訓(xùn)練,并且使用soft target作為目標(biāo),也就是在softmax中使用大的來產(chǎn)生概率。在訓(xùn)練distilled模型時,使用相同的
訓(xùn)練,來進(jìn)行知識遷移。
作者發(fā)現(xiàn)使用真實(shí)label和soft target的加權(quán)平均能夠得到很好的效果。也就是loss分兩部分,一部分是soft targets和預(yù)測值的cross entropy,但是使用和笨重模型產(chǎn)生soft target時相同的大的值來計(jì)算softmax。另一部分是真實(shí)label和預(yù)測值的cross entropy,這時
為1。
soft targets產(chǎn)生的梯度多了一個,因此應(yīng)該乘一個
。
2.1 Matching logits is a special case of distillation
假設(shè)distilled模型產(chǎn)生了logit ,笨重的模型產(chǎn)生的logits
,以及soft target 概率
,transfer learning使用的temperature為
,那么梯度為:

如果temperature相對于logits的大小來說比較高,可以使用如下近似:
