999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spark和AMPSO的并行深度卷積神經網絡優化算法

2023-10-17 23:37:00劉衛明羅全成毛伊敏彭喆
計算機應用研究 2023年10期

劉衛明 羅全成 毛伊敏 彭喆

摘 要:針對并行DCNN算法在大數據環境下存在冗余參數過多、收斂速度慢、容易陷入局部最優和并行效率低的問題,提出了基于Spark和AMPSO的并行深度卷積神經網絡優化算法PDCNN-SAMPSO。首先,該算法設計了基于卷積核重要性和相似度的卷積核剪枝策略(KP-IS),通過剪枝模型中冗余的卷積核,解決了冗余參數過多的問題;接著,提出了基于自適應變異粒子群優化算法的模型并行訓練策略(MPT-AMPSO),通過使用自適應變異的粒子群優化算法(AMPSO)初始化模型參數,解決了并行DCNN算法收斂速度慢和容易陷入局部最優的問題;最后,提出了基于節點性能的動態負載均衡策略(DLBNP),通過均衡集群中各節點負載,解決了集群并行效率低的問題。實驗表明,當選取8個計算節點處理CompCars數據集時,PDCNN-SAMPSO較Dis-CNN、DS-DCNN、CLR-Distributed-CNN、RS-DCNN的運行時間分別降低了22%、30%、37%和27%,加速比分別高出了1.707、1.424、1.859、0.922,top-1準確率分別高出了4.01%、4.89%、2.42%、5.94%,表明PDCNN-AMPSO在大數據環境下具有良好的分類性能,適用于大數據環境下DCNN模型的并行訓練。

關鍵詞:并行DCNN算法; Spark框架; PDCNN-SAMPSO算法; 負載均衡策略

中圖分類號:TP391 文獻標志碼:A 文章編號:1001-3695(2023)10-012-2957-10

doi:10.19734/j.issn.1001-3695.2023.03.0083

Parallel deep convolution neural network optimization algorithm

based on Spark and AMPSO

Liu Weiming1, Luo Quancheng1, Mao Yimin1,2, Peng Zhe3

(1.College of Information Engineering, Jiangxi University of Science & Technology, Ganzhou Jiangxi 341000, China; 2.College of Information Engineering, Shaoguan University, Shaoguan Guangdong 512026, China; 3.Dachan Customs District, P. R. China, Shenzhen Guangdong 518000, China)

Abstract:This paper proposed a parallel deep convolutional neural network optimization algorithm based on Spark and AMPSO(PDCNN-SAMPSO), aiming to address several issues encountered by parallel DCNN algorithms in big data environments, such as excessive redundant parameters, slow convergence speed, easy to fall into local optimal, and low parallel efficiency. Firstly, the algorithm designed a kernel pruning strategy based on importance and similarity (KP-IS) to address the problem of excessive redundant parameters by pruning the redundant convolution kernels in the model. Secondly, it proposed a model pa-rallel training strategy based on adaptive mutation particle swarm optimization algorithm (MPT-AMPSO) to solve the slow convergence speed and easy to fall into local optimal issues of parallel DCNN algorithms by initializing the model parameters using adaptive mutation particle swarm optimization algorithm (AMPSO). Finally, the algorithm proposed a dynamic load balancing strategy based on node performance (DLBNP) to balance the load of each node in the cluster and improve the parallel efficiency. Experiments show that, when using 8 computing nodes to process the CompCars dataset, the runtime of PDCNN-SAMPSO is 22%, 30%, 37% and 27% lower than that of Dis-CNN, DS-DCNN, CLR-Distributed-CNN and RS-DCNN, respectively, the speedup ratio is higher by 1.707, 1.424, 1.859, and 0.922, respectively, and the top-1 accuracy is higher by 4.01%, 4.89%, 2.42%, 5.94%, indicating that PDCNN-AMPSO has good classification performance in the big data environment and is suitable for parallel training of DCNN models in the big data environment.

Key words:parallel DCNN algorithm; Spark; PDCNN-SAMPSO algorithm; load balancing

0 引言

DCNN[1]是一類包含卷積計算且含有深層次結構的前饋神經網絡,因具有強大的特征選擇和泛化能力,被廣泛應用于圖像分析[2]、語音識別[3]、目標檢測像[4]、語義分割[5]、人臉識別[6]、自動駕駛[7]等領域。然而隨著大數據時代[8]的到來,數據的規模和人們對數據價值的提取需求不斷增長,傳統DCNN模型的訓練成本和訓練復雜度也隨之不斷提升。因此,設計適用于大數據環境下的DCNN算法具有十分重要的意義。

隨著Google公司開發的分布式計算框架MapReduce的快速發展,基于分布式計算框架的DCNN算法得到了廣泛關注。文獻[9~12]均使用基于MapReduce的DCNN算法取得了不錯的效果,然而隨著Spark[13]框架的誕生,其憑借計算速度快、簡潔易用、通用性強和支持多種運行模式等優勢逐步超越MapReduce,成為并行DCNN研究領域中主流的計算框架。目前已有大量基于Spark框架的并行DCNN算法成功運用到大數據的分析和處理領域中。例如,Xu等人[14]結合Spark提出了Dis-CNN(distributed convolution neural network)模型,該模型采用并行計算的方式對各分布式節點上的模型進行訓練,實現了DCNN模型在分布式計算系統上的并行化訓練過程,相較于單機器的訓練方式,擁有更高的訓練效率。基于此,Li等人[15]在模型并行訓練階段引入了一種基于內存的分布式文件系統Alluxio,提出了DS-DCNN(distributed system based on DCNN on Apache Spark and Alluxio)模型,該模型使用Alluxio來存儲中間數據,進一步提升了模型的并行訓練效率。同時,Sun等人[16]在模型并行訓練階段運用周期學習率[17]的思想,提出了CLR-Distributed-CNN(distributed convolutional neural network with a cycle learning rate)算法,該算法使用周期學習率替代線性變化的學習率,提升了模型的收斂速率。此外,Boulila等人[18]在參數并行更新階段結合了異步梯度下降法的思想,提出了RS-DCNN(distributed convolutional neural network for hand-ling RS image classification)算法,該算法通過異步更新各節點計算的梯度解決了集群相互等待的問題,進一步提高了集群的并行效率。實驗結果表明,以上四種并行DCNN算法對模型的訓練效率均有顯著的提升,但是仍存在以下不足:a)在模型并行訓練之前,由于各分布式節點上的DCNN模型結構過于復雜,若不對其進行有效剪枝,模型將會存在冗余參數過多的問題;b)在模型并行訓練過程中,不管是使用周期學習率替代線性變化的學習率,還是使用Alluxio來存儲中間數據,雖然都能在一定程度上提升模型的訓練效率,但對于大數據環境下更為復雜的DCNN模型,仍存在收斂速度慢和容易陷入局部最優的問題;c)在參數并行更新階段,雖然使用異步梯度下降法能有效地解決集群相互等待的問題,但這種做法同時也帶來了梯度延遲的問題,導致模型精度有所降低。所以如何有效地提高集群的并行效率也是一個亟待解決的問題。

針對以上三個問題,本文提出了一種基于Spark和AMPSO的并行深度卷積神經網絡優化算法PDCNN-SAMPSO(parallel deep convolutional neural network optimization algorithm based on Spark and AMPSO),算法從三個方面對并行DCNN算法進行了優化:a)在模型壓縮階段,為了解決冗余參數過多的問題,首先對各卷積層中的卷積核進行剪枝,然而現有的卷積核剪枝策略大多是采用L1范數作為剪枝標準對各卷積層進行剪枝,該做法不僅忽略了各卷積核間的相似度,而且對不同層采用同一剪枝標準的方式剪枝精度不高,PDCNN-AMPSO算法從卷積核重要性和相似度兩個維度考慮,設計了KP-IS策略,通過對不同卷積層采用不同的剪枝標準并考慮了卷積核間的相似度,解決了冗余參數過多的問題;b)在模型并行訓練階段,對于并行DCNN算法收斂慢且容易陷入局部最優的問題,考慮到PSO算法[19]收斂速率快和簡單易用的特性,基于PSO算法提出了AMPSO算法,并在此基礎上設計了MPT-AMPSO策略,通過使用AMPSO算法來初始化模型參數,接著再使用Adam(adaptive momentum algorithm)算法[20]對模型參數進行更新,解決了并行DCNN算法收斂速度慢和容易陷入局部最優的問題;c)在參數并行更新階段,對于集群并行效率低的問題,大多并行算法采用異步更新的方式對參數進行更新,然而這種做法導致的梯度延遲問題使得模型分類精度有所降低,因此PDCNN-AMPSO算法選擇在同步更新的基礎上提出了DLBNP策略,通過評估各節點性能對中間數據進行預劃分,并在集群實際運行期間對各節點負載進行遷移調整,解決了集群并行效率低的問題。

1 相關概念介紹

1.1 皮爾森相關系數

皮爾森相關系數主要是用來衡量兩個向量之間的相關性程度,它的取值是[-1,1]。如果值大于0,表示兩個向量成正相關;如果值小于0,則兩個向量成負相關;如果值等于0,則兩個向量不相關。皮爾森相關系數的計算公式如下:

2.1.2 基于重要性的剪枝

在完成對各卷積層特征聚集程度的量化之后,開始對卷積核進行剪枝。首先從卷積核的重要性這一維度對其進行剪枝,其具體過程如下:首先提出自適應重要性系數AIC作為卷積核重要性的衡量標準,并由此計算出各卷積層中卷積核的AIC;接著,比較各卷積核的自適應重要性系數AIC和給定閾值AIC0的大小,若AIC

定理2 自適應重要性系數AIC。令FCC為第i層卷積層的特征聚集系數,則第i層卷積層的第j個卷積核的重要性系數AIC可由式(14)計算。

證明 令FCC為第i層卷積層的特征聚集系數,當特征分布較為均勻時可知式(8)中LMFj·nGFj·n′趨近于1,即可得lim特征→均勻(FCC)=lim特征→均勻1j·∑ji=1LMFj·nGFj·n′≈1j·∑ji=11=1,此時AIC趨近于L1范數,能夠充分考慮該卷積層中各卷積核所包含的信息;當特征分布較為聚集時LMFj·nGFj·n′>1且隨聚集程度的增大而增大,此時lim特征→聚集(FCC)=lim特征→聚集1j·∑ji=1‖F‖i,max1·n‖F‖i1·n′>1,AIC趨近于更高階范數,可以篩選出該卷積層中含有較大元素的卷積核。因此AIC可以通過當前卷積層的特征聚集系數FCC自適應地進行調整,作為卷積核重要性評估的基本準則,證畢。

2.1.3 基于相似度的剪枝

在根據卷積核的重要性對模型進行初步壓縮后,考慮到此做法僅考慮了卷積核權重的數值大小,而忽略了它們之間的相關性,導致網絡中可能還存在冗余的卷積核,因此還需要從卷積核的相似度這一維度對模型做進一步壓縮,其具體過程如下:首先提出特征相似度系數FSC作為卷積核間相似度的衡量標準;然后依次計算每個卷積層中各卷積核兩兩之間的特征相似度系數FSC,并與給定的特征相似度閾值FSC0進行比較,若FSC>FSC0,則將對應的兩個卷積核以元組的形式加入待刪除隊列Q中;接著,依次取出隊列Q中元組(j,k),計算該元組所對應的卷積核j和k的自適應重要性系數AICj和AICk,并刪除其中較小者所對應的卷積核;最后,當對每個卷積層完成上述操作后,輸出最終剪枝完成的網絡模型。

定理3 特征相似度系數FSC。設j和k分別為第i層任意兩個卷積核,則卷積核j和k的特征相似度系數FSC為

其中:X和Y分別是卷積核j和k的向量表達形式。

證明 已知PCC(X,Y)代表卷積核j和k的關聯程度,即PCC(X,Y)越大,卷積核j和k的相似度越大。而ED(norm(X),norm(Y))的大小反映了卷積核j和k的差異程度,其值越大,卷積核差異越大,反之卷積核差異越小。因此,兩者的比值PCC(X,Y)ED(norm(X),norm(Y))在一定程度上可以反映卷積核直接的相似程度,即當該值越大時,表明卷積核之間相似程度越高;反之,表明卷積核之間相似程度越低,證畢。

算法1 模型壓縮

輸入:預訓練得到的網絡權值序列{wn}。

輸出:壓縮后的網絡權值序列{wm}。

//特征聚集程度的量化

for each convolution layer i do

calculate FCC//計算各卷積層的特征聚集系數

i=FCC//將計算結果標記給該層

end for

//基于重要性的剪枝

for each convolution layer i do

for each kernel j do

calculate AIC//計算各卷積核的自適應重要性系數

if AIC

delete j

end if

end for

end for

//基于相似度的剪枝

for each convolution layer i do

create queue Qi//創建待刪除隊列

for each kernel j and k do

calculate FSC//計算每兩個卷積核的特征相似度系數

if FSC>FSC0//根據閾值將兩兩卷積核加入待刪除隊列中

Qi.push((j,k))

end if

end for

while Qi≠ do //遍歷待刪除隊列

j,k←Qi.pop()

calculate AICj and AICk

if AICj

delete j

else

delete k

end if

end while

end for

output {wm} //輸出壓縮后的網絡權值序列

2.2 模型并行訓練

針對模型并行訓練階段存在的收斂速度慢且容易陷入局部最優的問題,本文設計了一種基于自適應變異粒子群優化算法的參數并行訓練策略MPT-AMPSO,該策略首先提出了AMPSO算法來初始化模型參數,接著使用Adam算法更新模型參數,提升了模型的收斂速率和跳出局部最優位置的能力。其主要包括兩個步驟:

a)參數初始化。提出了一種自適應變異的粒子群優化算法AMPSO,并使用該算法初始化模型參數。其中,AMPSO算法首先設計了一種慣性因子ω的自適應計算公式(adaptive calculation formula of ω, ACF),使得ω能跟隨迭代周期自適應地調整,增加了粒子跳出局部最優的能力,其次又設計了一種粒子自適應變異函數(adaptive mutation function,AMF),AMF結合了柯西變異和高斯變異的優勢,提升了PSO算法的收斂速率和跳出局部最優的能力。

b)參數并行訓練。在各節點上使用Adam算法進行反向傳播,最終獲取模型并行訓練結果。

2.2.1 參數初始化

為了解決梯度下降算法存在的收斂速度慢且容易陷入局部最優的問題,提出AMPSO算法,并在模型并行訓練前,先使用該算法對模型參數進行初始化。AMPSO算法的具體過程如下:

聯立式(21)~(25)可知f(x)在[0, 1]上具有關于點(1/2,1/2)對稱、單調遞增且一階導在[0,1/2]單調遞增,在[1/2,1]單調遞減的性質。

故f(x)在橫軸滿足關于迭代總次數T的對稱性,在縱軸滿足關于rand取值的對稱性,隨著迭代次數的增加,AMF能通過f(t/T)的取值自適應地調整變異粒子的變異函數。即在迭代初期時,在更多的周期內有更多的粒子采用柯西變異以增強粒子在初期的全局搜索能力[21];相反在迭代末期,在更多的周期內有更多的粒子會采用高斯變異以增強粒子在末期的局部收斂能力[22]。因此AMF可作為粒子變異的自適應變異函數,證畢。

d)更新粒子群參數。先根據式(18)更新慣性因子ω后,再根據式(6)(7)更新粒子速度和位置,最后對變異粒子的位置采用式(19)進行擾動。

e)粒子群迭代。重復步驟b)~d),直到達到設置的終止條件,最終輸出粒子的最優位置。

2.2.2 參數并行更新

在使用AMPSO算法對模型參數進行初始化之后,便開始對模型參數進行并行訓練。參數并行訓練時首先在各節點上對模型進行前向傳播,并根據前向傳播的結果使用Adam算法對模型參數進行反向傳播求得各參數的改變量,進而獲得模型并行訓練的結果。其具體過程如下:

a) 參數并行訓練。使用Adam算法對模型參數進行反向傳播求得各參數的改變量。

b) 迭代訓練。重復步驟a),直到達到設置的終止條件,最終輸出參數并行訓練的結果,形如〈key=w,value=w〉。

算法2 模型并行訓練

輸入:壓縮后的網絡權值序列{wm};迭代次數T;適應度函數fitness(xi)。

輸出:參數并行更新結果〈key=w,value=w〉。

//參數初始化

initialize n particles based on {wm}

while t

for each particle pi do

calculate fitness(xi)//計算各粒子的適應度值

update pbesti and gbest //更新全局最優值和局部最優

update ω=(ωmax-ωmin)·cos(tT·π2)+ωmin//更新慣性因子

update vt+1i=ωvti+c1r1×(pbesti-xti)+c2r2×(gbest-xti)

//更新速度

update xt+1i=xti+vti//更新位置

if pi is mutation particle

update xi=AMF(xi)//對粒子進行變異操作

end if

end for

end while

//參數并行更新

initialize the model parameters based on xi//初始化模型參數

start forward propagation and back propagation

//前向傳播和反向傳播

output 〈key=w,value=w〉//輸出參數并行更新結果

2.3 參數并行更新

針對參數并行更新階段存在的集群并行效率低的問題,本文提出了基于節點性能的動態負載均衡策略DLBNP,該策略主要包括以下兩個步驟:a)數據預劃分,在reduce任務開始前,根據各節點的性能將中間數據初步劃分到不同的reduce節點,充分利用各節點的性能,提高集群的資源利用率;b)數據遷移,在reduce任務實際運行期間,通過監測各節點的實際運行情況,來動態調整各節點的負載率,進一步提高集群的并行效率。

2.3.1 數據預劃分

由于reduce階段每個reduce節點在拉取中間數據時是按照key的hash值進行拉取的,所以無法保證中間數據劃分的均衡性,從而導致數據傾斜,進而導致集群的并行效率過低。為了解決這一問題,本文首先根據各節點性能對中間數據進行預劃分,以保證中間數據劃分的均衡性,其具體步驟如下:

a)設集群中有n個reduce節點,其中節點Ni(i=1,2,…,n)的負載能力為Li,當前集群中reduce階段總任務量為Ttotal,則當集群達到負載均衡時,各節點應分得的任務量Ti為

2.5 算法時間復雜度

相較于單機器的訓練方式,Dis-CNN[14]算法采用并行計算的方式實現了模型的并行化訓練過程,具有更高的訓練效率;DS-DCNN[15]算法使用Alluxio來存儲中間數據,提升了模型的并行訓練效率;CLR-Distributed-CNN[16]算法使用周期學習率替代線性變化的學習率,提升了模型的并行訓練效率;RS-DCNN[18]算法通過異步更新各節點計算的梯度解決了集群相互等待的問題,提高了集群的并行效率。因此,本文選取Dis-CNN、DS-DCNN、CLR-Distributed-CNN以及RS-DCNN算法與PDCNN-SAMPSO算法進行時間復雜度分析和實驗對比。

PDCNN-SAMPSO算法的時間復雜度主要是由模型壓縮、模型并行訓練和參數并行更新這三個部分構成。這些部分的時間復雜度分別為:

a)模型壓縮階段。該階段的時間復雜度主要取決于KP-IS策略的時間復雜度。設模型有c個卷積層,fi表示第i卷積層輸出的特征圖數量,ni表示第i卷積層輸出特征圖的邊長,n′i和Si分別表示第i卷積層在計算特征聚集系數時滑動窗口的邊長和滑動步長,則使用KP-IS策略進行剪枝的時間復雜度T1為

b)模型并行訓練階段。該階段的時間復雜度主要取決于在各節點上執行MPT-AMPSO策略的時間復雜度。設迭代次數為Iter,k表示AMPSO算法初始化的粒子數,壓縮后的模型總參數量為w,則使用MPT-AMPSO策略進行模型并行訓練的時間復雜度T2為

c)參數并行更新階段。該階段的時間復雜度主要包括各reduce節點并行執行參數的合并。設map節點個數為a,reduce節點個數為b,模型總參數量為w,則參數并行組合階段的時間復雜度T3為

由于PDCNN-SAMPSO算法在模型訓練前對模型進行了有效剪枝,使得模型中第i卷積層的卷積核數量Ci大幅減少,從而大大降低了卷積運算的時間復雜度,即TConv-PDCNN-SAMPSO<

3 實驗結果與分析

3.1 實驗環境

為了驗證PDCNN-SAMPSO算法的性能表現,本文設計了相關實驗。在硬件方面,本實驗設置了8個計算節點,其中包含1個master節點和7個slaver節點。各節點的配置均為AMD Ryzen 5 5600X CPU、16 GB DDR4 RAM、NVIDIA RTX2080Ti GPU,并通過1 000 Mbps的以太網相連。在軟件方面,各節點的配置均為Ubuntu 18.04.6、Python 3.7、TensorFlow 1.14、JDK 1.8.0、Apache Hadoop 2.7.2、Spark 2.1.1。各節點具體配置如表1所示。

3.2 實驗數據

本文采用CIFAR-10、CIFAR-100、Emnist-Balanced和CompCars四個真實數據集。其中CIFAR-10和CIFAR-100都是由現實世界中真實物體的彩色圖像構成的數據集;Emnist-Balanced是源自NIST Speical Database 19的一個手寫字符數字數據集;CompCars是一個車輛數據集。各數據集的詳細信息如表2所示。

3.3 評價指標

3.3.1 加速比

加速比是指同一個任務在串行系統和并行系統中運行消耗時間的比率,用來衡量并行系統的性能和效果。加速比越大,算法并行程度越高。加速比的定義如下:

其中:Ts表示算法在串行系統的運行時間;Tm表示算法在并行系統的運行時間。

3.3.2 top-1準確率

top-1準確率是指正確標簽為模型輸出的最佳標簽的樣本數與總樣本數的比率,用來衡量模型的分類效果。top-1準確率越高,模型分類效果越好。top-1準確率的定義為

其中:Tb是正確標簽為模型輸出的最佳標簽的樣本數;N為總樣本數。

3.4 參數設置

在設置本文主要參數時,首先,對于文中引入的PSO算法[19]和Adam算法[20]中的參數均取算法一般值,即PSO算法中學習因子c1=c2=2,Adam算法中一階矩估計指數衰減率β1=0.9、二階矩估計指數衰減率β2=0.999。其次,對于本文所提主要參數的取值,通過參數對比實驗最終確定取值,參數對比實驗中使用CompCars數據集,集群節點數目為8。其中,本文主要參數為:a)模型壓縮階段中KP-IS策略滑動窗口的選取比例n′/n;b) 模型并行訓練階段MPT-AMPSO策略中慣性因子ω的最大最小值ωmax、ωmin。根據表3參數對比實驗結果,本文設置n′/n=15%,ωmax=1.3,ωmin=0.7。

3.5 算法可行性分析

3.5.1 消融實驗

為驗證PDCNN-SAMPSO算法中各策略的有效性,本文以算法的加速比作為評價指標,使用VGG-16作為訓練模型在CIFAR-10、CIFAR-100、Emnist-Balanced和CompCars數據集上進行了各策略的消融實驗。同時,為確保實驗結果的可靠性,將算法在每個數據集上獨立運行五次,并取其平均值作為最終的實驗結果,其中加速比為集群節點數目為8時的數據。實驗結果如表4所示。

從表4可以看出,PDCNN-SAMPSO算法中各策略均可顯著提升算法的加速比,其中KP-IS策略對算法加速比的提升效果最為明顯,且隨著數據集規模的增大,三個策略對算法加速比的提升效果更為明顯。其中,當處理小規模數據集CIFAR-10時,使用KP-IS、MPT-AMPSO和DLBNP策略分別比不使用這些策略時算法加速比提升了12.21%、7.01%、4.93%,且同時使用三個策略時算法加速比提升了18.56%。當處理大規模數據集CompCars時,使用KP-IS、MPT-AMPSO和DLBNP策略分別比不使用這些策略時算法加速比提升了17.01%、9.43%、9.27%,且同時使用三個策略時算法加速比提升了22.94%。產生這些結果的原因是:PDCNN-SAMPSO算法設計的KP-IS策略,通過剪枝冗余卷積核消除網絡中大量的冗余參數,極大地減少了冗余計算,同時MPT-AMPSO策略通過使用AMPSO算法初始化模型參數提升了模型的收斂速率,此外DLBNP策略通過均衡節點間負載,進一步提升了集群的并行效率,且這些提升在數據規模較大的情況下更為顯著。由此表明,KP-IS、MPT-AMPSO和DLBNP策略在大數據環境下具有良好的可行性與有效性。

3.5.2 PDCNN-SAMPSO算法可行性分析

為驗證PDCNN-SAMPSO算法在大數據環境下的可行性,本文以算法的加速比作為評價指標,對PDCNN-SAMPSO算法在CIFAR-10、CIFAR-100、Emnist-Balanced和CompCars數據集上進行了測試。同時,為確保實驗結果的可靠性,將算法在每個數據集上獨立運行五次,并取其平均值作為最終的實驗結果。實驗結果如圖4所示。

從圖4可以看出,PDCNN-SAMPSO算法隨著節點數的增加,其加速比總體呈現上升趨勢,且隨著四個數據集規模的增加逐步增長。其中當節點數為2時,PDCNN-SAMPSO算法在四個數據集上的加速比差異較小算法相比于單節點的加速比分別增加了0.721、0.636、0.885和0.922;當節點數為4時,算法相比于單節點的加速比分別增加了2.151、2.362、2.794和2.662;當節點數為8時,PDCNN-SAMPSO算法在各數據集上有了顯著提升,分別達到了3.758、4.012、4.359和4.836。可以看出在大規模數據集下,隨著節點數量的增加,PDCNN-SAMPSO算法的并行訓練效率也隨之逐漸提升。產生這些結果的原因是:a)PDCNN-SAMPSO算法設計了KP-IS策略,通過剪枝冗余卷積核消除網絡中大量的冗余參數,極大地提升了PDCNN-SAMPSO算法的并行訓練效率;b)PDCNN-SAMPSO算法設計了MPT-AMPSO策略,通過使用AMPSO算法初始化模型參數并使用Adam算法更新模型參數,進一步提升了模型的并行訓練效率。由此表明,PDCNN-SAMPSO算法在大數據環境下具有良好的可行性與有效性。

3.6 算法性能分析比較

3.6.1 算法運行時間分析

為驗證PDCNN-SAMPSO算法的時間復雜度,本文在上述四個數據集上對Dis-CNN[14]、DS-DCNN[15]、CLR-Distributed-CNN[16]和RS-DCNN[18]算法分別進行了五次測試,并取五次運行時間的均值作為最終的實驗結果。實驗結果如圖5所示。

從圖5可以看出,在對各數據集進行處理時,PDCNN-SAMPSO算法的運行時間始終保持最低,并且隨著數據規模的不斷上升,PDCNN-SAMPSO算法的運行時間相較于其他四種算法運行時間的差異比例也逐漸擴大。其中,當處理數據量較小的數據集CIFAR-10時,PDCNN-SAMPSO算法運行時間分別比Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法減少了13%、21%、33%和22%;當處理數據量較大的數據集CompCars時,PDCNN-SAMPSO算法運行時間分別比Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法減少了22%、30%、37%和27%。可以看出PDCNN-SAMPSO算法相較于Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法,運行時間更少,且隨著數據規模的增長,其他四種算法運行時間與它的差距也在逐步加大。產生這種結果的主要原因是:a)PDCNN-SAMPSO算法設計了KP-IS策略,通過剪枝冗余卷積核消除網絡中大量的冗余參數,從而降低了模型并行訓練的時間開銷,加快了算法的運行速度;b)PDCNN-SAMPSO算法設計了MPT-AMPSO策略,通過使用AMPSO算法初始化模型參數并使用Adam算法更新模型參數,進一步加快了算法的運行速度。由此表明,PDCNN-SAMPSO算法在大數據環境下擁有更優良的性能。

3.6.2 算法加速比實驗分析

為驗證PDCNN-SAMPSO算法在大數據環境下的并行性能,本文在上述四個數據集上對Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法在不同數目計算節點下分別進行了五次測試,并用五次運行時間的均值來計算各算法在不同數目計算節點下的加速比。實驗結果如圖6所示。

從圖6可以看出,在處理CIFAR-10、CIFAR-100、Emnist-Balanced和CompCars數據集時,各算法在四個數據集上的加速比隨著節點數量的增加都呈逐漸上升的趨勢,并且隨著數據規模的增大,PDCNN-SAMPSO算法在各數據集上的加速比與其他四種算法的差距也逐步增大。其中,在處理規模較小的數據集CIFAR-10時,如圖6(a)所示,各算法之間的加速比相差不大,且隨著計算節點數目從2個增加到8個,PDCNN-SAMPSO算法的加速比逐步超過了其他四種算法,當計算節點為8個時,分別比Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法的加速比高出了0.482、0.341、0.577和0.134。在處理數據規模較大的數據集CompCars時,如圖6(d)所示,隨著節點數量的不斷增加,PDCNN-SAMPSO算法的優勢逐漸凸顯,當計算節點為8個時,分別比Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法的加速比高出了1.707、1.424、1.859、0.922。產生這種結果的原因是:a)當處理規模較小的數據集時,模型并行訓練計算量較小,從而各節點間的通信時間開銷相對來說就變得很大,且當數據規模較小時,并行訓練對訓練效率的提升能力有限,從而導致PDCNN-SAMPSO算法的加速比提升不大;b)當處理規模較大的數據集時,PDCNN-SAMPSO算法設計了DLBNP策略,該策略均衡了各節點間的負載,提升了PDCNN-SAMPSO算法的并行效率,隨著計算節點的增加,相較于單機的并行效率逐步提升,從而提升了算法的加速比。由此表明,PDCNN-SAMPSO算法在大數據環境下相較于其他算法具有更好的并行性能。

3.6.3 算法top-1準確率實驗分析

為驗證PDCNN-SAMPSO算法的分類效果,本文以top-1準確率作為評價指標,將PDCNN-SAMPSO算法分別與Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法在CIFAR-10、CIFAR-100、Emnist-Balanced和CompCars四個數據集上進行了對比實驗。實驗結果如圖7所示。

從圖7可以看出,雖然在訓練初期PDCNN-SAMPSO算法相比其他四種算法的top-1準確率略低,但是隨著訓練輪次的不斷增加,PDCNN-SAMPSO算法比其他四種算法收斂速度更快且準確率更高。其中,在處理較小規模的數據集CIFAR-10上,如圖7(a)所示,PDCNN-SAMPSO算法在訓練輪次為50輪時便已經開始收斂,比Dis-CNN和RS-DCNN算法的收斂輪次快了10輪,比DS-DCNN和CLR-Distributed-CNN算法的收斂輪次快了20輪,且最終的top-1準確率分別比Dis-CNN、DS-DCNN、CLR-Distributed-CNN和RS-DCNN算法高了3.42%、1.59%、2.38%、4.97%。在處理較大規模的數據集Emnist-Balanced和CompCars上,如圖7(c)(d)所示,PDCNN-SAMPSO算法對比其他四種算法,在收斂速度和最終top-1準確率上提升更為明顯。產生這種結果的原因是:a)PDCNN-SAMPSO算法設計了KP-IS策略,通過剪枝冗余卷積核消除網絡中大量的冗余參數,由于剪枝完成后,模型需要一定的訓練輪次來恢復精度,所以在訓練初期模型精度會有所降低,但是隨著訓練輪次的增加,消除冗余參數所帶來的訓練速度和準確率的提升效果就會愈發顯著;b)PDCNN-SAMPSO算法設計了MPT-AMPSO策略,通過使用AMPSO算法初始化模型參數并使用Adam算法更新模型參數,進一步加快了算法的收斂速度和分類精度,且這種提升在數據規模更大的數據集上效果更為明顯。由此表明,PDCNN-SAMPSO算法在大數據環境下有著更為優良的分類性能。

4 應用場景

近年來,隨著遙感設備的不斷發展以及無人機的快速普及,遙感技術已經被廣泛應用于災害預測、環境監測、數字城市等各領域。與此同時,這也使得遙感數據規模呈爆炸式的增長,海量的遙感數據也意味著遙感大數據時代的到來[23],進而給遙感數據的有效信息提取帶來了巨大的挑戰[24]。PDCNN-SAMPSO針對DCNN算法在大數據環境的改進,給上述問題的解決提供了新的方向。圖8展示了將PDCNN-SAMPSO應用于遙感圖像分類的具體模型結構。

在該模型結構中, PDCNN-SAMPSO首先調用KP-IS策略剪枝預訓練的網絡模型,消除了過多的冗余參數,避免了后續信息提取過程中不必要的資源消耗;其次通過調用MPT-AMPSO策略加速了算法從遙感圖像中提取信息的速率;最后在Spark框架的并行期間調用DLBNP策略,進一步提升了信息提取效率,從而解決了在遙感大數據時代,傳統算法對遙感圖像中有效信息提取能力不足的問題。

5 結束語

針對傳統深度卷積神經網絡算法在大數據環境下的不足,本文提出了一種基于Spark和AMPSO的并行深度卷積神經網絡優化算法——PDCNN-SAMPSO。首先,設計了基于卷積核重要性和相似度的卷積核剪枝策略KP-IS,通過從卷積核重要性和相似度兩個維度對模型進行剪枝,解決了冗余參數過多的問題;其次,設計了基于自適應變異粒子群優化算法的模型并行訓練策略MPT-AMPSO,在該策略中先提出了一種自適應變異的粒子群優化算法AMPSO,通過使用AMPSO算法來初始化模型參數,接著再使用Adam算法對模型參數進行更新,解決了并行DCNN算法收斂速度慢和容易陷入局部最優的問題;最后,提出了基于節點性能的動態負載均衡策略DLBNP,通過評估各節點性能對中間數據進行預劃分,并在集群實際運行期間對各節點負載進行遷移調整,解決了集群并行效率低的問題。實驗表明,PDCNN-SAMPSO算法相較于其他算法,在處理大數據時具有更優的性能表現。雖然PDCNN-SAMPSO算法在大數據環境下的深度卷積神經網絡模型的并行訓練方面取得了不小的進步,但該算法在分類精度上仍存在一定的提升空間,未來的工作重點也將集中在卷積核剪枝標準的選擇方面,使其對模型的壓縮更為精準,從而進一步提升算法的分類精度。

參考文獻:

[1]Gu Jiuxiang, Wang Zhenhua, Kuen J, et al. Recent advances in convolutional neural networks[J].Pattern Recognition,2018,77:354-377.

[2]Russakovsky O, Deng Jia, Su Hao, et al. ImageNet large scale visual recognition challenge[J].International Journal of Computer Vision,2015,115(3):211-252.

[3]Sarma B D, Prasanna S R M. Acoustic-phonetic analysis for speech recognition: a review[J].IETE Technical Review,2018,35(3):305-327.

[4]Deng Jun, Xuan Xiaojing, Wang Weifeng, et al. A review of research on object detection based on deep learning[J].Journal of Physics:Conference Series,2020,1684(1):012028.

[5]Mo Yujian, Wu Yan, Yang Xinneng, et al. Review the state-of-the-art technologies of semantic segmentation based on deep learning[J].Neurocomputing,2022,493:626-646.

[6]Li Lixiang, Mu Xiaohui, Li Siying, et al. A review of face recognition technology[J].IEEE Access,2020,8:139110-139120.

[7]Mozaffari S, Al-Jarrah O Y, Dianati M, et al. Deep learning-based vehicle behavior prediction for autonomous driving applications:a review[J].IEEE Trans on Intelligent Transportation Systems,2020,23(1):33-47.

[8]Kaisler S, Armour F, Espinosa J A, et al. Big data: issues and challenges moving forward[C]//Proc of the 46th Hawaii International Conference on System Sciences.Piscataway,NJ:IEEE Press,2013:995-1004.

[9]Leung J, Chen Min. Image recognition with MapReduce based convolutional neural networks[C]//Proc of the 10th Annual Ubiquitous Computing,Electronics & Mobile Communication Conference.Pisca-taway,NJ:IEEE Press,2019:119-125.

[10]Wang Qicong, Zhao Jinhao, Gong Dingxi, et al. Parallelizing convolutional neural networks for action event recognition in surveillance videos[J].International Journal of Parallel Programming,2017,45(4):734-759.

[11]Li Binquan, Hu Xiaohui. Effective vehicle logo recognition in real-world application using MapReduce based convolutional neural networks with a pre-training strategy[J].Journal of Intelligent & Fuzzy Systems,2018,34(3):1985-1994.

[12]毛伊敏,張瑞朋,高波.大數據下基于特征圖的深度卷積神經網絡[J].計算機工程與應用,2022,58(15):110-116.(Mao Yiming, Zhang Ruipeng, Gao Bo. Deep convolutional neural network algorithm based on feature map in big data environment[J].Computer Engineering and Applications,2022,58(15):110-116.)

[13]Zaharia M, Xin R S, Wendell P, et al. Apache Spark: a unified engine for big data processing[J].Communications of the ACM,2016,59(11):56-65.

[14]Xu Jiangfeng, Ma Shenyue. Image classification model based on spark and CNN[C]//Proc of the 2nd International Conference on Material Engineering and Advanced Manufacturing Technology.2018.

[15]Li Chen, Jiang Linhua, Chen Xiaodong. A distributed CBIR system based on DCNN on Apache Spark and Alluxio[C]//Proc of International Conference on Image and Video Processing, and Artificial Intelligence.[S.l.]:SPIE,2018.

[16]Sun Yulu, Yun Bensheng, Qian Yaguan, et al. A Spark-based method for identifying large-scale network burst traffic[J].Journal of Computers,2021,32(4):123-136.

[17]Smith L N. Cyclical learning rates for training neural networks[C]//Proc of IEEE Winter Conference on Applications of Computer Vision.Piscataway,NJ:IEEE Press,2017:464-472.

[18]Boulila W, Sellami M, Driss M, et al. RS-DCNN: a novel distributed convolutional-neural-networks based-approach for big remote-sen-sing image classification[J].Computers and Electronics in Agriculture,2021,182:106014.

[19]Shi Yuhui, Eberhart R. A modified particle swarm optimizer[C]//Proc of IEEE International Conference on Evolutionary Computation and IEEE World Congress on Computational Intelligence.Piscataway,NJ:IEEE Press,1998:69-73.

[20]Kingma D P, Ba J. Adam: a method for stochastic optimization[EB/OL].(2017-01-30).https://arxiv.org/abs/1412.6980.

[21]杜曉昕,張劍飛,郭媛,等.基于柯西—高斯動態消減變異的果蠅優化算法研究[J].計算機工程與科學,2016,38(6):1171-1176.(Du Xiaoxin, Zhang Jianfei, Guo Yuan, et al. A fruit fly optimization algorithm with Cauchy-Gaussian dynamic reduction mutation[J].Computer Engineering and Science,2016,38(6):1171-1176.)

[22]Song Xiaoxin, Jian Ling, Song Yunquan. A chunk updating LS-SVMs based on block Gaussian elimination method[J].Applied Soft Computing,2017,51:96-104.

[23]劉偉權,王程,臧彧,等.基于遙感大數據的信息提取技術綜述[J].大數據,2022,8(2):28-57.(Liu Weiquan, Wang Cheng, Zang Yu, et al. A survey on information extraction technology based on remote sensing big data[J].Big Data Research,2022,8(2):28-57.)

[24]張兵.遙感大數據時代與智能信息提取[J].武漢大學學報:信息科學版,2018,43(12):1861-1871.(Zhang Bing. Remote sensing big data era and intelligent information extraction[J].Geomatics and Information Science of Wuhan University,2018,43(12):1861-1871.)

收稿日期:2023-03-31;修回日期:2023-04-25

基金項目:科技創新2030-“新一代人工智能”重大項目(2020AAA0109605);廣東省重點提升項目(2022ZDJS048);韶關市科技計劃資助項目(220607154531533)

作者簡介:劉衛明(1964-),男,江西新余人,教授,碩導,碩士,主要研究方向為大數據和數據挖掘;羅全成(1997-),男,河南信陽人,碩士研究生,主要研究方向為大數據和數據挖掘;毛伊敏(1970-),女(通信作者),新疆伊犁人,教授,碩導,博士,主要研究方向為大數據和數據挖掘(mymlyc@163.com);彭喆(1990-),男,湖南邵陽人,碩士研究生,主要研究方向為大數據和數據挖掘.

主站蜘蛛池模板: 欧美丝袜高跟鞋一区二区| 亚洲一区国色天香| 尤物亚洲最大AV无码网站| 久久综合激情网| 黄色成年视频| 波多野结衣一区二区三区88| 成人一区在线| 国产精品专区第一页在线观看| 特级毛片免费视频| 2020国产免费久久精品99| 国产精品永久久久久| 国产一区二区三区在线精品专区| 最新国产午夜精品视频成人| 国产波多野结衣中文在线播放| 亚洲天堂免费| 99精品一区二区免费视频| 日韩无码白| 一本综合久久| 亚洲va在线观看| 中文字幕无码中文字幕有码在线| 亚洲va在线观看| 亚洲精品国产乱码不卡| 无码人中文字幕| 在线视频97| 亚洲欧洲日韩久久狠狠爱| 国产精品女人呻吟在线观看| 欧美色99| 久久久久青草大香线综合精品 | 一区二区自拍| 亚洲欧州色色免费AV| 2021精品国产自在现线看| 国产激情无码一区二区三区免费| 国产麻豆福利av在线播放| 亚洲AV无码精品无码久久蜜桃| 国产精品一老牛影视频| 欧美成人免费| 91精品国产一区| 最新国产精品第1页| 婷婷亚洲最大| 亚洲无码37.| 婷婷综合缴情亚洲五月伊| 欧美一区二区精品久久久| 国产SUV精品一区二区6| 中文字幕无码制服中字| 片在线无码观看| 亚洲自拍另类| 91在线无码精品秘九色APP| 在线观看无码av免费不卡网站 | 欧美日韩v| 在线观看国产黄色| 制服丝袜一区二区三区在线| 丝袜高跟美脚国产1区| 色窝窝免费一区二区三区 | 欧美在线三级| 成人精品免费视频| 欧美五月婷婷| 免费女人18毛片a级毛片视频| 波多野衣结在线精品二区| 67194成是人免费无码| 亚洲av日韩综合一区尤物| 伊人福利视频| 国产一区二区人大臿蕉香蕉| 91久久国产综合精品| 国产精品久久久久久搜索| 四虎亚洲精品| 久久6免费视频| 国产一区免费在线观看| 四虎永久免费在线| 亚洲免费福利视频| 成人免费黄色小视频| 在线毛片网站| 一级黄色欧美| 亚洲天天更新| 欧美成人精品高清在线下载| 国产女同自拍视频| 国产亚洲欧美另类一区二区| 国产xx在线观看| 欧美亚洲激情| 99精品视频九九精品| 制服丝袜一区| 国产成人高清精品免费软件| 国产剧情一区二区|