張邵偉,王朝飛,楊 柯,羅顯光,吳 澄,李 鏘+
(1.天津大學(xué) 微電子學(xué)院,天津 300072;2.清華大學(xué) 自動(dòng)化系,北京 100084; 3.北京化工大學(xué) 化學(xué)學(xué)院,北京 100029; 4.中車株洲電力機(jī)車有限公司,湖南 株洲 412000)
近年來,深度神經(jīng)網(wǎng)絡(luò)在自然語言處理、計(jì)算機(jī)視覺等領(lǐng)域獲得了巨大的成功。其中計(jì)算機(jī)視覺技術(shù)更是在制造工業(yè)的質(zhì)量檢測(cè)、異常診斷和物品識(shí)別等多種領(lǐng)域取得了廣泛的研究和應(yīng)用[1],是構(gòu)建工業(yè)智能系統(tǒng)的關(guān)鍵。但是,神經(jīng)網(wǎng)絡(luò)的高性能往往依賴于大規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu),這對(duì)模型的存儲(chǔ)、訓(xùn)練和運(yùn)行成本要求很高,無法完成在一些嵌入式設(shè)備上的部署,在實(shí)際工業(yè)環(huán)境中,復(fù)雜的網(wǎng)絡(luò)也無法滿足對(duì)響應(yīng)速度的需求。在工業(yè)信息化和移動(dòng)互聯(lián)網(wǎng)高速發(fā)展的時(shí)代,輕量化的網(wǎng)絡(luò)結(jié)構(gòu)獲得越來越多的青睞,如何在壓縮神經(jīng)網(wǎng)絡(luò)參數(shù)的同時(shí)盡可能保持模型性能不大幅下降成為研究人員關(guān)注的焦點(diǎn),以網(wǎng)絡(luò)剪枝[2]、參數(shù)共享[3]、低秩分解[4]、緊致卷積[5]、知識(shí)蒸餾(Knowledge Distillation, KD)[6-7]等為代表的神經(jīng)網(wǎng)絡(luò)壓縮方法的研究正值高潮。
知識(shí)蒸餾由HINTON等[6]首先提出,其核心思想是利用已經(jīng)訓(xùn)練好的性能高的大模型(一般稱之為教師模型)去引導(dǎo)另外一個(gè)性能有限的輕量級(jí)模型(一般稱之為學(xué)生模型)的訓(xùn)練,旨在將教師模型的知識(shí)轉(zhuǎn)移給學(xué)生模型,以提高學(xué)生模型的性能。從那時(shí)起,大量的學(xué)者便開始探索各種形式的知識(shí)蒸餾方法。幾項(xiàng)關(guān)于知識(shí)蒸餾方法的調(diào)研結(jié)果[8-9]表明,現(xiàn)有方法主要集中于遷移知識(shí)的表示方法和訓(xùn)練模式。知識(shí)表示方法,如文獻(xiàn)[10]用Fitnets方法,提出用中間層特征來表示知識(shí);文獻(xiàn)[11]和文獻(xiàn)[12]分別用注意力轉(zhuǎn)移(Attention Transfer, AT)和類不可知激活圖與類激活圖匹配(Class-agnostic activation map—Class activation map Matching, CCM)方法,提出用注意力地圖來描述知識(shí);文獻(xiàn)[13]用求解流程(Flow of Solution Procedure, FSP)方法,提出用層與層之間計(jì)算得到的格雷姆矩陣來表示知識(shí);文獻(xiàn)[14]用相關(guān)一致知識(shí)蒸餾(Correlation Congruence Knowledge Distillation, CCKD)方法,提出用實(shí)例之間的相關(guān)關(guān)系來代表知識(shí);文獻(xiàn)[15]用經(jīng)驗(yàn)集成知識(shí)蒸餾(Experience Ensemble Knowledge Distillation, EEKD)方法,提出將教師模型訓(xùn)練過程的知識(shí)進(jìn)行集成融合來豐富知識(shí)表示。訓(xùn)練模式,如文獻(xiàn)[16]提出的二階段多教師蒸餾方法,文獻(xiàn)[17]提出的Online知識(shí)蒸餾方法,文獻(xiàn)[18-20]提出的自蒸餾方法,文獻(xiàn)[21-22]提出的對(duì)抗蒸餾方法等。
但是,現(xiàn)存的知識(shí)蒸餾方法都默認(rèn)采用了傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練策略,即將訓(xùn)練數(shù)據(jù)集打亂后隨機(jī)選擇形成小批次(mini-batch)的形式逐步輸入模型,沒有充分考慮樣本輸入順序?qū)W(xué)生網(wǎng)絡(luò)學(xué)習(xí)的影響。在現(xiàn)實(shí)場(chǎng)景中,學(xué)生的學(xué)習(xí)往往是由易到難、循序漸進(jìn)才能獲得良好的學(xué)習(xí)效果。早在2009年,BENGIO等[23]就提出了類似的理念,即讓模型去模擬現(xiàn)實(shí)場(chǎng)景中人類學(xué)習(xí)的過程,先學(xué)習(xí)一些相對(duì)簡(jiǎn)單的知識(shí)后再逐步提升難度,進(jìn)而學(xué)習(xí)更難的知識(shí),這種學(xué)習(xí)范式被稱為課程學(xué)習(xí)(curriculum learning)。后來,很多研究者驗(yàn)證了課程學(xué)習(xí)在深度學(xué)習(xí)模型訓(xùn)練中應(yīng)用的有效性。PLATANIOS等[24]驗(yàn)證了課程學(xué)習(xí)可以幫助機(jī)器翻譯模型減少30%的訓(xùn)練時(shí)間,并提升2.2%的性能。JIANG等[25]驗(yàn)證了課程學(xué)習(xí)可以幫助事件檢測(cè)任務(wù)提升45.8%的平均準(zhǔn)確率(Mean Average Precision, MAP)性能并顯著提升收斂速度。相比之下,知識(shí)蒸餾模擬了典型的教學(xué)場(chǎng)景,教師在教導(dǎo)學(xué)生時(shí),需要設(shè)計(jì)課程,制定教學(xué)計(jì)劃,如讓學(xué)生先學(xué)什么后學(xué)什么,以幫助學(xué)生更好地習(xí)得知識(shí),才能高效地將自己的知識(shí)傳遞給學(xué)生。WU等[26]提出的教學(xué)優(yōu)化算法分為“教師階段”和“學(xué)生階段”兩部分,先通過讓學(xué)生整體水平平均值向教師水平靠攏的方式跟隨教師進(jìn)行學(xué)習(xí),然后再讓學(xué)生之間交流學(xué)習(xí)。
基于上述靈感,本文認(rèn)為將課程學(xué)習(xí)范式引入知識(shí)蒸餾場(chǎng)景是一個(gè)可行的路徑。在這種學(xué)習(xí)范式中,所有樣本按照某種課程設(shè)定,逐步且同步地輸入教師模型和學(xué)生模型,知識(shí)的表示和遷移過程維持傳統(tǒng)知識(shí)蒸餾方法的過程不變。課程設(shè)定的關(guān)鍵是對(duì)樣本進(jìn)行難度判斷和分批輸入。和一般的課程學(xué)習(xí)方法不同,本文提出教師模型和學(xué)生模型協(xié)作進(jìn)行難度判斷。主要思想是:在訓(xùn)練初期,學(xué)生網(wǎng)絡(luò)判斷能力很差,需要教師網(wǎng)絡(luò)的介入,隨著訓(xùn)練的進(jìn)行,學(xué)生網(wǎng)絡(luò)能力不斷增強(qiáng),更能判斷自身需要怎樣的知識(shí)來學(xué)習(xí);在訓(xùn)練后期,難度判斷中學(xué)生網(wǎng)絡(luò)的角色不斷加重,教師網(wǎng)絡(luò)的角色不斷降低。分批輸入的過程本文采用樣本由易到難且數(shù)據(jù)集由小到大的模式進(jìn)行,以保證知識(shí)遷移的循序漸進(jìn)和不斷累積。本文在Mnist和CIFAR100數(shù)據(jù)集上進(jìn)行了廣泛的實(shí)驗(yàn),驗(yàn)證了老師和學(xué)生協(xié)作課程學(xué)習(xí)的知識(shí)蒸餾方法能有效提升訓(xùn)練模型的準(zhǔn)確率。同時(shí),課程學(xué)習(xí)范式還可以應(yīng)用于其他主流的知識(shí)蒸餾方法,進(jìn)一步提升這些方法的性能,這充分說明本文所提出的教師與學(xué)生協(xié)作的課程學(xué)習(xí)范式在知識(shí)蒸餾方法中有廣泛的應(yīng)用前景。
普通的知識(shí)蒸餾(KD)旨在通過最小化兩個(gè)模型的軟目標(biāo)之間的KL(Kullback-Leibler)距離,將強(qiáng)性能教師模型的一些知識(shí)轉(zhuǎn)移到低性能小規(guī)模的學(xué)生模型。將深度神經(jīng)網(wǎng)絡(luò)定義為M:y=f{x;θ},其中:x表示輸入圖像,y表示網(wǎng)絡(luò)輸出,θ表示網(wǎng)絡(luò)參數(shù)。這些參數(shù)通常初始化為隨機(jī)噪聲,然后在訓(xùn)練集D={(x1,y1),…,(xN,yN)}上進(jìn)行優(yōu)化。傳統(tǒng)的優(yōu)化算法通過從訓(xùn)練集中隨機(jī)采樣小批次數(shù)據(jù)進(jìn)行迭代更新。將這些小批次表示為B,輸入到模型中以估計(jì)預(yù)測(cè)值和真實(shí)值之間的差異,構(gòu)造交叉熵?fù)p失函數(shù)如下:
(1)
經(jīng)典的知識(shí)蒸餾認(rèn)為,學(xué)生網(wǎng)絡(luò)可以通過模仿預(yù)訓(xùn)練的教師網(wǎng)絡(luò)的輸出來獲得一些有價(jià)值的教師網(wǎng)絡(luò)知識(shí),增加了額外的損失項(xiàng)來約束教師和學(xué)生網(wǎng)絡(luò)輸出之間的KL距離。學(xué)生網(wǎng)絡(luò)的總損失函數(shù)如下:
(1-λ)KL[fτ(xi;θτ)‖fτ(xi;θs)]}。
(2)
式中:θτ和θs分別表示教師和學(xué)生網(wǎng)絡(luò)模型中的參數(shù),τ為溫度因子,λ為比率參數(shù)。學(xué)生網(wǎng)絡(luò)的目標(biāo)是學(xué)習(xí)教師網(wǎng)絡(luò)的輸出,該輸出是一個(gè)軟化的預(yù)測(cè)標(biāo)簽。圖1展示了知識(shí)蒸餾方法的基本框架。
盡管師生優(yōu)化有效地提高了學(xué)生網(wǎng)絡(luò)的表現(xiàn),但它沒有充分考慮到知識(shí)的難易程度對(duì)訓(xùn)練過程產(chǎn)生的影響,無法充分挖掘知識(shí)遷移的效能。因此,本文提出結(jié)合課程學(xué)習(xí)進(jìn)行知識(shí)蒸餾的方法,該方法探討了一種對(duì)難度進(jìn)行測(cè)量及排序的訓(xùn)練策略。受課程學(xué)習(xí)的啟發(fā),JIN等[27]提出從教師模型經(jīng)過的參數(shù)空間路徑中選擇一些錨定點(diǎn),并用這些錨定點(diǎn)來監(jiān)督學(xué)生。ZHAO等[28]提出通過實(shí)例級(jí)序列學(xué)習(xí)來傳遞知識(shí),并將早期階段作為快照,為學(xué)生網(wǎng)絡(luò)的下一個(gè)訓(xùn)練階段設(shè)計(jì)課程,這也是與本文最相關(guān)的工作。與文獻(xiàn)[28]不同的是,本文將學(xué)生網(wǎng)絡(luò)快照替換為師生協(xié)作模型來衡量樣本的難度,反映出教師經(jīng)驗(yàn)和學(xué)生需求的結(jié)合。此外,還采用不同的訓(xùn)練調(diào)度器來提高訓(xùn)練的穩(wěn)定性,降低排序成本。
人類和動(dòng)物的學(xué)習(xí)過程一般都遵循由易到難的順序,而課程學(xué)習(xí)(curriculum learning)正是借鑒了這種學(xué)習(xí)思想。相較于樣本不加區(qū)分地以隨機(jī)批次輸入模型的機(jī)器學(xué)習(xí)一般范式,課程學(xué)習(xí)主張讓模型先從容易的樣本開始學(xué)習(xí),并逐漸進(jìn)階到復(fù)雜的樣本;也主張讓模型先從少量的簡(jiǎn)單樣本開始學(xué)習(xí),逐漸學(xué)習(xí)更多復(fù)雜的樣本。
課程學(xué)習(xí)的一般范式如圖2所示,其核心是難度測(cè)量器和訓(xùn)練調(diào)度器的設(shè)計(jì)。難度測(cè)量器一般定義為一個(gè)評(píng)分函數(shù)(scoring function)g:D→D′,其中:D為原始訓(xùn)練集,D′為排序后的訓(xùn)練集,定義若g(xi,yi),g(xj,yj),則示例(xi,yi)比示例(xj,yj)更難,如何選擇g是課程學(xué)習(xí)的主要挑戰(zhàn)。在課程學(xué)習(xí)研究領(lǐng)域,有的研究者采用人工設(shè)計(jì)的評(píng)分函數(shù),如圖像噪聲大小[29]、圖像中包含的目標(biāo)個(gè)數(shù)[30]、圖像的信息熵[31]等,也有研究者采用網(wǎng)絡(luò)模型來代替評(píng)分函數(shù),如采用一般范式下訓(xùn)練的目標(biāo)模型、引入輔助模型等。訓(xùn)練調(diào)度器一般可定義為一個(gè)分割函數(shù)h:D′→{S1,S2,…,Sm},其中S1,S2,…,Sm∈D′,是指如何將排序后的訓(xùn)練集D′分割成不同難度或不同大小的多個(gè)訓(xùn)練子集{S1,S1∪S2,…,S1∪S2∪…∪Sm}。對(duì)每個(gè)訓(xùn)練子集S1∪S2∪…∪Si,采用隨機(jī)采樣小批次的方式,對(duì)目標(biāo)模型進(jìn)行一個(gè)階段的訓(xùn)練,經(jīng)過m次訓(xùn)練后得到最終的模型。算法1給出了課程學(xué)習(xí)的一般流程。
算法1課程學(xué)習(xí)的一般流程。
輸入:待訓(xùn)練模型M,原始數(shù)據(jù)集D,難度測(cè)量器g,訓(xùn)練調(diào)度器h;
輸出:優(yōu)化好的模型M*。
1: D′=排序(D,g)
2:{S1,S2,…,Sm}=h(D′),其中g(shù)(sa) 4: for i=1,2,…m do 6: while模型M不收斂do 8: end while 9: end for 將課程學(xué)習(xí)引入知識(shí)蒸餾場(chǎng)景中,最直接的方法是利用教師模型作為難度測(cè)量器,類似于課程學(xué)習(xí)中引入輔助模型的做法。唯一不同的是課程學(xué)習(xí)場(chǎng)景中排序后的訓(xùn)練集只輸入學(xué)生模型,而知識(shí)蒸餾場(chǎng)景中排序后的訓(xùn)練集同時(shí)輸入教師和學(xué)生兩個(gè)模型。如圖3所示,將圖2中的難度測(cè)量器替換為教師模型,將最后的單個(gè)模型訓(xùn)練替換為教師模型和學(xué)生模型知識(shí)蒸餾。 但是,依賴教師模型來判斷樣本的難度沒有充分考慮學(xué)生模型本身的需求,不一定符合學(xué)生模型的認(rèn)知過程。例如,在教育場(chǎng)景中教師認(rèn)為簡(jiǎn)單的題在一些學(xué)生看來不一定簡(jiǎn)單,教師認(rèn)為難的題在另一些學(xué)生看來也不一定難,因此必須因材施教,征求學(xué)生的意見才能給出最佳的教育方案?;谶@樣的認(rèn)識(shí),本文進(jìn)一步提出教師模型和學(xué)生模型協(xié)作進(jìn)行樣本難度判斷,并隨著學(xué)生模型認(rèn)知程度的提升,動(dòng)態(tài)調(diào)整兩個(gè)模型的協(xié)作權(quán)重。圖4展示了基于教師和學(xué)生協(xié)作式的課程知識(shí)蒸餾框架,主要包括師生協(xié)作的難度測(cè)量器模塊、訓(xùn)練調(diào)度器模塊、知識(shí)蒸餾模塊,以及迭代的更新方式。 如圖4所示,本文提出的難度測(cè)量器由學(xué)生網(wǎng)絡(luò)f(θs)和教師網(wǎng)絡(luò)f(θt)加權(quán)組成,當(dāng)輸入一個(gè)樣本xi時(shí),分別將樣本輸入學(xué)生網(wǎng)絡(luò)f(θs)和教師網(wǎng)絡(luò)f(θt),計(jì)算兩個(gè)交叉熵?fù)p失的加權(quán)和: (3) 整個(gè)課程知識(shí)蒸餾過程分為m個(gè)階段,在早期階段(如k=1),教師模型的性能高但是學(xué)生模型的性能很差,學(xué)生模型無法準(zhǔn)確地判斷樣本難度,此時(shí)α選擇較大的值(如α=1);在晚期階段(如k=m),教師模型的性能不變但是學(xué)生模型的性能獲得了大幅提升,此刻學(xué)生模型可以在難度判斷中發(fā)揮更大的作用,此時(shí)α選擇較小的值(如α=0.25)。本文采用動(dòng)態(tài)的α值,α由1到0動(dòng)態(tài)減少,每階段減小1/m,可用式(4)表示: (4) 經(jīng)過難度測(cè)量器,可以將輸入的所有樣本進(jìn)行難度排序。但是,由于難度測(cè)量器是動(dòng)態(tài)變化的,若每次均輸入原始訓(xùn)練集D,除了花費(fèi)更多的計(jì)算成本外,還會(huì)造成每次樣本難度排序不同帶來沖突的問題。針對(duì)該問題,本文引入了訓(xùn)練調(diào)度器。 不同于一般的課程學(xué)習(xí)一個(gè)固定的訓(xùn)練調(diào)度器h一次對(duì)所有樣本進(jìn)行排序,進(jìn)而分割出不同難度訓(xùn)練子集的做法,如算法1中{S1,S2,…,Sm}=h(D′),本文采用一次難度測(cè)量產(chǎn)生一次排序結(jié)果,一次排序結(jié)果僅提取一個(gè)難度最低子集的做法。具體描述如下: (3)反復(fù)進(jìn)行上述過程,直到m個(gè)階段完成或者輸入數(shù)據(jù)集變?yōu)榭占?/p> 詳細(xì)闡述了兩個(gè)關(guān)鍵模塊的設(shè)計(jì)細(xì)節(jié)后,下面展示整個(gè)優(yōu)化算法流程: 算法2課程知識(shí)蒸餾算法。 輸入:教師網(wǎng)絡(luò)f(θt)、學(xué)生網(wǎng)絡(luò)f(θs)、原始訓(xùn)練數(shù)據(jù)集D可記為D1、訓(xùn)練階段數(shù)m; 輸出:訓(xùn)練好的學(xué)生網(wǎng)絡(luò)模型f*(θs)。 2: for k=1,2,…,m do 4: g=αf(θt)+(1-a)f(θs) 7: Dk+1=Dk-Sk 9: while學(xué)生網(wǎng)絡(luò)模型不收斂do 11: end while 12 end for 在實(shí)驗(yàn)中,將提出的課程知識(shí)蒸餾方法應(yīng)用在圖像分類模型上,基準(zhǔn)數(shù)據(jù)集采用CIFAR-100,CIFAR-100數(shù)據(jù)集由100個(gè)類的60 000個(gè)32×32彩色圖像組成,每個(gè)類有600個(gè)圖像,分為50 000個(gè)訓(xùn)練圖像和10 000個(gè)測(cè)試圖像。 實(shí)驗(yàn)的主要參數(shù)設(shè)置如下:本文教師網(wǎng)絡(luò)采用Resnet18、Resnet50和Densenet121,學(xué)生網(wǎng)絡(luò)采用MobileNetV2和ShuffleNetV2,batchsize選擇512,迭代次數(shù)為200輪,warm up 10輪,優(yōu)化器采用SGD,初始學(xué)習(xí)率為0.1,momentum為0.9,標(biāo)簽軟化溫度τ為3,損失項(xiàng)系數(shù)λ為0.4。階段數(shù)m為5,即每次難度判斷后采樣前1/5數(shù)據(jù),數(shù)據(jù)集由全體數(shù)據(jù)的1/5逐步變成完整數(shù)據(jù)。編碼工具為Pytorch,模型訓(xùn)練采用Quadro RTX 6000顯卡。 本節(jié)首先在最經(jīng)典的知識(shí)蒸餾(KD)算法上進(jìn)行驗(yàn)證,采用多種網(wǎng)絡(luò)結(jié)構(gòu),并采用top 1準(zhǔn)確率進(jìn)行評(píng)價(jià),結(jié)果如表1所示。表中:Teacher表示教師網(wǎng)絡(luò),Student表示學(xué)生網(wǎng)絡(luò),Baseline表示單獨(dú)對(duì)該學(xué)生網(wǎng)絡(luò)進(jìn)行訓(xùn)練的結(jié)果,KD表示采用傳統(tǒng)的單個(gè)Teacher軟標(biāo)簽輸出監(jiān)督訓(xùn)練單個(gè)Student的結(jié)果,Ours表示本文提出的課程知識(shí)蒸餾方法得到的結(jié)果。 由表1可以看出,從模型準(zhǔn)確率角度看,本文提出的方法相比于單獨(dú)訓(xùn)練學(xué)生網(wǎng)絡(luò)能夠平均提升準(zhǔn)確率2.77%,相比傳統(tǒng)的知識(shí)蒸餾(KD)方法能夠平均提升準(zhǔn)確率1.12%,充分說明本文方法的有效性和泛化性。 表1 不同網(wǎng)絡(luò)結(jié)構(gòu)下課程知識(shí)蒸餾方法的結(jié)果 從圖4的方法框架和算法2的算法流程中可以看出,本文提出的課程知識(shí)蒸餾方式主要作用于訓(xùn)練數(shù)據(jù)集上,具體的知識(shí)蒸餾過程可以采用任意知識(shí)蒸餾方法。 本節(jié)將課程知識(shí)蒸餾范式與Fitnets、AT和變分信息蒸餾(Variational Information Distillation, VID)[32]3種方法進(jìn)行結(jié)合驗(yàn)證,即數(shù)據(jù)集的難度判斷和調(diào)度采用本文的方法,最后的知識(shí)蒸餾模塊采用上述3種方法(代碼表現(xiàn)為損失函數(shù)的替換),在CIFAR-100上的驗(yàn)證結(jié)果如表2所示。 從表2結(jié)果可以看出,課程知識(shí)蒸餾范式能夠有效提升現(xiàn)有3種方法的性能。具體而言,能夠平均提升Fitnets 1.23%,提升AT 1.42%,提升VID 0.82%。由此可見,所提出的知識(shí)蒸餾方法有廣泛的應(yīng)用前景。 表2 與三種典型知識(shí)蒸餾方法相結(jié)合的結(jié)果 為了進(jìn)一步分析課程知識(shí)蒸餾方法中各模塊的作用,本節(jié)主要比較了單獨(dú)利用固定的教師模型、用不同訓(xùn)練階段的學(xué)生模型做難度測(cè)量器與用師生協(xié)作式難度測(cè)量器對(duì)知識(shí)蒸餾結(jié)果的影響。如表3所示為以Resnet18-MobileNetV2模型結(jié)構(gòu)為例,在該師生模型中對(duì)難度測(cè)量器采取不同參數(shù)設(shè)置的對(duì)比結(jié)果,其中Baseline代表單獨(dú)對(duì)MobileNetV2進(jìn)行訓(xùn)練的結(jié)果。 由表3結(jié)果可以看出,難度測(cè)量器中參數(shù)的動(dòng)態(tài)變化能夠明顯提升網(wǎng)絡(luò)模型訓(xùn)練的性能。在Resnet18-MobileNetV2模型結(jié)構(gòu)中,師生協(xié)作式判斷難易程度比單獨(dú)采用教師模型判斷提升了0.79%,比單獨(dú)由學(xué)生模型判斷提升了3.23%。由此可見,選擇師生協(xié)作的方式是行之有效的。 表3 不同難度測(cè)量器的對(duì)比結(jié)果 % 本文將課程學(xué)習(xí)引入知識(shí)蒸餾場(chǎng)景中,提出一種課程知識(shí)蒸餾方法,特別設(shè)計(jì)了一種師生協(xié)作式的難度測(cè)量器,由教師模型和學(xué)生模型共同判別樣本難易程度,根據(jù)訓(xùn)練階段動(dòng)態(tài)調(diào)整協(xié)作權(quán)重。在此基礎(chǔ)上,設(shè)計(jì)了適合的訓(xùn)練調(diào)度器,分階段動(dòng)態(tài)調(diào)度訓(xùn)練樣本,并歸納了課程知識(shí)蒸餾算法。通過在廣泛的網(wǎng)絡(luò)模型結(jié)構(gòu)上進(jìn)行實(shí)驗(yàn),驗(yàn)證了所提算法的有效性,同時(shí)還證實(shí)了課程學(xué)習(xí)范式同主流知識(shí)蒸餾方法相結(jié)合能夠進(jìn)一步提升這些方法性能的結(jié)論,消融實(shí)驗(yàn)也表明了師生協(xié)作式的難度測(cè)量器設(shè)計(jì)的優(yōu)越性。 目前,神經(jīng)網(wǎng)絡(luò)與工業(yè)系統(tǒng)的結(jié)合推動(dòng)著工業(yè)信息化的快速發(fā)展,如何實(shí)現(xiàn)更高的模型訓(xùn)練效率和更少的網(wǎng)絡(luò)運(yùn)算成本是構(gòu)建工業(yè)智能系統(tǒng)的關(guān)鍵問題。對(duì)于神經(jīng)網(wǎng)絡(luò)壓縮和知識(shí)蒸餾方法的研究和應(yīng)用還有待深入探索,這也是下一步研究的重點(diǎn)。對(duì)于課程知識(shí)蒸餾的方法,未來筆者將進(jìn)一步分析該方法的訓(xùn)練效率,在更大規(guī)模的圖像任務(wù)上驗(yàn)證課程知識(shí)蒸餾算法的有效性;拓寬課程知識(shí)蒸餾方法的應(yīng)用場(chǎng)景,如目標(biāo)檢測(cè)和圖像分割任務(wù)等;研究更加靈活高效的難度測(cè)量器,如自適應(yīng)地學(xué)習(xí)教師模型和學(xué)生模型之間的權(quán)重分配等。2 課程知識(shí)蒸餾方法
2.1 方法框架論述
2.2 教師學(xué)生協(xié)作式的難度測(cè)量器
2.3 訓(xùn)練調(diào)度器
2.4 優(yōu)化算法
3 實(shí)驗(yàn)
3.1 數(shù)據(jù)集及實(shí)驗(yàn)設(shè)置
3.2 課程知識(shí)蒸餾方法的有效性驗(yàn)證
3.3 與主流知識(shí)蒸餾方法結(jié)合的有效性驗(yàn)證
3.4 消融實(shí)驗(yàn)
4 結(jié)束語