日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度學(xué)習(xí):知識蒸餾的全過程

深度學(xué)習(xí)自然語言處理 ? 來源:深度學(xué)習(xí)自然語言處理 ? 作者:LinT ? 2021-01-07 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

知識蒸餾的核心思想是通過遷移知識,從而通過訓(xùn)練好的大模型得到更加適合推理的小模型。本文作者介紹了知識蒸餾的全過程,以及引用Hinton等人的實(shí)驗(yàn)結(jié)果解釋說明,并提出了知識蒸餾的一些延伸工作方向。

0. 寫在前面

有人說過:“神經(jīng)網(wǎng)絡(luò)用剩的logits不要扔,沾上雞蛋液,裹上面包糠...” 這兩天對知識蒸餾(Knowledge Distillation)萌生了一點(diǎn)興趣,正好寫一篇文章分享一下。這篇文章姑且算是一篇小科普。

1. 從模型壓縮開始

各種模型算法,最終目的都是要為某個(gè)應(yīng)用服務(wù)。在買賣中,我們需要控制收入和支出。類似地,在工業(yè)應(yīng)用中,除了要求模型要有好的預(yù)測(收入)以外,往往還希望它的「支出」要足夠小。具體來說,我們一般希望部署到應(yīng)用中的模型使用較少的計(jì)算資源(存儲(chǔ)空間、計(jì)算單元等),產(chǎn)生較低的時(shí)延。

深度學(xué)習(xí)的背景下,為了達(dá)到更好的預(yù)測,常常會(huì)有兩種方案:1. 使用過參數(shù)化的深度神經(jīng)網(wǎng)絡(luò),這類網(wǎng)絡(luò)學(xué)習(xí)能力非常強(qiáng),因此往往加上一定的正則化策略(如dropout);2. 集成模型(ensemble),將許多弱的模型集成起來,往往可以實(shí)現(xiàn)較好的預(yù)測。這兩種方案無疑都有較大的「支出」,需要的計(jì)算量和計(jì)算資源很大,對部署非常不利。這也就是模型壓縮的動(dòng)機(jī):我們希望有一個(gè)規(guī)模較小的模型,能達(dá)到和大模型一樣或相當(dāng)?shù)慕Y(jié)果。當(dāng)然,從頭訓(xùn)練一個(gè)小模型,從經(jīng)驗(yàn)上看是很難達(dá)到上述效果的,也許我們能先訓(xùn)練一個(gè)大而強(qiáng)的模型,然后將其包含的知識轉(zhuǎn)移給小的模型呢?如何做到呢?

* 下文統(tǒng)一將要訓(xùn)練的小模型稱為新模型,將以及訓(xùn)練的大模型稱為原模型。

Rich Caruana等人在[1]中指出,可以讓新模型近似(approximate)原模型(模型即函數(shù))。注意到,在機(jī)器學(xué)習(xí)中,我們常常假定輸入到輸出有一個(gè)潛在的函數(shù)關(guān)系,這個(gè)函數(shù)是未知的:從頭學(xué)習(xí)一個(gè)新模型就是從有限的數(shù)據(jù)中近似一個(gè)未知的函數(shù)。如果讓新模型近似原模型,因?yàn)樵P偷暮瘮?shù)是已知的,我們可以使用很多非訓(xùn)練集內(nèi)的偽數(shù)據(jù)來訓(xùn)練新模型,這顯然要更可行。

這樣,原來我們需要讓新模型的softmax分布與真實(shí)標(biāo)簽匹配,現(xiàn)在只需要讓新模型與原模型在給定輸入下的softmax分布匹配了。直觀來看,后者比前者具有這樣一個(gè)優(yōu)勢:經(jīng)過訓(xùn)練后的原模型,其softmax分布包含有一定的知識——真實(shí)標(biāo)簽只能告訴我們,某個(gè)圖像樣本是一輛寶馬,不是一輛垃圾車,也不是一顆蘿卜;而經(jīng)過訓(xùn)練的softmax可能會(huì)告訴我們,它最可能是一輛寶馬,不大可能是一輛垃圾車,但絕不可能是一顆蘿卜[2]。

2. 為什么叫「蒸餾」?

接續(xù)前面的討論,我們的目標(biāo)是讓新模型與原模型的softmax輸出的分布充分接近。直接這樣做是有問題的:在一般的softmax函數(shù)中,自然指數(shù) 先拉大logits之間的差距,然后作歸一化,最終得到的分布是一個(gè)arg max的近似 (參考我之前的文章:淺談Softmax函數(shù)),其輸出是一個(gè)接近one-hot的向量,其中一個(gè)值很大,其他的都很小。這種情況下,前面說到的「可能是垃圾車,但絕不是蘿卜」這種知識的體現(xiàn)是非常有限的。相較類似one-hot這樣的硬性輸出,我們更希望輸出更「軟」一些。

一種方法是直接比較logits來避免這個(gè)問題。具體地,對于每一條數(shù)據(jù),記原模型產(chǎn)生的某個(gè)logits是 ,新模型產(chǎn)生的logits是 ,我們需要最小化

文獻(xiàn)[2]提出了更通用的一種做法??紤]一個(gè)廣義的softmax函數(shù)

其中 是溫度,這是從統(tǒng)計(jì)力學(xué)中的玻爾茲曼分布中借用的概念。容易證明,當(dāng)溫度 趨向于0時(shí),softmax輸出將收斂為一個(gè)one-hot向量(證明可以參考我之前的文章:淺談Softmax函數(shù),將 替換為 即可);溫度 趨向于無窮時(shí),softmax的輸出則更「軟」。因此,在訓(xùn)練新模型的時(shí)候,可以使用較高的 使得softmax產(chǎn)生的分布足夠軟,這時(shí)讓新模型的softmax輸出近似原模型;在訓(xùn)練結(jié)束以后再使用正常的溫度 來預(yù)測。具體地,在訓(xùn)練時(shí)我們需要最小化兩個(gè)分布的交叉熵(Cross-entropy),記新模型利用公式 產(chǎn)生的分布是 ,原模型產(chǎn)生的分布是 ,則我們需要最小化

在化學(xué)中,蒸餾是一個(gè)有效的分離沸點(diǎn)不同的組分的方法,大致步驟是先升溫使低沸點(diǎn)的組分汽化,然后降溫冷凝,達(dá)到分離出目標(biāo)物質(zhì)的目的。在前面提到的這個(gè)過程中,我們先讓溫度升高,然后在測試階段恢復(fù)「低溫」,從而將原模型中的知識提取出來,因此將其稱為是蒸餾,實(shí)在是妙。

當(dāng)然,如果轉(zhuǎn)移時(shí)使用的是有標(biāo)簽的數(shù)據(jù),那么也可以將標(biāo)簽與新模型softmax分布的交叉熵加入到損失函數(shù)中去。這里需要將式 乘上一個(gè) ,這是為了讓損失函數(shù)的兩項(xiàng)的梯度大致在一個(gè)數(shù)量級上(參考公式 ),實(shí)驗(yàn)表明這將大大改善新模型的表現(xiàn)(考慮到加入了更多的監(jiān)督信號)。

3. 與直接優(yōu)化logits差異相比

由公式 ,對于交叉熵?fù)p失來說,其對于新模型的某個(gè)logit 的梯度是

由于 與 是等價(jià)無窮小(時(shí)**)**,易知,當(dāng) 充分大時(shí),有

假設(shè)所有l(wèi)ogits對每個(gè)樣本都是零均值化的,即 ,則有

所以,如果:1. 非常大,2. logits對所有樣本都是零均值化的,則知識蒸餾和最小化logits的平方差(公式 )是等價(jià)的(因?yàn)樘荻却笾率峭粋€(gè)形式)。實(shí)驗(yàn)表明,溫度 不能取太大,而應(yīng)該使用某個(gè)適中的值,這表明忽略極負(fù)的logits對新模型的表現(xiàn)很有幫助(較低的溫度產(chǎn)生的分布比較「硬」,傾向于忽略logits中極小的負(fù)值)。

4. 實(shí)驗(yàn)與結(jié)論

Hinton等人做了三組實(shí)驗(yàn),其中兩組都驗(yàn)證了知識蒸餾方法的有效性。在MNIST數(shù)據(jù)集上的實(shí)驗(yàn)表明,即便有部分類別的樣本缺失,新模型也可以表現(xiàn)得很不錯(cuò),只需要修改相應(yīng)的偏置項(xiàng),就可以與原模型表現(xiàn)相當(dāng)。在語音任務(wù)的實(shí)驗(yàn)也表明,蒸餾得到的模型比從頭訓(xùn)練的模型捕捉了更多數(shù)據(jù)集中的有效信息,表現(xiàn)僅比集成模型低了0.3個(gè)百分點(diǎn)??傮w來說知識蒸餾是一個(gè)簡單而有效的模型壓縮/訓(xùn)練方法。這大體上是因?yàn)樵P偷膕oftmax提供了比one-hot標(biāo)簽更多的監(jiān)督信號[3]。

知識蒸餾在后續(xù)也有很多延伸工作。在NLP方面比較有名的有Yoon Kim等人的Sequence-Level Knowledge Distillation 等??偟膩碚f,對一些比較臃腫、不便部署的模型,可以將其「知識」轉(zhuǎn)移到小的模型上。比如,在機(jī)器翻譯中,一般的模型需要有較大的容量(capacity)才可能獲得較好的結(jié)果;現(xiàn)在非常流行的BERT及其變種,規(guī)模都非常大;更不用提,一些情形下我們需要將這些本身就很大的深度模型集成為一個(gè)ensemble,這時(shí)候,可以用知識蒸餾壓縮出一個(gè)較小的、「便宜」的模型。

文章地址:https://arxiv.org/abs/1606.07947

另外,在多任務(wù)的情境下,使用一般的策略訓(xùn)練一個(gè)多任務(wù)模型,可能達(dá)不到比單任務(wù)更好的效果,文獻(xiàn)[3]探索了使用知識蒸餾,利用單任務(wù)的模型來指導(dǎo)訓(xùn)練多任務(wù)模型的方法,很值得參考。

補(bǔ)充

鑒于評論區(qū)有知友對公式 有疑問,簡單補(bǔ)充一下這里梯度的推導(dǎo)(其實(shí)就是交叉熵?fù)p失對softmax輸入的梯度,LOL)。

* 這部分有一點(diǎn)繁瑣,能接受公式 的讀者可以跳過。

由鏈?zhǔn)椒▌t,有

注意到 是原模型產(chǎn)生的softmax輸出,與 無關(guān)。

后一項(xiàng) 比較容易得到,因?yàn)?,所以

則 是一個(gè) 維向量

前一項(xiàng) 是一個(gè) 的方陣,分類討論可以得到。參考公式 ,記 ,由除法的求導(dǎo)法則,輸出元素 對輸入 的偏導(dǎo)是

注意上面右側(cè)加方框部分,可以進(jìn)一步展開

這樣,代入公式 ,并且將括號展開,可以得到

左側(cè)方框內(nèi)偏導(dǎo)可以分類討論得到

帶入式 ,得到

所以 形式如下

代入式 ,可得

所以有公式 , 。

參考

[1] Caruana et al., Model Compression, 2006

[2] Hinton et al., Distilling the Knowledge in a Neural Network, 2015

[3] Kevin Clark et al., BAM! Born-Again Multi-Task Networks for Natural Language Understanding

責(zé)任編輯:xj

原文標(biāo)題:知識蒸餾是什么?一份入門隨筆

文章出處:【微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4844

    瀏覽量

    108206
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3831

    瀏覽量

    52287
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5610

    瀏覽量

    124656

原文標(biāo)題:知識蒸餾是什么?一份入門隨筆

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    深度學(xué)習(xí)為什么還是無法處理邊緣場景?

    [首發(fā)于智駕最前沿微信公眾號]雖然自動(dòng)駕駛車輛已經(jīng)完成了數(shù)百萬公里的行駛測試,深度學(xué)習(xí)也已被普遍應(yīng)用,但依然會(huì)在一些看似簡單的場景中犯下低級錯(cuò)誤。比如在遇到一些從未見到過的邊緣場景時(shí),系統(tǒng)可能會(huì)
    的頭像 發(fā)表于 05-04 10:16 ?1038次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>為什么還是無法處理邊緣場景?

    AI算法核心知識清單(深度實(shí)戰(zhàn)版3)

    四、深度學(xué)習(xí)核心知識(進(jìn)階必備)1.模型訓(xùn)練關(guān)鍵技術(shù)(深度學(xué)習(xí)實(shí)戰(zhàn)核心)損失函數(shù)(模型優(yōu)化目標(biāo))分類任務(wù)損失函數(shù)(續(xù)):稀疏多分類交叉熵?fù)p失
    的頭像 發(fā)表于 04-29 17:18 ?645次閱讀
    AI算法核心<b class='flag-5'>知識</b>清單(<b class='flag-5'>深度</b>實(shí)戰(zhàn)版3)

    人工智能-Python深度學(xué)習(xí)進(jìn)階與應(yīng)用技術(shù):工程師高培解讀

    深度學(xué)習(xí)的工程化落地,早已不是紙上談兵的事。從卷積神經(jīng)網(wǎng)絡(luò)到Transformer,從目標(biāo)檢測到大模型私有化部署,技術(shù)棧不斷延伸,工程師面臨的知識體系也越來越龐雜?,F(xiàn)根據(jù)中際賽威工程師培訓(xùn)老師的一份
    的頭像 發(fā)表于 04-21 11:01 ?390次閱讀
    人工智能-Python<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>進(jìn)階與應(yīng)用技術(shù):工程師高培解讀

    鴻利智匯核心參編助力照明行業(yè)高質(zhì)量發(fā)展

    近日,人力資源社會(huì)保障部正式頒布《燈具設(shè)計(jì)師》國家職業(yè)標(biāo)準(zhǔn)(2026年版)。鴻利智匯集團(tuán)股份有限公司作為核心參編單位深度參與標(biāo)準(zhǔn)研制全過程,以行業(yè)龍頭擔(dān)當(dāng),助力照明行業(yè)人才培育與高質(zhì)量發(fā)展。
    的頭像 發(fā)表于 04-14 15:38 ?283次閱讀

    冷熱交替考驗(yàn):詳解整車高低溫試驗(yàn)全過程

    整車高低溫試驗(yàn)是汽車制造過程中至關(guān)重要的一環(huán),旨在通過模擬各種極端氣候條件來測試汽車在不同溫度環(huán)境下的性能和耐用性。這種試驗(yàn)通常在專門的整車高低溫試驗(yàn)室內(nèi)進(jìn)行,該試驗(yàn)室配備了精密的溫度控制系統(tǒng)
    的頭像 發(fā)表于 03-25 16:41 ?407次閱讀
    冷熱交替考驗(yàn):詳解整車高低溫試驗(yàn)<b class='flag-5'>全過程</b>

    昊衡科技OFDR技術(shù)-電池?zé)嵫莼?b class='flag-5'>全過程可視化

    鋰電池在充放電過程中,局部微短路、析鋰或內(nèi)阻異常都可能引發(fā)毫米級熱斑,而傳統(tǒng)熱電偶、紅外熱像儀等監(jiān)測手段存在致命短板:單點(diǎn)測溫?zé)o法覆蓋全域,紅外成像受表面發(fā)射率影響且無法穿透殼體,熱敏電阻響應(yīng)速度
    的頭像 發(fā)表于 03-20 17:33 ?259次閱讀
    昊衡科技OFDR技術(shù)-電池?zé)嵫莼?b class='flag-5'>全過程</b>可視化

    芯片燒錄原理是什么?一文讀懂芯片程序燒錄全過程

    芯片燒錄是向芯片存儲(chǔ)單元寫入二進(jìn)制代碼的精密操作,核心是借燒錄器以特定電壓和時(shí)序改變浮柵晶體管電荷狀態(tài)。全過程分五步:建立連接核對芯片 ID,擦除存儲(chǔ)器原有數(shù)據(jù),按協(xié)議將程序文件逐位寫入芯片,實(shí)時(shí)
    的頭像 發(fā)表于 12-25 14:20 ?882次閱讀

    穿孔機(jī)頂頭檢測儀 機(jī)器視覺深度學(xué)習(xí)

    LX01Z-DG626穿孔機(jī)頂頭檢測儀采用深度學(xué)習(xí)技術(shù),能夠?qū)崿F(xiàn)頂頭狀態(tài)的在線實(shí)時(shí)檢測,頂頭丟失報(bào)警,頂頭異常狀態(tài)報(bào)警等功能,響應(yīng)迅速,異常狀態(tài)視頻回溯,檢測頂頭溫度,配備吹掃清潔系統(tǒng),維護(hù)周期長
    發(fā)表于 12-22 14:33

    【團(tuán)購】獨(dú)家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實(shí)戰(zhàn)課(11大系列課程,共5000+分鐘)

    高清錄屏演示 進(jìn)度梯度設(shè)計(jì):前3章(視覺篇)聚焦傳統(tǒng)算法,第6章起逐步引入深度學(xué)習(xí),避免知識斷層 2)實(shí)戰(zhàn)項(xiàng)目拆解教學(xué) 以\"雙CCD光學(xué)分選案例\"為例,采用\"硬件連接
    發(fā)表于 12-04 09:28

    如何深度學(xué)習(xí)機(jī)器視覺的應(yīng)用場景

    深度學(xué)習(xí)視覺應(yīng)用場景大全 工業(yè)制造領(lǐng)域 復(fù)雜缺陷檢測:處理傳統(tǒng)算法難以描述的非標(biāo)準(zhǔn)化缺陷模式 非標(biāo)產(chǎn)品分類:對形狀、顏色、紋理多變的產(chǎn)品進(jìn)行智能分類 外觀質(zhì)量評估:基于學(xué)習(xí)的外觀質(zhì)量標(biāo)準(zhǔn)判定 精密
    的頭像 發(fā)表于 11-27 10:19 ?352次閱讀

    陶瓷基板如何檢測?飛針測試全過程

    陶瓷基板
    efans_64070792
    發(fā)布于 :2025年09月06日 18:15:57

    BIOS POST CODE資料簡介

    BIOS POST CODE主板上電過程,BIOS自檢全過程,內(nèi)部絕密資料
    發(fā)表于 08-25 16:06 ?0次下載

    當(dāng)深度學(xué)習(xí)遇上嵌入式資源困境,特征空間如何破局?

    多層神經(jīng)網(wǎng)絡(luò)的非線性變換擬合規(guī)律,理論上幾乎可以描述和模擬一切規(guī)律,但實(shí)際上該過程效率極低 —— 其計(jì)算復(fù)雜度往往呈指數(shù)級增長。這一特性使得深度學(xué)習(xí)與端側(cè)設(shè)備的資源約束存在根本性矛盾,導(dǎo)致其在端側(cè) AI 實(shí)施
    發(fā)表于 07-14 14:50 ?1331次閱讀
    當(dāng)<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>遇上嵌入式資源困境,特征空間如何破局?

    ModbusRTU轉(zhuǎn)EtherCAT網(wǎng)關(guān):蒸餾裝置通信提速方案

    蒸餾裝置等復(fù)雜控制系統(tǒng)中,如何有效地通過開疆智能Modbus RTU轉(zhuǎn)EtherCAT網(wǎng)關(guān)KJ-ECT-101將這兩種協(xié)議結(jié)合使用,以實(shí)現(xiàn)更高效、更可靠的系統(tǒng)性能,成為了工程師們關(guān)注的焦點(diǎn)。常壓蒸餾
    的頭像 發(fā)表于 06-26 18:29 ?467次閱讀

    Tektronix泰克 MDO3024示波器黑屏故障定位與修復(fù)全過程

    近日湖南有企業(yè)送修一臺(tái)泰克MDO3024示波器,故障表現(xiàn)為開機(jī)過程中黑屏。 對儀器進(jìn)行初步檢測,故障與客戶描述一致。
    的頭像 發(fā)表于 05-12 17:52 ?2541次閱讀
    Tektronix泰克 MDO3024示波器黑屏故障定位與修復(fù)<b class='flag-5'>全過程</b>
    鹤壁市| 开远市| 商丘市| 秦安县| 保德县| 军事| 内黄县| 潜江市| 渭南市| 汾阳市| 澎湖县| 夏津县| 磴口县| 苗栗市| 广汉市| 宿松县| 朝阳市| 昌乐县| 洛阳市| 勐海县| 田林县| 两当县| 溆浦县| 鄂托克旗| 利川市| 南部县| 塔河县| 探索| 龙游县| 英德市| 中超| 黄骅市| 长垣县| 宝坻区| 红安县| 当涂县| 和平县| 清水河县| 东光县| 四会市| 清流县|