1. 介紹
在論文中翻斟,作者提出了先訓(xùn)練一個(gè)大的笨重的模型座掘,再使用distilling來將笨重的模型的知識(shí)遷移到小的模型中,用于實(shí)際部署霹购。
通常情況下佑惠,我們認(rèn)為一個(gè)模型的知識(shí)保存在它的參數(shù)中,這使得我們很難想象到如何來改變模型,而不丟失知識(shí)膜楷。然后旭咽,另一種較為抽象的對(duì)待知識(shí)的角度,是將知識(shí)看作是輸入到輸出的映射赌厅。
一種簡單地將大模型的泛化性能轉(zhuǎn)移到小模型的方式是穷绵,將大模型得到的類別概率作為小模型的soft targets來訓(xùn)練。
當(dāng)soft targets有很高的entropy時(shí)特愿,它們能夠提供足夠多的信息请垛,同時(shí)擁有較低的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中匈勋,通過在一個(gè)由笨重模型產(chǎn)生的transfer set上訓(xùn)練,并且使用soft target作為目標(biāo)膳叨,也就是在softmax中使用大的來產(chǎn)生概率洽洁。在訓(xùn)練distilled模型時(shí),使用相同的訓(xùn)練菲嘴,來進(jìn)行知識(shí)遷移饿自。
作者發(fā)現(xiàn)使用真實(shí)label和soft target的加權(quán)平均能夠得到很好的效果。也就是loss分兩部分龄坪,一部分是soft targets和預(yù)測(cè)值的cross entropy昭雌,但是使用和笨重模型產(chǎn)生soft target時(shí)相同的大的值來計(jì)算softmax。另一部分是真實(shí)label和預(yù)測(cè)值的cross entropy健田,這時(shí)為1烛卧。
soft targets產(chǎn)生的梯度多了一個(gè),因此應(yīng)該乘一個(gè)妓局。
2.1 Matching logits is a special case of distillation
假設(shè)distilled模型產(chǎn)生了logit 总放,笨重的模型產(chǎn)生的logits ,以及soft target 概率好爬,transfer learning使用的temperature為局雄,那么梯度為:
如果temperature相對(duì)于logits的大小來說比較高,可以使用如下近似: