高培賢,魏立線,劉 佳,劉明明
1.武警工程大學(xué) 網(wǎng)絡(luò)與信息安全武警部隊(duì)重點(diǎn)實(shí)驗(yàn)室,西安 710086
2.武警工程大學(xué) 電子技術(shù)系,西安 710086
近年來(lái),信息隱藏已經(jīng)成為信息安全領(lǐng)域的重要課題之一,受到了學(xué)術(shù)界的廣泛關(guān)注。隱寫(xiě)分析技術(shù)是利用信息嵌入對(duì)原始載體統(tǒng)計(jì)特性的改變來(lái)判斷隱秘信息的存在性,從而檢測(cè)載體中是否嵌入了信息。傳統(tǒng)的隱寫(xiě)分析技術(shù)關(guān)鍵在于特征向量的選取,特征向量所包含的特征越多,就能夠更加全面地反映隱寫(xiě)技術(shù)對(duì)載體產(chǎn)生的噪聲。但是當(dāng)特征的數(shù)量過(guò)多時(shí),現(xiàn)有的分類(lèi)器大多數(shù)因?yàn)橛?xùn)練時(shí)間過(guò)長(zhǎng)而不再適用。
當(dāng)前,含多隱層感知器的深度學(xué)習(xí)在圖像識(shí)別領(lǐng)域取得了優(yōu)異的表現(xiàn),它通過(guò)組合低層特征形成更加抽象的高層表示屬性類(lèi)別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示[1],從而代替人工提取特征。因此,研究者開(kāi)始將深度學(xué)習(xí)應(yīng)用在圖像隱寫(xiě)分析領(lǐng)域,將特征提取和分類(lèi)器設(shè)計(jì)合為一步,極大地提高了隱寫(xiě)分析的效率。Xu等人[2]構(gòu)建了一個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型進(jìn)行圖像隱寫(xiě)分析,該模型包含了5層卷積層和一層全連接層,第一層卷積層后加入了一個(gè)絕對(duì)值層(ABS)來(lái)增強(qiáng)網(wǎng)絡(luò)后邊卷積層的學(xué)習(xí)能力,并且在激活函數(shù)前都使用了批量正規(guī)化層(BN)[3]來(lái)避免過(guò)擬合。該模型對(duì)S-UNIWARD嵌入算法的檢測(cè)錯(cuò)誤率僅為19.76%。但是,隨著CNN深度的增加,模型在訓(xùn)練過(guò)程中會(huì)發(fā)生梯度消失問(wèn)題。深度殘差網(wǎng)絡(luò)(ResNet)[4]的提出解決了網(wǎng)絡(luò)加深帶來(lái)的梯度消失問(wèn)題,通過(guò)殘差學(xué)習(xí)使得神經(jīng)網(wǎng)絡(luò)的深度可以很大程度的加深。2017年,Huang等人提出了密集連接網(wǎng)絡(luò)(DenseNet)[5],即網(wǎng)絡(luò)中每一層的輸入都來(lái)自前面所有層的輸出,實(shí)現(xiàn)了特征的重復(fù)利用。相比ResNet,DenseNet即解決了退化問(wèn)題,也加強(qiáng)了特征在網(wǎng)絡(luò)中的傳遞,有效提高了模型分類(lèi)效果。
為了獲得更高效率的圖像隱寫(xiě)分析模型,本文構(gòu)建了一個(gè)密集連接網(wǎng)絡(luò)模型(S-DCCN)進(jìn)行進(jìn)行圖像隱寫(xiě)分析,實(shí)驗(yàn)結(jié)果表明,相比空域富模型(SRM)[6]+集成分類(lèi)器(EC)[7]和Xu等人構(gòu)建的CNN模型,本模型的隱寫(xiě)分析準(zhǔn)確率分別提高了14.71%和14%。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)由卷積層、池化層以及全連接層和輸出層等組成,卷積層和池化層交替連接,即一個(gè)卷積層連接一個(gè)池化層,依此類(lèi)推。卷積層中輸出特征圖的每個(gè)神經(jīng)元與其輸入進(jìn)行局部連接,并通過(guò)對(duì)應(yīng)的連接權(quán)值與局部輸入進(jìn)行加權(quán)求和再加上偏執(zhí)值,得到該神經(jīng)元的輸入值[8]。如圖1所示,原始圖像進(jìn)入卷積層,由卷積層提取特征,然后由池化層來(lái)降低特征面的分辨率以獲得具有空間不變性的特征[9],最后由全連接層整合卷積層中具有類(lèi)別區(qū)分性的局部信息[10]進(jìn)行分類(lèi)。

圖1 傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)
深度卷積神經(jīng)網(wǎng)絡(luò)的提出引發(fā)了圖像分類(lèi)方法的一系列突破[11-13],通過(guò)增加網(wǎng)絡(luò)深度可以提取圖像更加抽象的特征,從而提高模型識(shí)別準(zhǔn)確率。但是,隨著CNN越來(lái)越深入,網(wǎng)絡(luò)在訓(xùn)練過(guò)程中會(huì)出現(xiàn)梯度消失問(wèn)題。為了確保網(wǎng)絡(luò)層間的最大信息流,DenseNet將每層網(wǎng)絡(luò)都與其他網(wǎng)絡(luò)層連接,每層網(wǎng)絡(luò)的輸入為前邊所有網(wǎng)絡(luò)層輸出的并集,該層的輸出又為后續(xù)網(wǎng)絡(luò)層的輸入,從而實(shí)現(xiàn)特征的重復(fù)利用。因此,L層CNN的連接次數(shù)為L(zhǎng),而L層DenseNet的連接次數(shù)為L(zhǎng)(L+1)/2。通過(guò)這種網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn),使得特征得以在深度網(wǎng)絡(luò)中更加有效和準(zhǔn)確的傳遞,同時(shí)也使得深度網(wǎng)絡(luò)更加容易訓(xùn)練[5]。
針對(duì)目前傳統(tǒng)的圖像隱寫(xiě)分析算法需要進(jìn)行人工提取特征再進(jìn)行分類(lèi)的問(wèn)題,本文構(gòu)建了一個(gè)S-DCCN模型進(jìn)行圖像隱寫(xiě)分析,如圖2,避免了人工提取特征。本模型使用了5組密集連接模塊,有效地解決了網(wǎng)絡(luò)加深帶來(lái)的退化問(wèn)題,提高了圖像隱寫(xiě)分析準(zhǔn)確率和泛化性能。

圖2 S-DCCN模型
如圖2所示,原始圖像進(jìn)入模型首先經(jīng)過(guò)高通濾波層(HPF),HPF層是一種特殊的卷積層,該卷積層是一維的5×5卷積核,權(quán)重參數(shù)為固定值F,HPF層的使用可以加快網(wǎng)絡(luò)模型的收斂速度,在本文實(shí)驗(yàn)部分可以證明。

經(jīng)過(guò)HPF層濾波后的圖像進(jìn)入預(yù)訓(xùn)練好的兩層卷積層。使用預(yù)訓(xùn)練好的卷積層可以避免模型在訓(xùn)練過(guò)程中發(fā)生過(guò)擬合[4]。隨后,特征圖進(jìn)入密集連接模塊,S-DCCN模型共采用了5組密集連接模塊,每組密集連接模塊含有5層卷積層,結(jié)構(gòu)如圖3所示。在密集連接模塊中,每個(gè)網(wǎng)絡(luò)層都實(shí)現(xiàn)了一組非線性變換HL(X),其中X為特征圖,L為第L層網(wǎng)絡(luò)層,HL函數(shù)為卷積層、批量正規(guī)化(BN)、激活函數(shù)(ReLU)等3個(gè)操作的組合,即:Conv?BN?ReLU。因此,第L層網(wǎng)絡(luò)的輸出為:

其中[X0,X1,…,XL-1]為特征圖的并集。因此,通過(guò)這種密集連接的方式縮短前面卷積層和后面卷積層之間的連接,使得最后一層可以直接用到原始輸入信息,同時(shí)還用到了之前層對(duì)原始信息非線性操作之后的信息,這樣可以做到對(duì)信息流動(dòng)的最大化。

圖3 密集連接模塊
在密集連接模塊中,特征圖是通過(guò)組合的方式在網(wǎng)絡(luò)中傳遞,因此密集連接模塊的輸出維度為所有卷積層中卷積核的個(gè)數(shù)之和,使得后續(xù)網(wǎng)絡(luò)層的輸入急劇增加。因此在相鄰密集連接模塊之間采用維度為12、大小為1×1的過(guò)渡層來(lái)控制網(wǎng)絡(luò)的寬度。
在模型的最后采用了兩層1 000維的全連接層,和一層損失函數(shù)層,全連接層的神經(jīng)元與上一層的神經(jīng)元進(jìn)行全連接,從而整合卷積層中可以區(qū)分類(lèi)別的局部信息。損失函數(shù)層采用的是Softmax損失函數(shù),將輸入分為兩類(lèi)。
S-DCCN模型使用了密集連接模塊,相比使用如圖4所示的殘差學(xué)習(xí)模塊,更加提高了隱寫(xiě)分析檢測(cè)效果。殘差學(xué)習(xí)模塊通過(guò)捷徑連接實(shí)現(xiàn)殘差學(xué)習(xí),將特征圖求和傳遞給下一層網(wǎng)絡(luò),其輸出為:

通過(guò)這種方式在深度殘差網(wǎng)絡(luò)中可以實(shí)現(xiàn)梯度的反向傳播,解決了梯度消失問(wèn)題,但是這種相加的方式會(huì)妨礙信息的流動(dòng)[5];而密集連接模塊是通過(guò)求模塊中所有層的特征圖的并集,如公式(1)所示,這種方法使得網(wǎng)絡(luò)中的特征和梯度可以在網(wǎng)絡(luò)中更好的傳遞,有效解決了隨著網(wǎng)絡(luò)加深帶來(lái)的梯度消失問(wèn)題,強(qiáng)化了特征的傳播,并且還支持特征重復(fù)使用。此外,每一層的特征圖都可以直接進(jìn)入損失函數(shù)層,從而實(shí)現(xiàn)深度監(jiān)督[14]。另一方面,S-DCCN還可以提高訓(xùn)練效率,網(wǎng)絡(luò)的每層都可以利用前面網(wǎng)絡(luò)層學(xué)到的特征,只需要學(xué)習(xí)很少的特征,所以可以將模型的網(wǎng)絡(luò)層的通道數(shù)[15]設(shè)計(jì)得特別窄,減少了模型在訓(xùn)練過(guò)程中的計(jì)算量,提高了模型的訓(xùn)練效率。

圖4 殘差學(xué)習(xí)模塊
為了更好地對(duì)比S-DCCN模型的優(yōu)越性,本文構(gòu)建了3種網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)對(duì)比:(1)由卷積層直接疊加構(gòu)成的平凡網(wǎng)絡(luò);(2)采用了殘差學(xué)習(xí)模塊的深度殘差網(wǎng)絡(luò);(3)本文的S-DCCN模型。3種網(wǎng)絡(luò)為同等深度的網(wǎng)絡(luò),除了卷積層連接方式不同,HPF層、卷積層維度、全連接層等條件都相同。在實(shí)驗(yàn)環(huán)境相同的條件下,對(duì)3種網(wǎng)絡(luò)分別進(jìn)行測(cè)試。
實(shí)驗(yàn)平臺(tái)采用深度學(xué)習(xí)開(kāi)源平臺(tái)caffe,在Windows下對(duì)S-UNIWARD嵌入算法進(jìn)行測(cè)試。數(shù)據(jù)集采用BOSSbase V1.01,圖像大小為128×128,訓(xùn)練樣本為3×104張載體圖像和3×104隱寫(xiě)圖像,測(cè)試樣本為1×104張載體圖像和1×104隱寫(xiě)圖像,為了防止某張圖像被多次調(diào)用,將圖像集中的順序打亂。
由于GPU內(nèi)存的限制,訓(xùn)練時(shí)最小批量大小為64,測(cè)試時(shí)最小批量大小為40。學(xué)習(xí)速率初始值為0.001,學(xué)習(xí)率變化策略為“inv”,避免了手動(dòng)調(diào)整學(xué)習(xí)率參數(shù),使學(xué)習(xí)率隨著迭代次數(shù)的增加自動(dòng)調(diào)整。沖量參數(shù)(momentum)為0.9,權(quán)值衰減(weight_decay)為0.004。
本文構(gòu)建的S-DCCN模型使用了5組密集連接模塊,卷積層共31層,為了更好地說(shuō)明深層網(wǎng)絡(luò)的優(yōu)越性,本文共對(duì)比了4種不同深度的密集連接網(wǎng)絡(luò),每種網(wǎng)絡(luò)除密集連接模塊個(gè)數(shù)不同外,其余條件都相同,實(shí)驗(yàn)結(jié)果如表1。由實(shí)驗(yàn)結(jié)果可知,隨著深度的增加,模型的隱寫(xiě)分析準(zhǔn)確率顯著增加,密集連接可以很好地解決網(wǎng)絡(luò)加深帶來(lái)的梯度消失和退化問(wèn)題。隨著模型深度的增加,網(wǎng)絡(luò)的參數(shù)也隨之增加,訓(xùn)練時(shí)長(zhǎng)會(huì)在一定程度上延長(zhǎng),但始終在可接受的范圍內(nèi)。本文的S-DCCN模型為GPU硬件(GTX960M)所能運(yùn)行的最深模型。

表1 模型深度對(duì)比結(jié)果
在圖像隱寫(xiě)分析領(lǐng)域,HPF層是一種特殊的卷積層,其可以大大加快模型在訓(xùn)練過(guò)程中的收斂速度,提高模型訓(xùn)練效率,S-DCCN模型有無(wú)HPF層的實(shí)驗(yàn)結(jié)果如表2,在模型迭代20 000次時(shí)無(wú)HPF層的模型Loss值過(guò)大,模型沒(méi)有收斂,而使用了HPF層的模型準(zhǔn)確率顯著增加,模型已經(jīng)收斂;池化層會(huì)減弱隱寫(xiě)產(chǎn)生的噪聲,因此,S-DCCN模型沒(méi)有使用池化層。在S-DCCN模型的過(guò)渡層后邊添加池化層與S-DCCN模型進(jìn)行對(duì)比,結(jié)果如表3,有池化層的模型對(duì)檢測(cè)準(zhǔn)確率會(huì)產(chǎn)生一定的影響,因此,本文沒(méi)有使用池化層。

表2 有無(wú)HPF層對(duì)比結(jié)果

表3 有無(wú)池化層對(duì)比結(jié)果
損失值代表著模型的擬合程度,圖5為3種模型的Loss值對(duì)比,從圖中可以看出,相同迭代次數(shù)下,由卷積層直接疊加的平凡網(wǎng)絡(luò)始終沒(méi)有收斂,這是由于梯度消失問(wèn)題造成的,而S-DCCN模型和殘差網(wǎng)絡(luò)模型均解決了梯度消失問(wèn)題,但S-DCCN模型的收斂速度明顯快于殘差網(wǎng)絡(luò),證明密集連接模塊通過(guò)強(qiáng)化特征傳播,相比殘差網(wǎng)絡(luò)更加加快了模型的收斂。

圖5 網(wǎng)絡(luò)訓(xùn)練損失值對(duì)比
為了更好地測(cè)試S-DCCN模型的泛化性能,本文設(shè)置了4種不同的嵌入率,在4種嵌入率下,3種不同網(wǎng)絡(luò)的隱寫(xiě)分析準(zhǔn)確率如表4所示,S-DCCN模型的識(shí)別效果明顯優(yōu)于其他兩種網(wǎng)絡(luò),也證明了該模型的泛化性能強(qiáng)于其他兩種網(wǎng)絡(luò)。

表4 S-DCCN模型不同嵌入率下檢測(cè)結(jié)果
相比傳統(tǒng)的隱寫(xiě)分析算法富模型+支持向量機(jī),S-DCCN模型省去了人工提取特征,有效提高了隱寫(xiě)分析效率,同時(shí)將隱寫(xiě)分析準(zhǔn)確率提高了14.71%;相比Xu等人構(gòu)建的5層CNN模型,本文模型加深了網(wǎng)絡(luò)深度,解決了梯度消失問(wèn)題,將圖像隱寫(xiě)分析準(zhǔn)確率提高了14%。

表5 與其他隱寫(xiě)分析方法對(duì)比結(jié)果
本文構(gòu)建了一個(gè)密集連接網(wǎng)絡(luò)的圖像隱寫(xiě)分析模型(S-DCCN)。該模型在增加了網(wǎng)絡(luò)深度的同時(shí)解決了梯度消失問(wèn)題。實(shí)驗(yàn)結(jié)果表明,利用該模型進(jìn)行隱寫(xiě)分析的準(zhǔn)確率高于淺層卷積神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)的隱寫(xiě)分析算法,同時(shí)避免了人工提取特征,提高了隱寫(xiě)分析效率。下一步將繼續(xù)優(yōu)化深度學(xué)習(xí)技術(shù)在隱寫(xiě)分析鄰域的通用性,進(jìn)一步提高隱寫(xiě)分析的檢測(cè)精度。