国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

結(jié)合注意力轉(zhuǎn)移與特征融合算法的在線知識蒸餾

2023-02-02 09:25梁興柱
關(guān)鍵詞:錯(cuò)誤率分支注意力

梁興柱,徐 慧,胡 干

(1.安徽理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001;2.安徽理工大學(xué)環(huán)境友好材料與職業(yè)健康研究院(蕪湖),安徽 蕪湖 241003)

近年來,深度神經(jīng)網(wǎng)絡(luò)憑借強(qiáng)大的特征學(xué)習(xí)能力在計(jì)算機(jī)視覺處理中取得了令人欣喜的成績[1-2]。但是,功能強(qiáng)大的模型往往會(huì)伴隨大量的參數(shù),占據(jù)較大的內(nèi)存,不利于模型的部署與應(yīng)用[2],因而提出了深度學(xué)習(xí)模型壓縮技術(shù),包括剪枝、二值化、輕量化模型設(shè)計(jì)[3-4]、知識蒸餾(Knowledge Distillation , KD)[5]等。其中,知識蒸餾又可以劃分為離線知識蒸餾(Offline KD)和在線知識蒸餾(Online KD)。傳統(tǒng)Offline KD[5]是一個(gè)兩階段蒸餾方法,必須先預(yù)訓(xùn)練一個(gè)功能強(qiáng)、參數(shù)多的教師模型,然后再將教師模型學(xué)到的知識遷移到性能較弱、參數(shù)較少的學(xué)生模型上,從而得到一個(gè)速度快、能力強(qiáng)的網(wǎng)絡(luò),達(dá)到減少參數(shù)、提高學(xué)生模型性能的目的,但存在訓(xùn)練時(shí)間長、計(jì)算成本高、占據(jù)內(nèi)存大等缺點(diǎn)。Zhang等[6]利用深度相互學(xué)習(xí)(Deep Mutual Learning,DML)使學(xué)生模型直接從其他學(xué)生模型的預(yù)測中學(xué)習(xí)。Lan等[7]提出采用一個(gè)門控單元作為網(wǎng)絡(luò)共享低層,在動(dòng)態(tài)建立教師模型的同時(shí)訓(xùn)練多分支網(wǎng)絡(luò)。Romberg等[8]進(jìn)一步優(yōu)化了FitNet 網(wǎng)絡(luò)并率先在知識蒸餾領(lǐng)域提出利用教師與學(xué)生間的注意力圖學(xué)習(xí)來代替特征圖學(xué)習(xí)。Chen等[9]在OKDDip兩級蒸餾方法的研究基礎(chǔ)上使用分類器多樣化損失函數(shù)和特征融合模塊來提高學(xué)生模型的多樣性和網(wǎng)絡(luò)中注意機(jī)制的性能。

現(xiàn)有的大部分方法很難構(gòu)建一個(gè)功能強(qiáng)大的教師角色,且忽略了單個(gè)子分支性能的自我提升。因此,本文提出一種結(jié)合注意力機(jī)制(Attention Mechanism,AM)與特征融合(Feature Fusion Module,F(xiàn)FM)的在線知識蒸餾方法(KD-ATFF),利用特征融合構(gòu)建強(qiáng)大的教師角色指導(dǎo)模型訓(xùn)練,同時(shí)將深層神經(jīng)元的注意力轉(zhuǎn)移到淺層網(wǎng)絡(luò),進(jìn)一步提升子分支的性能。

1 KD-ATFF

KD-ATFF擁有n個(gè)分支在線集成網(wǎng)絡(luò)模型,每個(gè)分支網(wǎng)絡(luò)由M個(gè)block組成。在沒有教師模型指導(dǎo)的前提下,每個(gè)block在訓(xùn)練過程中將自己的特征圖轉(zhuǎn)化為注意力圖,模塊之間相互學(xué)習(xí)彼此的注意力地圖,增加知識差異性。各個(gè)分支由淺層網(wǎng)絡(luò)到深層網(wǎng)絡(luò)相互學(xué)習(xí)得到的多樣性知識被保留到最后1個(gè)block的特征,然后再將各分支的最后1個(gè)block的特征送入特征融合模塊進(jìn)行信息融合,最后根據(jù)模塊內(nèi)部為各分支分配的權(quán)重組成集成教師指導(dǎo)各子模型訓(xùn)練。KD-ATFF模型結(jié)構(gòu)如圖1所示。

圖1 KD-ATFF模型結(jié)構(gòu)

1.1 CL模塊

(1)

(2)

采用L2范數(shù)作為2個(gè)模塊進(jìn)行互學(xué)習(xí)的損失函數(shù),將2個(gè)模塊的注意力圖進(jìn)行二次互學(xué)習(xí)得到的值進(jìn)行相加后取1/2作為一次損失。模塊間的互學(xué)習(xí)目標(biāo)函數(shù)為:

(3)

1.2 特征融合模塊

KD-ATFF共有n個(gè)相同的網(wǎng)絡(luò)架構(gòu)分支,多分支的特性比來自單分支的特性包含的信息要豐富得多。為便于表示,所有的學(xué)生模型從1到n進(jìn)行索引。由于網(wǎng)絡(luò)的深層會(huì)產(chǎn)生更豐富的語義信息,故將來自多個(gè)分支的最后1個(gè)block的特征作為特征融合模塊的輸入。這樣可以利用高級的語義信息來豐富特征,所產(chǎn)生的權(quán)值能取得較好的效果。加權(quán)集成目標(biāo)ze可表示為:

(4)

式(4)中,f(·)為特征融合模塊中心塊的函數(shù),為每個(gè)分支輸出相應(yīng)的重要性分?jǐn)?shù);Fa為來自第a個(gè)分支的最后一個(gè)塊的特征圖;za為來自第a個(gè)分支的logits。

以3個(gè)分支作為輸入為例,來自每個(gè)分支的最后1個(gè)block的特征映射Fa將被連接在一起,然后送入中心卷積塊。中心卷積塊是由多個(gè)卷積層、批處理歸一化和ReLU激活函數(shù)組成,中心塊的最后一層是全連接層,用于融合來自多個(gè)分支的語義信息。與其他方法相比,特征融合模塊可以獲得更多的語義信息,能夠有效地提高模塊的性能。最終目標(biāo)由各輔助分支的logits輸出zi加權(quán)和得到。特征融合模塊結(jié)構(gòu)如圖2所示。

圖2 特征融合模塊結(jié)構(gòu)

1.3 蒸餾模型的損失函數(shù)

1.3.1傳統(tǒng)標(biāo)簽損失

(5)

式(5)中,T為溫度參數(shù),取T=3。利用最小化交叉熵訓(xùn)練,得到標(biāo)簽學(xué)習(xí)的損失為:

Llabel=-∑ieilogqi

(6)

式(6)中,ei是標(biāo)注的標(biāo)簽分布;qi是最小化預(yù)測的類概率。

1.3.2注意力轉(zhuǎn)移損失函數(shù)

(7)

式(7)中,αm和αm+1分別為第m以及第m+1個(gè)block輸出的注意力圖。

1.3.3集成教師損失函數(shù)

KD-ATFF每個(gè)分支不僅從地面真實(shí)標(biāo)簽中學(xué)習(xí),還從通過特征融合模塊獲得的加權(quán)集成目標(biāo)中學(xué)習(xí)。知識轉(zhuǎn)移是通過將學(xué)生模型生成的概率分布q與目標(biāo)分布z對齊實(shí)現(xiàn)的。用KL散度表示其損失函數(shù),第a個(gè)學(xué)生模型的預(yù)測分布為qa(a=1,2,…,n),每個(gè)輔助分支學(xué)習(xí)ze中提取的知識,故所有分支的蒸餾損失為:

(8)

則,整個(gè)KD-ATFF的損失函數(shù)為:

(9)

Llabel是第α個(gè)子模型的傳統(tǒng)知識蒸餾損失;θ,β是調(diào)節(jié)軟硬標(biāo)簽比例的超參數(shù)。

1.4 KD-ATFF的算法流程

與兩階段傳統(tǒng)蒸餾訓(xùn)練不同,Online KD中學(xué)生網(wǎng)絡(luò)和集成教師同時(shí)進(jìn)行訓(xùn)練。在每個(gè)子網(wǎng)絡(luò)進(jìn)行相同的隨機(jī)梯度下降,并訓(xùn)練整個(gè)網(wǎng)絡(luò)直到收斂,作為標(biāo)準(zhǔn)的單模型增量批處理訓(xùn)練。批處理貫穿整個(gè)訓(xùn)練過程,在每個(gè)batch進(jìn)行子模型參數(shù)的更新和執(zhí)行訓(xùn)練。KD-ATFF的算法流程如下。

輸入:訓(xùn)練數(shù)據(jù)集D;訓(xùn)練Epoch數(shù);分支數(shù)n

輸出:n個(gè)訓(xùn)練好的模型{θ1,θ2,θ3,…,θn}

2.whilee≤do

3.使用公式(5)計(jì)算所有分支的預(yù)測{q1,q2,…,qn}

5.計(jì)算每個(gè)子模型的輸出:(z1,z2,…,zn)

6.通過FFM獲取每個(gè)分支的權(quán)重

7.使用公式(4)計(jì)算目標(biāo)logits

8.利用公式(8)計(jì)算蒸餾損失LKL

10.e=e+1

11.end while

2 實(shí)驗(yàn)分析

2.1 實(shí)驗(yàn)設(shè)置與數(shù)據(jù)集

實(shí)驗(yàn)采用CIFAR-10和CIFAR-100多類別分類基準(zhǔn)數(shù)據(jù)集。CIFAR-10是1個(gè)自然圖像數(shù)據(jù)集,包含從10個(gè)對象類中提取的50 000/10 000個(gè)訓(xùn)練/測試樣本(總共60 000個(gè)圖像),每個(gè)類有6 000個(gè)大小為32×32像素的圖像。CIFAR-100與CIFAR-10類似,也包含50 000/10 000個(gè)訓(xùn)練/測試圖像,但覆蓋100個(gè)細(xì)粒度類,每個(gè)類別有600張圖片。實(shí)驗(yàn)在CIFAR-10/100數(shù)據(jù)集上的batchsize設(shè)置為256。

實(shí)驗(yàn)所使用的學(xué)生網(wǎng)絡(luò)包括:ResNet-32(3.3 M)[2],ResNet-110(0.5 M)[2]和MobileNet(1.7 M)[10]。分支m設(shè)置為2;θ,β,T分別為1,1,3;選取隨機(jī)梯度下降,SGD為優(yōu)化器;模型的學(xué)習(xí)率初始化為0.1,并且每80周期減少為原來的1/10。采用top-1分類錯(cuò)誤率,將所有模型的訓(xùn)練結(jié)果取平均值。模型訓(xùn)練和測試的計(jì)算成本,使用浮點(diǎn)運(yùn)算(FLOPs)標(biāo)準(zhǔn)。

2.2 實(shí)驗(yàn)結(jié)果分析

將KD-ATFF方法與幾種有代表性的蒸餾方法進(jìn)行比較,采用不同的骨干網(wǎng)絡(luò)分別在CIFAR-10/100數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。不同骨干網(wǎng)絡(luò)在CIFAR-10/100上的top-1錯(cuò)誤率見表1。

表1 不同骨干網(wǎng)絡(luò)在CIFAR-10/100上的top-1錯(cuò)誤率

由表1可知, KD-ATFF與其他幾種方法相比,top-1錯(cuò)誤率有明顯降低,能適用于不同網(wǎng)絡(luò)且能得到良好的分類效果。具體來說,KD-ATFF模型在CIFAR-10上以ResNet-32或MobileNet為骨干網(wǎng)絡(luò)時(shí),比原始Baseline的top-1錯(cuò)誤率降低了約30%;在CIFAR-100上以ResNet-110為骨干網(wǎng)絡(luò)時(shí),top-1錯(cuò)誤率比DML降低了1.57%,比ONE降低了1.31%;以MobileNet為骨干網(wǎng)絡(luò)時(shí),top-1錯(cuò)誤率比DML降低了1.76%;在CIFAR-10上以ResNet-32為骨干網(wǎng)絡(luò)以及在CIFAR-100上以ResNet-110為骨干網(wǎng)絡(luò)時(shí),與最新的OKDDip方法相比,top-1錯(cuò)誤率都能夠與其比肩甚至比其更優(yōu)。實(shí)驗(yàn)結(jié)果表明,KD-ATFF提高了模型的泛化性,訓(xùn)練出的模型更加高效,對提升模型準(zhǔn)確率有很大的貢獻(xiàn)。

2.3 消融實(shí)驗(yàn)

為驗(yàn)證CL模塊和特征融合模塊的有效性,在CIFAR-100數(shù)據(jù)集上使用ResNet-110為骨干網(wǎng)絡(luò)進(jìn)行消融研究,將這2個(gè)模塊與ONE中的Gate模塊進(jìn)行比較。消融實(shí)驗(yàn)結(jié)果見表2。由表2可知,當(dāng)只使用CL模塊時(shí)的性能已經(jīng)略超過其他方法。這說明CL模塊在不同維度的注意力轉(zhuǎn)移能學(xué)習(xí)到更多的知識。與ONE中的Gate模塊相比,CL的top-1錯(cuò)誤率降低了0.76%。FFM與CL模塊同時(shí)工作時(shí)整體模型的改善更為明顯。與獨(dú)立的CL模塊相比,top-1錯(cuò)誤率降低了1.31%。實(shí)驗(yàn)結(jié)果表明,CL模塊在整體性能改善中發(fā)揮了重要的作用,特征融合模塊可以明顯增強(qiáng)分支間的多樣性。

表2 消融實(shí)驗(yàn)結(jié)果

3 結(jié)論

結(jié)合注意力轉(zhuǎn)移與特征融合的在線知識蒸餾方法(KD-ATFF)是一種可以在不需預(yù)先訓(xùn)練教師模型的前提下訓(xùn)練學(xué)生模型的改進(jìn)在線蒸餾模型?;谀K間的差異性,KD-ATFF引入了注意力機(jī)制,讓不同維度的模塊互相學(xué)習(xí),在各子模型的最后1個(gè)block的特征輸出加入特征融合模塊,分配不同權(quán)重組成集成教師指導(dǎo)各子模型訓(xùn)練,以提升整體模型的性能。與其他幾種代表性的在線知識蒸餾方法相比,KD-ATFF的top-1錯(cuò)誤率明顯降低,驗(yàn)證了注意力轉(zhuǎn)移和CL模塊以及特征融合模塊的有效性。

猜你喜歡
錯(cuò)誤率分支注意力
讓注意力“飛”回來
巧分支與枝
小學(xué)生分?jǐn)?shù)計(jì)算高錯(cuò)誤率成因及對策
一類擬齊次多項(xiàng)式中心的極限環(huán)分支
“揚(yáng)眼”APP:讓注意力“變現(xiàn)”
正視錯(cuò)誤,尋求策略
A Beautiful Way Of Looking At Things
解析小學(xué)高段學(xué)生英語單詞抄寫作業(yè)錯(cuò)誤原因
降低學(xué)生計(jì)算錯(cuò)誤率的有效策略
生成分支q-矩陣的零流出性
桂阳县| 麦盖提县| 霸州市| 巴林左旗| 怀远县| 溧阳市| 山阳县| 桂平市| 财经| 邵武市| 临泽县| 嵊泗县| 韶山市| 瑞安市| 东安县| 会泽县| 朝阳县| 左权县| 天津市| 藁城市| 昂仁县| 南溪县| 平乐县| 宁阳县| 偏关县| 吕梁市| 绿春县| 唐河县| 延边| 镇江市| 盐池县| 拉萨市| 台安县| 绥中县| 南丰县| 祁阳县| 阿图什市| 祁连县| 互助| 祥云县| 贵州省|