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

?

膠囊網(wǎng)絡(luò)對復雜現(xiàn)實場景中的物體識別*

2019-12-30 07:03:04賈帥宇姚紅革
西安工業(yè)大學學報 2019年6期
關(guān)鍵詞:路由重構(gòu)神經(jīng)元

姜 虹,賈帥宇,姚紅革

(西安工業(yè)大學 計算機科學與工程學院,西安 710021)

“深度學習”自2006年被提出以來,經(jīng)過十幾年的發(fā)展,其已發(fā)展出眾多算法,但主要以CNN為主,CNN因其對底層對象之間的空間關(guān)系表達的不夠充分,并且其中的Pooling 過程會丟失一定量的位置信息[1],由于這些缺陷的存在CNN在某些方面的識別效果并不理想。文獻[2]首次提出膠囊(Capsule)的概念,作者在該論文中建立了一種三層簡易的網(wǎng)絡(luò)結(jié)構(gòu)CapsNet,并將CapsNet用于Mnist手寫體識別,準確率高達97.5%,超越了文獻[3]提到的LeNet-5模型。2018年,文獻[4]對膠囊網(wǎng)絡(luò)中動態(tài)路由迭代算法進行了解釋,并提出了一種新的EM路由算法,對Capsule膠囊網(wǎng)絡(luò)核心路由算法進行改進。盡管CapsNet網(wǎng)絡(luò)模型使用動態(tài)路由迭代算法替代了CNN的池化操作[5-6],降低了前向傳播過程中的特征損失,而且克服了CNN中特征不變性的缺點,提高了識別準確率。但目前,CapsNet僅用于簡單圖像的識別,對于處于復雜場景下的目標識別還鮮有研究。

本文基于膠囊網(wǎng)絡(luò)的思想,擬構(gòu)建一個新的膠囊網(wǎng)絡(luò)模型,采用Cifar10數(shù)據(jù)集對其進行訓練,在CapsNet的基礎(chǔ)上增加Conv2和Intermediate Capsule Layer,以提升網(wǎng)絡(luò)在復雜場景下對于物體識別精度以及單個膠囊對于信息的表征能力。

1 改進膠囊網(wǎng)絡(luò)模型的建立

本文整體系統(tǒng)結(jié)構(gòu)如下圖1神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖所示。

圖1 神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)

相較于文獻[6]中的CapsNet,本文提出如下改進。

1.1 增加CONV2卷積層

本網(wǎng)絡(luò)模型在Conv1與Primary Capsule Layer之間增加了一層額外的卷積層Conv2,由于復雜場景下的彩色圖片蘊含的信息量較大,圖像中干擾信息較多,圖像信息之間的關(guān)系較為復雜。所以在結(jié)構(gòu)設(shè)計之上希望通過增加卷積層的方法過濾掉部分噪音,并且使得Primary Capsule Layer之前的卷積部分獲得更多有關(guān)識別目標的信息,減少復雜背景干擾信息的影響。

1.2 擴展膠囊維度由初級8D擴寬為16D

Primary Capsule Layer之前兩層卷積層在對原始圖像經(jīng)過兩次特征提取過程,大量的有用信息被抽取至上層膠囊,經(jīng)過Primary Capsule Layer,Intermediate capsule layer對其信息進行降噪并將有用信息利用Squash()函數(shù)壓縮至膠囊之中,膠囊中攜帶有識別信息。膠囊的維度越大,膠囊中可存儲的信息越多,網(wǎng)絡(luò)分類效果更好,本實驗中維度擴寬為16D。

1.3 Intermediate capsule layer

在膠囊層之間,低層的特征膠囊首先通過姿態(tài)關(guān)系對高層特征進行預測,通過“動態(tài)路由算法”和“篩分決策機制”選擇性的激活高層膠囊,這相當于對低層膠囊網(wǎng)絡(luò)預測的結(jié)果進行篩選,然后選擇性激活部分高層膠囊。增加了一層膠囊層Intermediate capsule layer,擬通過前兩層的膠囊層的層間傳播去掉部分噪音,從Intermediate capsule layer所被Primary Capsule Layer選擇激活的上層膠囊在經(jīng)過一層膠囊層間預測激活過程,激活Advanced Capsule Layer完成最終分類,在兩次選擇激活的過程中,降低干擾因子。

本系統(tǒng)結(jié)構(gòu)正向運行過程如下:

Conv1:將32×32的彩色圖片采用256個5×5大小的卷積核對原始圖像進行卷積,其中步幅為1,在卷積層采用Relu激活函數(shù)。

Conv2:采用512個5×5大小的卷積核對Conv1層進行卷積,得到Conv2層。

Primary Capsule Layer:對網(wǎng)絡(luò)中注入的局部圖像信息進行向量化,即采用16組不同的卷積核,每組卷積核中又有64個不同的10×10大小的卷積核對局部圖像進行16次卷積,在卷積操作中步幅設(shè)置為1,并且采用Relu激活函數(shù),得到低層特征Ui,其中Ui為1×16大小的向量神經(jīng)元,具體結(jié)構(gòu)如圖2所示。

圖2 Primary Capsule Layer結(jié)構(gòu)

Advanced Capsule Layer:通過低層特征對高層特征進行預測,并通過篩分決策機制和動態(tài)路由迭代算法選擇激活最高層特征膠囊,完成分類。

膠囊作為一個方向向量,不僅能夠進行圖形目標的分類,本文預測在膠囊中蘊含原始圖像中識別目標的相關(guān)信息,即膠囊為原始圖像信息的壓縮。故本文在前向識別網(wǎng)絡(luò)后加入下圖3所示的重構(gòu)網(wǎng)絡(luò)來檢測所抽取特征信息的完整度,擬通過該重構(gòu)網(wǎng)絡(luò)實現(xiàn)被壓縮在膠囊中原始圖像的還原。改進后的膠囊網(wǎng)絡(luò)如圖3重構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)圖。

圖3 重構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)圖

如圖3所示,在前半部分識別網(wǎng)絡(luò)的后面,加上重構(gòu)網(wǎng)絡(luò)結(jié)構(gòu),識別網(wǎng)絡(luò)結(jié)構(gòu)輸出10個1×16的膠囊即10個1×16的向量。該向量神經(jīng)元中攜帶有所識別圖像的信息,可以通過一個解碼器對這個輸出的1x16的向量進行解碼,從而還原前半部分識別網(wǎng)絡(luò)所識別的圖像。

在前層網(wǎng)絡(luò)結(jié)構(gòu)的后面加三個全連接層,在第一個全連接層有512個結(jié)點組成,采用Relu激活函數(shù),第二個全連接層有1024個結(jié)點,采用Relu激活函數(shù),第三層由784個結(jié)點組成,激活函數(shù)采用Sigmod分類函數(shù)。

2 關(guān)鍵算法原理

2.1 向量神經(jīng)元

膠囊網(wǎng)絡(luò)相比于傳統(tǒng)CNN神經(jīng)網(wǎng)絡(luò)摒棄標量神經(jīng)元,采用向量神經(jīng)元。其可用一個向量來表示。因向量神經(jīng)元可表達的信息量更大,從而使得網(wǎng)絡(luò)識別效率更高,識別效果更好。

每一個向量神經(jīng)元的屬性代表著該向量神經(jīng)元所指代的信息,向量神經(jīng)元的向量方向通常指代紋理,顏色,大小,形狀等信息,而向量神經(jīng)元的模長被用來指代該向量神經(jīng)元所代表的時間發(fā)生可能性的大小,該向量神經(jīng)元的模長越長則該向量神經(jīng)元所指代事件發(fā)生的可能性就越大,模長越短則事件發(fā)生的可能性就越小。

向量神經(jīng)元采用Squash()進行激活,在經(jīng)過Squash()函數(shù)激活后的向量神經(jīng)元,其長度則代表該事件發(fā)生的概率,且Squash()對向量神經(jīng)元的長度能起到一定的放縮作用,使得特征比較顯著的向量神經(jīng)元變得概率更加大,使得識別效果更好。

2.2 姿態(tài)關(guān)系轉(zhuǎn)換

膠囊層中物體各部分之間的分層姿態(tài)關(guān)系通過姿態(tài)矩陣表現(xiàn)出來[7-8]。其中,姿態(tài)主要包括平移 (translation)、旋轉(zhuǎn) (rotation) 和放縮 (scale) 三種形式。通過姿態(tài)矩陣物體姿態(tài)關(guān)系轉(zhuǎn)換過程如圖4所示。

圖4 姿態(tài)關(guān)系轉(zhuǎn)換例圖

用R,T,S定義旋轉(zhuǎn)、平移和縮放矩陣,那么將 (x,y) 先逆時針轉(zhuǎn) 30 度,向右平移2個單位,最終縮放 50% 到 (x′,y′) 可以由下列矩陣連乘得到

2.3 動態(tài)路由算法

膠囊網(wǎng)絡(luò)在相鄰低級膠囊層和高級膠囊層之間,采用動態(tài)路由算法進行由低層特征向高層特征的預測過程,動態(tài)路由機制由圖5所示。

動態(tài)路由算法基本工作原理如下:

① 初始化參數(shù)bij值。對于所有位于L層的膠囊i和L+1層的膠囊j,令所有bij初值均為0;

② 更新參數(shù)ci值。對于位于L層的所有膠囊i,令ci=softmax(bi)[9];

圖5 動態(tài)路由機制結(jié)構(gòu)圖

⑤ 對于位于L+1層的所有膠囊j,令Vj= squash(Sj);

⑦ 判斷膠囊層動態(tài)路由迭代次數(shù)是否達到預先設(shè)定好的迭代上限r(nóng),若未達到則重新返回步驟②,若完成則結(jié)束。

2.4 Squash函數(shù)

為了將每個膠囊的長度都壓縮到0到1之間,從而使得每個膠囊的長度表示該膠囊所代表事件發(fā)生的可能性,在膠囊網(wǎng)絡(luò)中引入Squash()函數(shù)[9],該函數(shù)不但可以完成壓縮膠囊長度的工作,而且該函數(shù)能夠?qū)δz囊代表事件發(fā)生可能性的概率放縮,使得大概率事件發(fā)生的可能性更大,小概率事件發(fā)生的可能性更小。其表達式為

(1)

式中:Vj為單個膠囊經(jīng)過壓縮之后輸出的輸出向量,其長度在0到1之間;Sj為傳入Squash()函數(shù)的膠囊,該膠囊為經(jīng)過上一層卷積層計算,進行加權(quán)求和之后得到的結(jié)果。對于該表達式,可以分為兩部分?!琒j‖2/(1+‖Sj‖2)為在不考慮膠囊方向的情況下,單純對膠囊長度進行放縮,使得長度小的膠囊長度表的更小,而長度大的膠囊長度變得更大,在整個計算過程中,對輸入膠囊的長度起放縮作用。Sj/‖Sj‖的作用為在‖Sj‖2/(1+‖Sj‖2)對膠囊長度放縮的前提下保持膠囊的方向不發(fā)生變化,即保持膠囊所代表事件的紋理,速度等特性不發(fā)生變化。Squash()函數(shù)中這兩部分的結(jié)合,使得膠囊在不改變方向的情況下有壓縮了膠囊的長度,使得膠囊長度介于0到1之間表示膠囊所指代事件發(fā)生的可能性,起到一種非線性激活的作用。

2.5 篩分決策機制

低層膠囊層向量神經(jīng)元通過篩分決策機制對高層向量神經(jīng)元進行選擇性激活,此過程類似于投票選舉,票數(shù)相對較多的單元即為被選定即將被激活的單元。如圖6篩分決策機制原理圖所示,圖中圈起的紅點為投票數(shù)較多并將被激活的單元,這些點聚集在一起意味著低層膠囊對高級特征的預測較為接近,最終將代表低層膠囊對高層的預測。分散在圈外的藍點為投票數(shù)較少無法被激活的單元,由于其距離紅色的聚集點較遠,所以其預測結(jié)果將被舍棄。

圖6 篩分決策機制原理圖

在膠囊網(wǎng)絡(luò)結(jié)構(gòu)中,每個膠囊即為一個向量神經(jīng)元,該向量神經(jīng)元為低層特征根據(jù)局部姿態(tài)關(guān)系預測得到的表達高級特征的向量神經(jīng)元。向量神經(jīng)元具有長度和方向兩個屬性,通過向量的方向表示向量所指代的事件,兩個向量神經(jīng)元方向差別越小,則這兩個向量神經(jīng)元所指代的事件相似度越高,其過程如上圖6所示,則最多向量神經(jīng)元的指向方向即為最終決策向量方向,該決策向量方向所指代的事件為最終決策事件。這種利用向量神經(jīng)元方向來決策高級特征,并選擇性激活高級特征膠囊的方法稱為篩分決策機制。通過決策機制結(jié)合路由算法得到所識別物體最終的類別結(jié)果。

3 實驗與分析

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

在本實驗中,采用經(jīng)典Cifar10數(shù)據(jù)集,該數(shù)據(jù)集由十個種類不同的對象構(gòu)成,數(shù)據(jù)集共包括60 000張彩色圖片,每張圖片均為32×32大小。而總共的60 000張圖片又分為50 000張訓練樣本和10 000張測試樣本,其中10類不同對象的圖片各有6 000張,每種對象的圖片數(shù)量一樣多,且圖像大小均相同,在數(shù)據(jù)集圖片中,所識別目標均處于較復雜場景之中,每張數(shù)據(jù)集背景圖片均不相同,且背景較為復雜,對于目標的識別過程會造成較強的干擾。其中,Cifar10的十類對象的少數(shù)樣本如圖7 Cifar10數(shù)據(jù)集所示。

為估算本文算法對Cifar10數(shù)據(jù)集的識別效果,使用準確率(accuracy,Acc)來衡量算法的性能,Acc的取值介于[0,1]之間,具體計算公式為

(2)

式中:TN為圖片識別正確的數(shù)量;EN為識別的圖片數(shù)量。

圖7 Cifar10數(shù)據(jù)集

3.2 實驗對比分析

3.2.1 文中網(wǎng)絡(luò)與CapsNet的性能對比

實驗通過采用Cifar10數(shù)據(jù)集來測試CapsNet和本文網(wǎng)絡(luò)在復雜場景下的表現(xiàn)情況。分別對兩個網(wǎng)絡(luò)進行訓練,通過對相同訓練批次下的兩個不同網(wǎng)絡(luò)模型進行測試發(fā)現(xiàn),本文中所構(gòu)建的網(wǎng)絡(luò)相比于CapsNet識別準確率提高了3.2%,并且重構(gòu)效果有所提升但是提升不明顯,實驗結(jié)果見表1。

表1 對CapsNet逐步改進的結(jié)果對比

參見表1,實驗分步對CapsNet網(wǎng)絡(luò)進行改進。在CapsNet網(wǎng)絡(luò)的基礎(chǔ)上增加一個卷積層,此時的初步模型測試準確率有所提升,模型準確率為68.1%。在此基礎(chǔ)上分別在網(wǎng)絡(luò)上添加膠囊層并且對膠囊進行擴維的改進,經(jīng)過三次改進的膠囊最高準確率可達71%,相比于CapsNet準確度提升了3.2%。雖然改進后的網(wǎng)絡(luò)沒有達到預期結(jié)果,但是相較于CapsNet整體有所提升。

3.2.2 文中網(wǎng)絡(luò)與CapsNet的復雜度對比

在參數(shù)數(shù)量方面,CapsNet網(wǎng)絡(luò)模型中(不含解碼器部分)大約含有63.13萬個參數(shù)。在改進后的網(wǎng)絡(luò)模型中參數(shù)數(shù)量增長到了82.88萬個。改進后模型的參數(shù)量相較于CapsNet增加了31%,但是文中成功提升了CapsNet的模型性能。盡管最終的結(jié)果沒有達到預期的效果,但是的確證明了一些方法(增加卷積層與膠囊層、擴維)能夠有效的提升CapsNet網(wǎng)絡(luò)模型的識別性能。

3.2.3 動態(tài)路由算法迭代次數(shù)對于識別率的影響

動態(tài)路由算法作為膠囊網(wǎng)絡(luò)的核心算法,其迭代次數(shù)對網(wǎng)絡(luò)模型的識別結(jié)果有著舉足輕重的影響。在本實驗中在其它環(huán)境不變的情況下,調(diào)整動態(tài)路由算法的迭代參數(shù)。通過比較不同迭代次數(shù)的情況下,網(wǎng)絡(luò)模型的準確率,并通過對所得數(shù)據(jù)進行比較分析,從而分析迭代次數(shù)對于網(wǎng)絡(luò)模型的局部影響以及全局影響,見表2。

表2 不同路由迭代次數(shù)下的準確率

在該網(wǎng)絡(luò)模型上,對膠囊層間動態(tài)路由算法路由迭代次數(shù)進行改變,進而通過實驗結(jié)果分析迭代次數(shù)對于整個網(wǎng)絡(luò)識別率的影響。通過在MNIST和Cifar10數(shù)據(jù)集上通過調(diào)整迭代次數(shù)R分別進行四次實驗,通過觀察實驗結(jié)果得出當R=3時,整個網(wǎng)絡(luò)模型對于MNIST和Cifar10數(shù)據(jù)集的識別準確率都是最高的,此時即可認為當R=3時,整個網(wǎng)絡(luò)達到了最優(yōu)性能。

3.3 膠囊網(wǎng)絡(luò)識別效果測試

3.3.1 改進網(wǎng)絡(luò)前向識別測試

通過對動態(tài)路由算法的研究以及大量實驗驗證,在R=3時算法最優(yōu),故在本實驗中擬設(shè)置R=3,采用Cifar10數(shù)據(jù)集對改進的網(wǎng)絡(luò)進行測試,使用Cifar10數(shù)據(jù)集中的50 000個訓練樣本進行訓練,通過50 000個訓練樣本每對網(wǎng)絡(luò)訓練一個輪次,采用10 000個測試圖像對網(wǎng)絡(luò)本次訓練情況進行測試,以得到當前網(wǎng)絡(luò)對于圖像的識別準確率。在本實驗中,利用Cifar10數(shù)據(jù)集對該網(wǎng)絡(luò)模型進行了80個輪次的訓練。在訓練過程中,該網(wǎng)絡(luò)模型識別準確率的變化情況如圖8所示,網(wǎng)絡(luò)loss如圖9所示。

圖8 準確率變化曲線Fig.8 Precision curve

該網(wǎng)絡(luò)模型在訓練過程中,當對網(wǎng)絡(luò)的第一個訓練輪次完成時,網(wǎng)絡(luò)的準確率如圖8所示,準確率為0.390 9。當對網(wǎng)絡(luò)模型的80個輪次的訓練全部結(jié)束時,網(wǎng)絡(luò)模型的準確率如圖8所示,準確率為0.625 0。但結(jié)合圖9中網(wǎng)絡(luò)總的loss走勢來看,當訓練程度到達5.000 k左右時,識別準確率達到最高水平為0.71,同時total loss降到最低點,此時網(wǎng)絡(luò)中參數(shù)之間協(xié)調(diào)度達到全局最優(yōu)。在訓練程度超過5.000 k后,會產(chǎn)生過擬合,網(wǎng)絡(luò)模型識別準確率降低,故應在5.000 k時停止對網(wǎng)絡(luò)的訓練,此時網(wǎng)絡(luò)識別效果最佳,識別準確率為0.71。

圖9 網(wǎng)絡(luò)損失變化曲線Fig.9 Network loss curve

3.3.2 Advanced Capsule Layer膠囊擴維對重構(gòu)的影響

圖10為原始膠囊網(wǎng)絡(luò)和改進后膠囊網(wǎng)絡(luò)的重構(gòu)誤差,圖11為原圖及重構(gòu)效果圖。

圖10 原始膠囊網(wǎng)絡(luò)和改進后膠囊網(wǎng)絡(luò)的重構(gòu)誤差曲線

圖11 原圖及重構(gòu)效果圖

由于文中模型將前向識別網(wǎng)絡(luò)輸出膠囊維度擴至16D,對比圖10中重構(gòu)誤差曲線可看出,相比CapsNet的重構(gòu)結(jié)果,文中實驗所設(shè)計的網(wǎng)絡(luò)重構(gòu)誤差更小,效果稍好,這說明對輸出膠囊進行擴維能夠提高重構(gòu)效果。但是從圖11中看出,重構(gòu)的效果還是不夠穩(wěn)定,重構(gòu)所得到的圖片清晰度不夠高。

在實驗的訓練過程中,隨著訓練的進一步深入,整個網(wǎng)絡(luò)模型的total_loss值整體趨于下降趨勢,隨著總體誤差值的降低,網(wǎng)絡(luò)模型的識別準確度也隨之逐漸上升,但在total_loss下降趨于0.60附近時該網(wǎng)絡(luò)模型中的總體誤差開始升高。

4 結(jié) 論

本文對CapsNet網(wǎng)絡(luò)進行了改進,為使其在復雜場景下對于物體具有更良好的識別和表征能力,文中在CapsNet網(wǎng)絡(luò)的基礎(chǔ)上增加了一層卷積層和膠囊層,使其能夠提取到更多細節(jié)特征。并且對各層膠囊進行了擴維,使每個膠囊能夠攜帶更多的特征信息。網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化使得網(wǎng)絡(luò)不但能充分的提取低層特征,而且兩個膠囊層在經(jīng)過兩層動態(tài)路由和篩分決策之后,降低了復雜場景對于物體識別的干擾,并且改進后的前向識別網(wǎng)絡(luò)相比于原來的CapsNet分類準確率提高了3.2%,當訓練程度到達5.000 k左右時,識別準確率達到最高水平為0.71。但目前的分類結(jié)果并沒有達到我們預期的結(jié)果,今后將嘗試對目前的網(wǎng)絡(luò)做進一步的改動,以達到更高的分類準確率。

猜你喜歡
路由重構(gòu)神經(jīng)元
長城敘事的重構(gòu)
攝影世界(2022年1期)2022-01-21 10:50:14
《從光子到神經(jīng)元》書評
自然雜志(2021年6期)2021-12-23 08:24:46
北方大陸 重構(gòu)未來
探究路由與環(huán)路的問題
躍動的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
北京的重構(gòu)與再造
商周刊(2017年6期)2017-08-22 03:42:36
論中止行為及其對中止犯的重構(gòu)
基于二次型單神經(jīng)元PID的MPPT控制
毫米波導引頭預定回路改進單神經(jīng)元控制
PRIME和G3-PLC路由機制對比
华宁县| 辽宁省| 阿拉善左旗| 梓潼县| 安平县| 女性| 革吉县| 南平市| 阿尔山市| 天津市| 双峰县| 罗平县| 饶阳县| 应城市| 威宁| 体育| 满城县| 海城市| 肇东市| 威海市| 磐石市| 万全县| 富蕴县| 日照市| 都昌县| 建宁县| 阿合奇县| 安多县| 桂平市| 大石桥市| 晴隆县| 深州市| 方城县| 宁南县| 清徐县| 上犹县| 清镇市| 阿克苏市| 新河县| 磴口县| 墨竹工卡县|