姜寧
(延安大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,陜西 延安 716000)
大數(shù)據(jù)具有4V 特性,其變化速度快,模式多,價(jià)值高。由于大數(shù)據(jù)存在4V 的特性,傳統(tǒng)的分類方法和處理平臺(tái)很難實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的有效處理。近年來(lái),并行技術(shù)、特征選取和分類等技術(shù)的不斷發(fā)展,為大數(shù)據(jù)的處理開辟了新的思路。DCNN 在特征選擇、泛化、近似等方面都有很好的應(yīng)用,也是當(dāng)今分類技術(shù)的一個(gè)重要領(lǐng)域。雖然基于DCNN 的深度學(xué)習(xí)技術(shù)已經(jīng)在海量數(shù)據(jù)的分類中取得了巨大突破,但是如何有效減少網(wǎng)絡(luò)訓(xùn)練時(shí)間和空間復(fù)雜性仍是一個(gè)亟待解決的問題。DCNN 中存在大量的冗余參數(shù),在設(shè)計(jì)過程中會(huì)產(chǎn)生大量的時(shí)間和硬件開銷。冗余參數(shù)優(yōu)化是一種較為有效地降低冗余參數(shù)的方法,由于該方法能夠很好地實(shí)現(xiàn)數(shù)據(jù)壓縮,以此來(lái)保證數(shù)據(jù)的完整性,同時(shí)又能很好地抑制數(shù)據(jù)的過度擬合,引起人們的廣泛關(guān)注。為此,文章提出一種基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)冗余參數(shù)優(yōu)化算法。
針對(duì)大數(shù)據(jù)的特征提出一種基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)模型,該模型首先對(duì)分類器進(jìn)行訓(xùn)練,通過判斷其與對(duì)象數(shù)據(jù)之間的相似性來(lái)確定目標(biāo)數(shù)據(jù)的位置。借助分類器對(duì)各種對(duì)象進(jìn)行判別,無(wú)須經(jīng)常在線更新,從而極大地降低了網(wǎng)絡(luò)上反復(fù)更新、學(xué)習(xí)所帶來(lái)的計(jì)算量增多的現(xiàn)象?;诖髷?shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)模型如圖1所示。
圖1 基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)模型
從圖1可以看出,在深度卷積神經(jīng)網(wǎng)絡(luò)的非線性變換中,模型僅需兩種數(shù)據(jù),一種作為目標(biāo)數(shù)據(jù),一種作為查詢數(shù)據(jù)。該模型的主要工作是對(duì)兩組數(shù)據(jù)進(jìn)行相似性的計(jì)算,并利用相似度對(duì)兩組數(shù)據(jù)進(jìn)行訓(xùn)練。基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)模型主要由三個(gè)層次組成,分別是輸入層、隱藏層和輸出層:
(1)輸入層。輸入層的功能是把最小的數(shù)據(jù)矢量合并為一個(gè)矢量(即輸入的數(shù)值)。
(2)隱藏層。與普通神經(jīng)網(wǎng)絡(luò)相似,它的隱藏層輸出是由權(quán)重矩陣、偏置項(xiàng)以及輸入層向隱藏層輸入的。
(3)輸出層。輸出層的卷積神經(jīng)元數(shù)目與詞典長(zhǎng)度相等,而每一個(gè)神經(jīng)元的數(shù)值則表示下一個(gè)單詞的發(fā)生概率。
加權(quán)矩陣是一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的新方法,它代表了輸入層到輸出層的直接邊界加權(quán)矩陣。采用直接連線可以減少一半的迭代數(shù),否則可以把權(quán)重矩陣設(shè)為0。在訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)時(shí),采用正向傳播和逆向傳播兩種方式對(duì)加權(quán)進(jìn)行更新。不斷重復(fù)更新過程,直至整個(gè)網(wǎng)絡(luò)中出現(xiàn)最小的漏洞。通過不斷的優(yōu)化與更新,最終獲得相應(yīng)的矢量數(shù)據(jù)。
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)數(shù)量以幾何倍數(shù)增長(zhǎng)。除了重要的數(shù)據(jù)之外,大量的數(shù)據(jù)都是未經(jīng)處理的。同時(shí),數(shù)據(jù)的分散性也使得數(shù)據(jù)的采集工作變得異常困難。數(shù)據(jù)冗余是數(shù)據(jù)庫(kù)的一個(gè)重要特點(diǎn),為了改善大量冗余數(shù)據(jù)占用網(wǎng)絡(luò)存儲(chǔ)空間而影響整體網(wǎng)絡(luò)運(yùn)行效率的問題,提出了基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)冗余參數(shù)優(yōu)化方法。
在冗余數(shù)據(jù)數(shù)量較大特性的基礎(chǔ)上,對(duì)數(shù)據(jù)進(jìn)行了分類、提取、分析以及對(duì)訪問過程的判定。根據(jù)大數(shù)據(jù)集的特殊集合對(duì)三類集(即術(shù)語(yǔ)集、邊界集、殘差集)進(jìn)行大數(shù)據(jù)分割。其中術(shù)語(yǔ)集是對(duì)概念信息的描述,邊界集是對(duì)實(shí)體運(yùn)算和基礎(chǔ)概念之間關(guān)系的描述,而殘差集是對(duì)實(shí)體運(yùn)算的描述。利用邊界權(quán)法將剩余的殘差集轉(zhuǎn)化為帶有邊權(quán)的無(wú)向圖,可以實(shí)時(shí)反映訪問邊界的訪問數(shù)量。利用多層次分割法對(duì)海量數(shù)據(jù)進(jìn)行分割,并將一組單詞復(fù)制到相應(yīng)的分割模塊中。可以將海量數(shù)據(jù)劃分為不同的數(shù)據(jù)集合,當(dāng)權(quán)重過大時(shí),可以對(duì)其進(jìn)行分割。在加權(quán)過小的情況下,可以將數(shù)據(jù)劃分為多個(gè)重復(fù)的集合,以此完成大數(shù)據(jù)的劃分。
大數(shù)據(jù)間具有較高的相似度,數(shù)據(jù)結(jié)構(gòu)中的基本單位包含大量的數(shù)據(jù)屬性,這些數(shù)據(jù)屬性具有極高的相似度,為數(shù)據(jù)的冗余差分壓縮奠定了基礎(chǔ)。在數(shù)據(jù)性質(zhì)相近的情況下,相同的數(shù)據(jù)結(jié)構(gòu)單元具有相同的基本單元,這種極為相似的數(shù)據(jù)很難通過合并而構(gòu)成大數(shù)據(jù)集合。
假設(shè)大數(shù)據(jù)中存在種屬性,計(jì)算種屬性數(shù)據(jù)集合的冗余參數(shù)熵,公式為:
其中,表示種屬性中某個(gè)數(shù)據(jù)出現(xiàn)頻率最高的標(biāo)志,表示數(shù)據(jù)個(gè)數(shù)。
在不同的數(shù)據(jù)集中,使用不同的模板構(gòu)建一組相似的數(shù)據(jù),并將其與其他數(shù)據(jù)進(jìn)行比對(duì),確保在不同的數(shù)據(jù)集中,各數(shù)據(jù)間的相似度達(dá)到某種程度。熵越小,數(shù)據(jù)集之間的相似度越高,由此完成冗余參數(shù)壓縮。
為了優(yōu)化冗余參數(shù),利用深度卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練參數(shù)。在深度卷積神經(jīng)網(wǎng)絡(luò)中,有兩種訓(xùn)練參數(shù)的方法:梯度下降和隨機(jī)梯度下降。在具有大量數(shù)據(jù)的情況下,該方法存在訓(xùn)練迭代率較低,導(dǎo)致存儲(chǔ)空間不足等問題。隨機(jī)梯度下降方法能夠迅速地進(jìn)行訓(xùn)練,但由于資料的缺乏,容易造成過度擬合。為此,文章提出了一種批量隨機(jī)梯度下降算法。
批量隨機(jī)梯度下降算法是一種將兩種算法相結(jié)合的新方法,它能有效地提高模型的學(xué)習(xí)效率,減小每次迭代方差的影響。在批量隨機(jī)梯度下降算法中,學(xué)習(xí)速率和動(dòng)量是兩個(gè)參數(shù),通過調(diào)整學(xué)習(xí)速率可以有效地避免過度擬合,通過設(shè)定動(dòng)量可避免在最低處發(fā)生畸變。
為了在冗余參數(shù)優(yōu)化后提高參數(shù)的可用效率,提出一種基于批量的隨機(jī)梯度下降方法,用以訓(xùn)練該模型,使該模型的損失函數(shù)達(dá)到最大值。模型訓(xùn)練的目的就是要發(fā)現(xiàn)其與預(yù)期的差異,在輸出結(jié)果與期望值不符的情況下,可以反求各層的輸入與輸出之差,并將其分配到各單位。為了減小分析的誤差,采用批量隨機(jī)梯度下降算法對(duì)各層次的參數(shù)進(jìn)行精細(xì)調(diào)整。
根據(jù)平均排隊(duì)長(zhǎng)度,判斷擁擠程度與擁擠概率之間的關(guān)系。阻塞程度可用以下公式來(lái)表示:
其中,l表示在時(shí)間內(nèi)數(shù)據(jù)隊(duì)列的緩沖長(zhǎng)度,表示時(shí)間內(nèi)數(shù)據(jù)包到達(dá)速率的平均值,表示物理緩存長(zhǎng)度。
首先,按照(2)的定義,在隊(duì)列排隊(duì)狀態(tài)下,所有到達(dá)的報(bào)文都將被拋棄,在此情況下,丟棄概率為1,而在隊(duì)列排隊(duì)狀態(tài)為空的情況下,丟棄概率則為0。在不存在擁擠的情況下,若將最小值和最大值映射到平均排隊(duì)長(zhǎng)度,則會(huì)導(dǎo)致數(shù)據(jù)包丟失。在平均隊(duì)列超過75%的情況下,網(wǎng)絡(luò)中存在著擁擠現(xiàn)象。為了解決擁擠現(xiàn)象,使用隊(duì)列緩沖區(qū)進(jìn)行解決。對(duì)最小值和最大值進(jìn)行了優(yōu)化。
其次,網(wǎng)絡(luò)中的數(shù)據(jù)包容量受到限制。平均分組的處理時(shí)間與節(jié)點(diǎn)的分組處理速率和業(yè)務(wù)分組的平均分組速率相等。
最后,在排隊(duì)快速飽和時(shí),業(yè)務(wù)節(jié)點(diǎn)的數(shù)據(jù)包處理速度趨于與節(jié)點(diǎn)的上行率相近,也就是說,在出現(xiàn)擁塞時(shí),可以將節(jié)點(diǎn)的平均報(bào)文處理速度看作是節(jié)點(diǎn)的出現(xiàn)率。通過對(duì)每個(gè)回合的平均排隊(duì)長(zhǎng)度進(jìn)行調(diào)節(jié),降低了數(shù)據(jù)丟失概率的計(jì)算次數(shù)。
通過確定平均隊(duì)列長(zhǎng)度,能夠完成冗余參數(shù)優(yōu)化。
為了驗(yàn)證基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)冗余參數(shù)優(yōu)化算法研究的合理性,進(jìn)行實(shí)驗(yàn)驗(yàn)證分析。
實(shí)驗(yàn)硬件包括一個(gè)工作攻擊節(jié)點(diǎn)、七個(gè)任務(wù)攻擊節(jié)點(diǎn),所有節(jié)點(diǎn)的CPU 均為AMD,內(nèi)存為16 GB,通過1 Gbps 以太網(wǎng)連接攻擊節(jié)點(diǎn)。在Opnet 仿真環(huán)境中模擬網(wǎng)絡(luò)路由節(jié)點(diǎn)兩端的寬帶鏈路,人為制造網(wǎng)絡(luò)擁塞現(xiàn)象。使用YB-CA266型號(hào)存儲(chǔ)服務(wù)器存儲(chǔ)相關(guān)數(shù)據(jù),利用System x3650M3 型號(hào)備份服務(wù)器備份相關(guān)數(shù)據(jù),通過Windows 7 處理機(jī)處理相關(guān)數(shù)據(jù)。
選取7 個(gè)數(shù)據(jù)集,總大小為10 GB,這7 個(gè)數(shù)據(jù)集分別為#1、#2、#3、#4、#5、#6、#7,這7 個(gè)數(shù)據(jù)集的大小分別是2 GB、1 GB、0.5 GB、1.5 GB、1 GB、2 GB、2 GB。
對(duì)比分析冗余參數(shù)優(yōu)化、非優(yōu)化兩種情況下網(wǎng)絡(luò)存儲(chǔ)空間的大小,結(jié)果如表1所示。
表1 兩種情況下參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間大小
由表1可知,當(dāng)數(shù)據(jù)集為#1 時(shí),優(yōu)化后的冗余參數(shù)比非優(yōu)化的冗余參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間小2 GB;當(dāng)數(shù)據(jù)集為#2時(shí),優(yōu)化后的冗余參數(shù)比非優(yōu)化的冗余參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間小6 GB;當(dāng)數(shù)據(jù)集為#3 時(shí),優(yōu)化后的冗余參數(shù)比非優(yōu)化的冗余參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間小4 GB;當(dāng)數(shù)據(jù)集為#4 時(shí),優(yōu)化后的冗余參數(shù)比非優(yōu)化的冗余參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間小6 GB;當(dāng)數(shù)據(jù)集為#5 時(shí),優(yōu)化后的冗余參數(shù)比非優(yōu)化的冗余參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間小14 GB;當(dāng)數(shù)據(jù)集為#7 時(shí),優(yōu)化后的冗余參數(shù)比非優(yōu)化的冗余參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間小10 GB。由此可知,優(yōu)化后的冗余參數(shù)所占網(wǎng)絡(luò)存儲(chǔ)空間較小。
為了進(jìn)一步驗(yàn)證基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)冗余參數(shù)優(yōu)化算法研究的有效性,對(duì)比分析冗余參數(shù)優(yōu)化、非優(yōu)化兩種情況下參數(shù)的可用效率,對(duì)比結(jié)果如圖2所示。
由圖2可知,對(duì)于優(yōu)化的冗余參數(shù),參數(shù)可用效率最高可達(dá)92%,最低為80%;對(duì)于非優(yōu)化的冗余參數(shù),參數(shù)可用效率最高可達(dá)50%,最低為32%。由此可知,優(yōu)化后的冗余參數(shù)具有較高的參數(shù)可用效率。
圖2 兩種情況下參數(shù)可用效率
為了彌補(bǔ)傳統(tǒng)方法存在的不足,提出了基于大數(shù)據(jù)的深度卷積神經(jīng)網(wǎng)絡(luò)冗余參數(shù)優(yōu)化算法。通過所構(gòu)建的深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)訓(xùn)練,并對(duì)冗余參數(shù)進(jìn)行優(yōu)化。由實(shí)驗(yàn)結(jié)果可知,冗余參數(shù)優(yōu)化后所占網(wǎng)絡(luò)存儲(chǔ)空間較小,參數(shù)可用效率較高。在后續(xù)的研究進(jìn)程中,為了進(jìn)一步優(yōu)化網(wǎng)絡(luò)存儲(chǔ)空間,需要對(duì)冗余參數(shù)進(jìn)行消減,使網(wǎng)絡(luò)參數(shù)能夠適應(yīng)不同的環(huán)境需求,在保證網(wǎng)絡(luò)擁塞控制效果的同時(shí),降低算法計(jì)算的復(fù)雜程度。