知識(shí)蒸餾

知識(shí)蒸餾(Knowledge Distillation):

  • 知識(shí)蒸餾即將知識(shí)從「教師」模型遷移到「學(xué)生」模型,執(zhí)行方式為訓(xùn)練學(xué)生模型模仿教師模型的預(yù)測(cè)。

  • 把一個(gè)大模型或者多個(gè)模型ensemble學(xué)到的知識(shí)遷移到另一個(gè)輕量級(jí)單模型上,方便部署;
    即“用新的小模型去學(xué)習(xí)大模型的預(yù)測(cè)結(jié)果,改變一下目標(biāo)函數(shù)”。

1、為什么蒸餾可以 work

好模型的目標(biāo)不是擬合訓(xùn)練數(shù)據(jù),而是學(xué)習(xí)如何泛化到新的數(shù)據(jù)。
所以蒸餾的目標(biāo)是讓student學(xué)習(xí)到teacher的泛化能力,理論上得到的結(jié)果會(huì)比單純擬合訓(xùn)練數(shù)據(jù)的student要好。
另外,對(duì)于分類任務(wù),如果soft targets的熵比hard targets高,那顯然student會(huì)學(xué)習(xí)到更多的信息。

2、模型結(jié)構(gòu)

image.png
  • 多任務(wù)模型主要基于BERT,因此該多任務(wù)模型能通過(guò)知識(shí)蒸餾學(xué)習(xí)到各單任務(wù)模型的語(yǔ)言知識(shí)。
  • 模型會(huì)有一個(gè)教師退火的過(guò)程,即最開始由多個(gè)單任務(wù)模型教多任務(wù)模型學(xué)習(xí),而隨著訓(xùn)練的進(jìn)行,多任務(wù)模型將更多使用真實(shí)任務(wù)標(biāo)簽進(jìn)行訓(xùn)練(即圖中的λ從0慢慢變到1)
  • https://zhuanlan.zhihu.com/p/71986772
  • https://daiwk.github.io/posts/nlp-bam.html
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容