知識蒸餾:如何用一個神經(jīng)網(wǎng)絡(luò)訓(xùn)練另一個神經(jīng)網(wǎng)絡(luò)
點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)

權(quán)值裁剪 量化 知識蒸餾
???什么是知識蒸餾?
訓(xùn)練一個能夠性能很好泛化也很好的大模型。這被稱為教師模型。 利用你所擁有的所有數(shù)據(jù),計算出教師模型的預(yù)測。帶有這些預(yù)測的全部數(shù)據(jù)集被稱為知識,預(yù)測本身通常被稱為soft targets。這是知識蒸餾步驟。 利用先前獲得的知識來訓(xùn)練較小的網(wǎng)絡(luò),稱為學(xué)生模型。






???為什么不重頭訓(xùn)練一個小網(wǎng)絡(luò)?

首先,教師模型的知識可以教學(xué)生模型如何通過訓(xùn)練數(shù)據(jù)集之外的可用預(yù)測進(jìn)行泛化?;叵胍幌?,我們使用教師模型對所有可用數(shù)據(jù)的預(yù)測來訓(xùn)練學(xué)生模型,而不是原始的訓(xùn)練數(shù)據(jù)集。 其次,soft targets提供了比類標(biāo)簽更有用的信息:它表明兩個類是否彼此相似。例如,如果任務(wù)是分類狗的品種,像“柴犬和秋田犬非常相似”這樣的信息對于模型泛化是非常有價值的。

???與遷移學(xué)習(xí)的區(qū)別
“……我們傾向于用學(xué)習(xí)的參數(shù)值在訓(xùn)練過的模型中識別知識,這使得我們很難看到如何改變模型的形式而保持相同的知識。知識的一個更抽象的觀點是,它是一個從輸入向量到輸出向量的學(xué)習(xí)好的映射,它將知識從任何特定的實例化中解放出來。—— Distilling the Knowledge in a Neural Network
???使用決策樹

???Distilling BERT

???總結(jié)
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~
評論
圖片
表情
