動(dòng)機(jī):任何機(jī)器學(xué)習(xí) / 人工智能模型的主要目標(biāo)都取決于它在看不見的數(shù)據(jù)上的概括能力,而不是在訓(xùn)練數(shù)據(jù)上的表現(xiàn)。 如果我們更仔細(xì)地研究這個(gè)目標(biāo)钦奋,我們更傾向于使用不同的模型來適應(yīng)訓(xùn)練和推理的目的蓄喇。 在訓(xùn)練過程中,我們需要深入而復(fù)雜的模型來訓(xùn)練大量的訓(xùn)練數(shù)據(jù)氧腰,但是在推理過程中枫浙,我們只需要一個(gè)更輕量級(jí)的模型來很好地概括任何看不見的數(shù)據(jù)。 較輕的模型在生產(chǎn)推理過程中具有較好的性能古拴。 因此箩帚,本文的上下文設(shè)置是為了看看是否有一種有效的方法可以將這些廣義的知識(shí)提煉到一個(gè)更輕松的模型中,從而得到兩全其美的結(jié)果黄痪。
??本文引用了神經(jīng)網(wǎng)絡(luò)和 MNIST 數(shù)字識(shí)別任務(wù)來說明知識(shí)提取的概念紧帕,但同樣的概念可以擴(kuò)展到任何 ml / ai 模型。
參考文獻(xiàn): https://arxiv.org/abs/1503.02531
代碼:https://tinyurl.com/yb4en6e3
Transfer learning (遷移學(xué)習(xí))和Knowledge distillation(知識(shí)蒸餾)區(qū)別:遷移學(xué)習(xí)和知識(shí)蒸餾的目標(biāo)不同。
在遷移學(xué)習(xí)中是嗜,權(quán)值從一個(gè)預(yù)先訓(xùn)練好的網(wǎng)絡(luò)轉(zhuǎn)移到一個(gè)新的網(wǎng)絡(luò)愈案,預(yù)先訓(xùn)練好的網(wǎng)絡(luò)應(yīng)該與新的網(wǎng)絡(luò)結(jié)構(gòu)完全匹配。 這意味著新的網(wǎng)絡(luò)本質(zhì)上和預(yù)先訓(xùn)練過的網(wǎng)絡(luò)一樣深?yuàn)W和復(fù)雜鹅搪。
然而站绪,知識(shí)蒸餾的目的是不同的。其目的不是轉(zhuǎn)移權(quán)重丽柿,而是將復(fù)雜模型的一般化轉(zhuǎn)移到更輕的模型恢准。
Teacher-Student model:見下圖1。在這個(gè)例子中甫题,Teacher是一個(gè)深層的神經(jīng)網(wǎng)絡(luò)馁筐,已經(jīng)用足夠好的正則化(或可以是任何其他集成模型)對(duì)大量數(shù)據(jù)進(jìn)行訓(xùn)練,因此其主要目標(biāo)是可以很好地概括看不見的數(shù)據(jù)幔睬。 Student網(wǎng)絡(luò)是一個(gè)淺淺的網(wǎng)絡(luò)眯漩,由Teacher進(jìn)行培訓(xùn),其主要目標(biāo)是: 學(xué)習(xí)大部分Teacher 的概括知識(shí)麻顶,并且更輕松赦抖。 考慮到嚴(yán)格的生產(chǎn)限制,顯然辅肾,較輕的模型在生產(chǎn)中是首選队萤,因?yàn)樗梢钥焖龠M(jìn)行預(yù)測(cè)。 在掌握了剩余術(shù)語之后矫钓,我們將回到該主題要尔。
softmax activation 中的temperature概念
使用 softmax 的主要優(yōu)點(diǎn)是輸出概率范圍。 輸出概率的范圍是從0到1新娜,所有概率之和等于1赵辕。 它返回每個(gè)類的概率,目標(biāo)類的概率很高概龄。
該公式計(jì)算給定輸入值的指數(shù)(e 次方)和輸入值中所有值的指數(shù)和还惠。 然后輸入值的指數(shù)與指數(shù)值之和的比值就是softmax函數(shù)的輸出。
當(dāng)我們將輸入“ z”(也稱為神經(jīng)網(wǎng)絡(luò)中的對(duì)數(shù))除以“ T”(temperature)時(shí)私杜,可獲得high temperature softmax激活函數(shù)蚕键。
為了說明temperature對(duì) softmax 激活的影響,見下圖3衰粹。 可以觀察到锣光,隨著溫度的升高,預(yù)測(cè)數(shù)字“7”的概率變得軟化和柔化铝耻。 我們所說的軟化概率是什么意思誊爹?
如果你沿著綠線(繪制在較高的temperature 7)并仔細(xì)觀察概率值,你可以看到模型清楚地顯示出這樣一個(gè)事實(shí),即它預(yù)測(cè)的數(shù)字“7”看起來更像9或1而不是6(預(yù)測(cè)的概率為6小于0.01替废,而預(yù)測(cè)的概率為1大約0.075)箍铭。
如果你沿著橙色 / 藍(lán)色線(在較低temperature繪制)觀察,并仔細(xì)觀察概率值椎镣,你可以看到模型預(yù)測(cè)的數(shù)字“7”具有很高的置信度,但不能區(qū)分預(yù)測(cè)的數(shù)字7是接近1還是6(它們都具有“非常接近零”的概率)兽赁。
Dark knowledge:我們可以很好地將我們自己的猜測(cè)與手寫的數(shù)字“7”(如下圖所示)聯(lián)系起來状答,然后說它是否看起來與1相似ー這很像這個(gè)模型,在high temperature下預(yù)測(cè)數(shù)字“7”時(shí)刀崖,輸出“1”的概率更高惊科。
唯一的區(qū)別是亮钦,我們?nèi)祟悷o法量化這個(gè)“7”看起來更接近于1馆截,而high temperature模型能夠做到這一點(diǎn),并且具有很高的精確度蜂莉。 因此蜡娶,一個(gè)high temperature模型被認(rèn)為具有dark knowledgeーー也就是說,除了僅僅預(yù)測(cè)數(shù)字7映穗,它還儲(chǔ)存了數(shù)字7與數(shù)字1有多么相似的信息窖张。
一個(gè)low temperature模型(我們通常遇到的模型,沒有temperature的softmax)通常是很好的硬預(yù)測(cè)蚁滋,我們失去了這個(gè)dark knowledge宿接。 知識(shí)蒸餾背后的主要思想是將這種dark knowledge從一個(gè)訓(xùn)練有素的Teacher轉(zhuǎn)移到一個(gè)更輕松的學(xué)生模式。
Teacher-Student training:現(xiàn)在我們已經(jīng)理解了上下文和所有其他重要的術(shù)語辕录,讓我們回到我們?cè)赥eacher-Student模型中的位置睦霎。將這些概括轉(zhuǎn)移給Student的工作原理非常簡單,如圖1所示走诞。在訓(xùn)練Student時(shí)副女,不是將一個(gè)one-hot encoded values 作為硬目標(biāo),而是將這些軟化的概率(通過應(yīng)用high temperature softmax收集的輸出)作為目標(biāo)速梗。我們還可以定制一個(gè)知識(shí)蒸餾損失函數(shù)(參見圖1插圖)肮塞,將知識(shí)蒸餾損失計(jì)算為軟目標(biāo)和硬目標(biāo)的連接向量的對(duì)應(yīng)分量之間的對(duì)數(shù)損失加權(quán)平均。
結(jié)果表明姻锁,以這種方式接受Teacher訓(xùn)練的Student(準(zhǔn)確性提高了1% 到2%)能夠很好地概括看不見的數(shù)據(jù)枕赵,而不是單獨(dú)接受相同數(shù)據(jù)訓(xùn)練的Student。 這里有幾個(gè)重要的注意事項(xiàng)ーー
- Student 和Teacher在同一個(gè)high temperature softmax下進(jìn)行訓(xùn)練
- 從Student模型的推論應(yīng)該是用通常的softmax激活(即沒有temperature)
知識(shí)蒸餾的優(yōu)點(diǎn):
- 使用更輕的模型
- 在嚴(yán)格的生產(chǎn)約束條件下位隶,計(jì)算需求少拷窜,性能優(yōu)越
3.比獨(dú)立模型更準(zhǔn)確
4.即使只有較少的訓(xùn)練數(shù)據(jù)可用于Student 模型,仍然是可用的,只需要有一個(gè)訓(xùn)練好的Teacher就足夠了