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

?

基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法

2020-12-25 06:07張索非吳曉富
關(guān)鍵詞:錯誤率集上網(wǎng)絡(luò)結(jié)構(gòu)

謝 奔,張索非,吳曉富

(1.南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003;2.南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003)

0 引 言

在過去的十年,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在包括圖像分類、語義分割、目標(biāo)檢測、人臉識別等計算機(jī)視覺任務(wù)上都取得了不錯的成績[1-4]。盡管卷積神經(jīng)網(wǎng)絡(luò)在很多領(lǐng)域中都取得了重大突破,但是它仍然存在著一定的局限性,比如網(wǎng)絡(luò)中的池化層會使得圖像中的空間信息丟失等。為了解決上述問題,Hinton等人提出了膠囊網(wǎng)絡(luò)[5],并在幾個小型分類數(shù)據(jù)集(如MNIST[6])上取得了不錯的性能,后續(xù)有一些工作者對其結(jié)構(gòu)進(jìn)行了研究[7-9],發(fā)現(xiàn)膠囊網(wǎng)絡(luò)結(jié)構(gòu)過于簡單以及動態(tài)路由機(jī)制的計算過于復(fù)雜是導(dǎo)致其在大型分類數(shù)據(jù)集(如CIFAR10,CIFAR100[10])上沒有傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)性能好的原因。針對膠囊網(wǎng)絡(luò)的這些局限性,文獻(xiàn)[11]提出一種膠囊投影網(wǎng)絡(luò)(capsule projection network,CapProNet)。該模型使用一組膠囊張成的子空間來表征實體,一旦一組膠囊子空間被學(xué)習(xí)到,模型即可將提取的特征投影到這組膠囊子空間上形成一組膠囊以用于分類任務(wù)。與文獻(xiàn)[5]一樣,膠囊的長度用于計算輸入樣本屬于對應(yīng)類別的概率,其方向則用于表示實體的一些其他屬性,例如姿勢、尺寸、紋理等。膠囊投影網(wǎng)絡(luò)的另一個優(yōu)點在于其可以很容易地嵌入到現(xiàn)有的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)上,融入了膠囊投影網(wǎng)絡(luò)后的結(jié)構(gòu)在多個分類數(shù)據(jù)集上取得了性能提升。

盡管膠囊投影網(wǎng)絡(luò)在多個分類數(shù)據(jù)集上取得了不錯的性能,但是這是建立在比較高的訓(xùn)練成本基礎(chǔ)上達(dá)到的,而過高的訓(xùn)練成本會削弱模型的泛化能力。為了解決上述問題,受文獻(xiàn)[12]的啟發(fā),該文引入一種基于熱重啟機(jī)制的隨機(jī)梯度下降算法(stochastic gradient descent with warm restarts,SGDR)到膠囊投影網(wǎng)絡(luò)的學(xué)習(xí)中,提出了一種基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法,并在多個分類數(shù)據(jù)集上進(jìn)行評估。

實驗結(jié)果表明,該方法在降低訓(xùn)練成本的同時實現(xiàn)了比較好的泛化性能,例如,使用WideResNet[13]作為主干網(wǎng)與CapProNet結(jié)合后的網(wǎng)絡(luò)模型在CIFAR10 與CIFAR100數(shù)據(jù)集上分別取得的最好結(jié)果為3.56%與18.73%,然而文獻(xiàn)[11]中報道的在CIFAR10與CIFAR100數(shù)據(jù)集上分別取得的最好結(jié)果只有3.64%與19.83%。對應(yīng)地,該方法使得模型訓(xùn)練完全收斂只需要300個epochs,相較于原論文的訓(xùn)練策略所需要的500個epochs,很大程度上降低了訓(xùn)練成本。

1 膠囊投影網(wǎng)絡(luò)

1.1 網(wǎng)絡(luò)結(jié)構(gòu)

膠囊投影網(wǎng)絡(luò)是文獻(xiàn)[11]中提出的一種新型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),不同于文獻(xiàn)[5,14],膠囊投影網(wǎng)絡(luò)通過學(xué)習(xí)一組膠囊子空間表征一組實體類,膠囊子空間的學(xué)習(xí)是為了將主干網(wǎng)提取的特征投影到上面形成一組膠囊用于分類任務(wù)。同樣地,膠囊的長度可以用于計算輸入樣本屬于對應(yīng)類別的概率,其方向則用于表示實體的一些其他屬性,例如姿勢、尺寸、紋理等。與原始膠囊網(wǎng)絡(luò)結(jié)構(gòu)不同的是,膠囊投影網(wǎng)絡(luò)可以作為分類層(classification layer)嵌入到多種現(xiàn)有的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(例如ResNet[15]、WideResNet[13]等)中來幫助網(wǎng)絡(luò)更好地學(xué)習(xí)特征,以提高網(wǎng)絡(luò)的性能。

一個典型的膠囊投影網(wǎng)絡(luò)與主干網(wǎng)絡(luò)相結(jié)合的結(jié)構(gòu)如圖1所示。這里以CIFAR10數(shù)據(jù)集為例,首先,給定輸入圖片,經(jīng)過一個主干網(wǎng)提取出特征x∈d;然后,當(dāng)膠囊投影網(wǎng)絡(luò)學(xué)習(xí)到10個膠囊子空間S={S1,S2,…,S10}后,可以將特征x分別投影到這些子空間上得到10個膠囊[v1,v2,…,v10]∈10×d,這里d指膠囊的維度;

圖1 主干網(wǎng)絡(luò)與膠囊投影網(wǎng)絡(luò)結(jié)合后的網(wǎng)絡(luò)結(jié)構(gòu)

最后,可以通過計算這些膠囊的長度‖v‖2得到輸入圖片屬于對應(yīng)類別的概率,其中長度最長的膠囊對應(yīng)最終的分類結(jié)果。

1.2 特征在膠囊子空間上的投影

處于網(wǎng)絡(luò)結(jié)構(gòu)核心位置的是膠囊投影算法,這一部分將詳細(xì)對該算法進(jìn)行一個說明。假設(shè)輸入樣本有L類,這樣膠囊投影網(wǎng)絡(luò)需要學(xué)習(xí)L個膠囊子空間,即{S1,S2,…,SL}。假設(shè)主干網(wǎng)提取出輸入樣本的特征x∈d,為了學(xué)習(xí)到一定的特征表示,將x分別投影到L個膠囊子空間上,從而得到L個膠囊[v1,v2,…,vL],每個膠囊的長度用于表示輸入樣本屬于對應(yīng)類別的概率。

對于每個膠囊子空間而言,網(wǎng)絡(luò)通過學(xué)習(xí)一個權(quán)重矩陣Wl={w1,w2,…,wc}∈d×c,使用權(quán)重矩陣的列向量作為基向量構(gòu)建子空間,即Sl=span(Wl)。這樣特征在膠囊子空間上的投影可通過式(1)得到:

(1)

(2)

2 基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法

基于熱重啟機(jī)制的梯度下降算法(SGDR)[12]通過將SGD優(yōu)化器與熱重啟機(jī)制相結(jié)合在多個分類任務(wù)上取得了不錯的效果。所謂的熱重啟機(jī)制是指在網(wǎng)絡(luò)訓(xùn)練的時候人為設(shè)定一個重啟周期Ti,每達(dá)到這個周期,將重新啟動初始學(xué)習(xí)率進(jìn)行訓(xùn)練,同時模型的每次重啟使用上一次重啟的參數(shù)作為初始化,其本質(zhì)上就是一個學(xué)習(xí)率的調(diào)整。該文通過將SGDR算法與膠囊投影網(wǎng)絡(luò)相結(jié)合,提出了一種基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法。

對于基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法,采用余弦退火方案來調(diào)整學(xué)習(xí)率,從而達(dá)到熱重啟的作用。對于每次迭代,采用式(3)調(diào)整學(xué)習(xí)率:

(3)

(4)

為了使基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法更好地提升模型性能,初始設(shè)置Ti=0為一個相對比較小的值,例如將其設(shè)置為總的訓(xùn)練預(yù)算的1/10,在下一次重啟前再乘上一個乘數(shù)因子Tmult,以變化重啟周期Ti。通過這種動態(tài)改變重啟周期的方式來促使網(wǎng)絡(luò)模型快速找到最優(yōu)解,以降低訓(xùn)練成本。

圖2 算法示例

這里,通過一個例子來說明基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法的具體設(shè)置,如圖2所示。將初始學(xué)習(xí)率設(shè)為0.1,同時令Ti=0=10,Tmult=2,當(dāng)訓(xùn)練的epoch達(dá)到10時,此時學(xué)習(xí)率ηt=10=0,這時由于Tcur=Ti=0,所以在下一次重啟前需要將Tcur設(shè)置為0,這樣學(xué)習(xí)率ηt將重新回到初始學(xué)習(xí)率,網(wǎng)絡(luò)也將重新回到初始狀態(tài)進(jìn)行訓(xùn)練,同時將Ti=0乘上一個乘數(shù)因子Tmult=2,從而得到下一次重啟的周期為Ti=1=Ti=0Tmult=20,以此類推,直到訓(xùn)練結(jié)束。基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法通過這種反復(fù)重啟來促使網(wǎng)絡(luò)模型快速找到最優(yōu)解,從而在提高網(wǎng)絡(luò)的性能的同時也降低了訓(xùn)練成本。

3 實 驗

本節(jié)通過實驗來驗證基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法可以有效地提升網(wǎng)絡(luò)模型性能。

3.1 數(shù)據(jù)集

實驗中采用CIFAR數(shù)據(jù)集來評估所提出的方法。CIFAR數(shù)據(jù)集包含50 000張像素為32×32的圖片作為訓(xùn)練集,10 000張像素為32×32的圖片作為測試集。CIFAR10數(shù)據(jù)集中的所有圖片來源于10類目標(biāo),CIFAR100數(shù)據(jù)集中的所有圖片來源于100類目標(biāo)。

3.2 主干網(wǎng)絡(luò)

實驗中選取多種主干網(wǎng)絡(luò)來評估性能,例如ResNet[15]、WideResNet[13]、Densenet[17]和ResNet(pre-activation)[18]。將主干網(wǎng)絡(luò)的最后一層分類層用膠囊投影網(wǎng)絡(luò) (CapProNet)替代,同時將結(jié)合后的網(wǎng)絡(luò)在所給數(shù)據(jù)集上進(jìn)行端到端訓(xùn)練,訓(xùn)練后的模型在測試集上測試得出測試結(jié)果。為了書寫方便,將主干網(wǎng)標(biāo)記為X,這樣所有主干網(wǎng)絡(luò)與膠囊投影網(wǎng)絡(luò)結(jié)合后的網(wǎng)絡(luò)結(jié)構(gòu)可以記為CapProNet+X。

3.3 不同SGDR配置對性能的影響分析

根據(jù)第2節(jié)的介紹可以發(fā)現(xiàn),不同的SGDR設(shè)置對網(wǎng)絡(luò)模型性能影響很大,同時由于SGDR設(shè)置的不同,模型在收斂的時候所需要的epochs也不一樣。例如,當(dāng)Ti=0=10,Tmult=2時,根據(jù)圖2可以看出,模型可能是在第310個epoch收斂的比較好,又比如,當(dāng)Ti=0=50,Tmult=1時,模型可能是第400個epoch收斂的比較好,所以為了找到促使膠囊投影網(wǎng)絡(luò)收斂最好,同時訓(xùn)練成本也較少的設(shè)置,就不同SGDR配置對模型性能的影響做了一個消融研究。

選取以下幾種設(shè)置進(jìn)行消融研究:(1)Ti=0=1,Tmult=2;(2)Ti=0=10,Tmult=2;(3)Ti=0=20,Tmult=2;(4)Ti=0=50,Tmult=1;(5)Ti=0=100,Tmult=1;(6)Ti=0=200,Tmult=1,使用CapProNet(c=2)+ResNet110網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR10數(shù)據(jù)集上進(jìn)行訓(xùn)練測試,測試結(jié)果如表1所示。

表1 不同SGDR設(shè)置條件下CapProNet(c=2)+ResNet110網(wǎng)絡(luò)在CIFAR10上的測試錯誤率

從表1可以發(fā)現(xiàn),盡管Ti=0=20,Tmult=2設(shè)置的訓(xùn)練成本最低,但是其在CIFAR10數(shù)據(jù)集上的分類錯誤率是這幾種設(shè)置中最高的,相比之下,Ti=0=10,Tmult=2設(shè)置在比其訓(xùn)練成本多10個epochs的條件下在CIFAR10數(shù)據(jù)集上獲得了最低的錯誤率,錯誤率達(dá)到了5.05%,這樣在降低訓(xùn)練成本的同時獲得了比較好的性能。所以在接下來的所有實驗中采用了Ti=0=10,Tmult=2設(shè)置來訓(xùn)練網(wǎng)絡(luò)模型。

3.4 CIFAR10數(shù)據(jù)集上的分類結(jié)果

評估了CapProNet+WideResNet28-10、CapProNet+ResNet110、CapProNet+Densenet100-12和CapProNet+ ResNet164(pre-activation)四種網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR10上的性能。實驗結(jié)果如表2所示,與原論文報道相比,該方法實現(xiàn)了更高的性能,在CIFAR10上最好的性能達(dá)到3.56%,相比于原論文,減少了2%的錯誤率。更重要的是比原訓(xùn)練框架減少了接近40%的訓(xùn)練成本,原訓(xùn)練框架需要500個epochs,而我們的僅需要大約300個epochs,這在很大程度上降低了訓(xùn)練成本。

表2 不同網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR10上的測試錯誤率

續(xù)表2

注意對于CapProNet+Densenet100-12和CapProNet+ResNet164 (pre-activation)網(wǎng)絡(luò)結(jié)構(gòu),用500個epoch無法復(fù)現(xiàn)原論文報道的結(jié)果,所以為了保證公平比較,在表2中報道了原論文報道結(jié)果與復(fù)現(xiàn)的結(jié)果,標(biāo)記為original/rerun,盡管所提方法并沒有達(dá)到比較好的性能,但是用更少的訓(xùn)練成本達(dá)到了與原論文相當(dāng)?shù)慕Y(jié)果。

3.5 CIFAR100數(shù)據(jù)集上的分類結(jié)果

同樣評估了CapProNet+WideResNet28-10、CapProNet+ResNet110、CapProNet+ Densenet100-12三種網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR100上的性能。實驗結(jié)果如表3所示,與3.4節(jié)一樣,也報道了原論文與復(fù)現(xiàn)的結(jié)果,標(biāo)記為original/rerun。從表中可以看到,在CIFAR100數(shù)據(jù)集上最好的性能是18.73%,相比于原論文,降低了6%的錯誤率,更重要是,該方法比原訓(xùn)練框架減少了接近40%的訓(xùn)練成本,在減少訓(xùn)練的總預(yù)算的同時,提升了模型的性能。

表3 不同網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR100上的測試錯誤率

3.6 學(xué)習(xí)曲線的可視化

為了更好地展現(xiàn)提出的算法的有效性,將使用提出的算法的網(wǎng)絡(luò)模型的學(xué)習(xí)曲線與原論文網(wǎng)絡(luò)模型進(jìn)行一個對比。這里選取了CapProNet+ResNet164(c=4)與CapProNet+Densenet(c=4)在CIFAR10數(shù)據(jù)集上訓(xùn)練得到的模型。

圖3與圖4分別為CapProNet+ResNet164(c=4)與CapProNet+Densenet(c=4)在CIFAR10數(shù)據(jù)集上的學(xué)習(xí)曲線,其中ours表示使用提出的算法學(xué)習(xí)得到的模型,original則表示原論文的模型。由圖可見,使用提出的算法的模型可以更快地尋找到最優(yōu)解,相比于原論文的模型需要500個epochs才能完全收斂,而提出的算法第310個epochs就可以完全收斂,這也進(jìn)一步證明了提出的算法的有效性。

圖3 CapProNet+ResNet164(c=4)模型的學(xué)習(xí)曲線

圖4 CapProNet+Densenet100-12(c=4)模型的學(xué)習(xí)曲線

3.7 消融研究

在這一部分,進(jìn)一步探究在網(wǎng)絡(luò)訓(xùn)練過程中通過增加epochs來獲得更高性能的方法??紤]以下三種網(wǎng)絡(luò)結(jié)構(gòu):CapProNet+WideResNet28-10、CapProNet+ ResNet110、CapProNet+Densenet100-12,將所有的模型在CIFAR10數(shù)據(jù)集上使用630個epochs訓(xùn)練,同時為了公平比較,使用相同的訓(xùn)練成本重新訓(xùn)練原論文中的模型,二者實驗的超參數(shù)保持一致。實驗結(jié)果如表4所示,總體來說,提出的算法實現(xiàn)了比原論文更好的性能,在CIFAR10上最好的性能達(dá)到了3.41%,相比文獻(xiàn)[4]報道的最好成績降低了6%的錯誤率。這些結(jié)果表明,提出的方法使用更高的訓(xùn)練成本可以達(dá)到更好的泛化性能。

表4 不同網(wǎng)絡(luò)結(jié)構(gòu)在CIFAR10上的測試錯誤率

3.8 SGDR算法的兼容性

實驗證明,所提出的算法在收斂速度與分類性能上均超過了原膠囊投影網(wǎng)絡(luò)模型。但是這并不能代表SGDR算法應(yīng)用于所有深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)都可以收斂的很好,為了證明算法不具有普遍應(yīng)用性,將SGDR算法應(yīng)用于ResNet110與ResNet164(pre-activation)兩種結(jié)構(gòu)上,不同結(jié)構(gòu)在CIFAR10上測試的結(jié)果如表5所示。正如表5所示,相同的網(wǎng)絡(luò)模型下,使用SGDR算法的結(jié)果遠(yuǎn)不如不用SGDR算法的結(jié)果,這也證明了SGDR算法并不適用于所有深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

表5 不同訓(xùn)練策略在CIFAR10上的測試錯誤率

4 結(jié)束語

將基于熱重啟機(jī)制的隨機(jī)梯度下降算法引入到膠囊投影網(wǎng)絡(luò)的學(xué)習(xí)中,提出了一種基于熱重啟機(jī)制的膠囊投影網(wǎng)絡(luò)快速訓(xùn)練算法,并分別在CIFAR10與CIFAR100數(shù)據(jù)集上進(jìn)行了性能評估。實驗結(jié)果表明,該方法在降低訓(xùn)練成本的同時還獲得了比較好的泛化性能,因此,基于熱重啟機(jī)制的隨機(jī)梯度下降算法可作為膠囊投影網(wǎng)絡(luò)的一種標(biāo)準(zhǔn)訓(xùn)練算法,推動這種網(wǎng)絡(luò)模型的進(jìn)一步發(fā)展以及應(yīng)用。目前的膠囊投影網(wǎng)絡(luò)只用于分類任務(wù)中,在未來可以進(jìn)一步探究其在目標(biāo)檢測、人臉識別與行人重識別等任務(wù)的可能性。

猜你喜歡
錯誤率集上網(wǎng)絡(luò)結(jié)構(gòu)
關(guān)于短文本匹配的泛化性和遷移性的研究分析
基于互信息的多級特征選擇算法
基于AutoML的保護(hù)區(qū)物種識別①
小學(xué)生分?jǐn)?shù)計算高錯誤率成因及對策
正視錯誤,尋求策略
帶通信配網(wǎng)故障指示器故障監(jiān)測方法及安裝分析
解析小學(xué)高段學(xué)生英語單詞抄寫作業(yè)錯誤原因
師如明燈,清涼溫潤
非常規(guī)突發(fā)事件跨組織合作網(wǎng)絡(luò)結(jié)構(gòu)演化機(jī)理研究
降低學(xué)生計算錯誤率的有效策略
阿克陶县| 桂东县| 鹰潭市| 白玉县| 诸暨市| 陇西县| 墨竹工卡县| 苗栗市| 砚山县| 南汇区| 青海省| 客服| 盐城市| 略阳县| 安新县| 扎兰屯市| 武平县| 阆中市| 张掖市| 阳谷县| 文昌市| 宣汉县| 子洲县| 凤凰县| 崇阳县| 土默特左旗| 呼伦贝尔市| 库伦旗| 额敏县| 辰溪县| 五大连池市| 宜黄县| 台中市| 桑日县| 漠河县| 福泉市| 阿尔山市| 浏阳市| 三穗县| 清镇市| 玛纳斯县|