一、文章摘要
隱寫術是一種在雙方之間進行秘密通信的技術。隨著深度神經(jīng)網(wǎng)絡(DNN)的快速發(fā)展,近年來越來越多的隱寫網(wǎng)絡被提出,并顯示出良好的性能。與傳統(tǒng)的手工隱寫工具不同,隱寫網(wǎng)絡的規(guī)模相對較大。如何在公共信道上秘密傳輸隱寫網(wǎng)絡引起了人們的關注,這是隱寫技術在實際應用中的關鍵階段。為了解決這一問題,本文提出了一種新的隱寫網(wǎng)絡隱寫方案。不像現(xiàn)有的隱寫方案,其重點是微妙的修改封面數(shù)據(jù),以適應秘密。我們建議將隱寫網(wǎng)絡(稱為秘密DNN模型)偽裝成執(zhí)行普通機器學習任務(稱為隱寫任務)的隱寫DNN模型。在模型偽裝過程中,我們在秘密DNN模型中選擇和調整一個過濾器子集,以保持其在秘密任務上的功能,其中剩余的過濾器根據(jù)部分優(yōu)化策略重新激活,將整個秘密DNN模型偽裝成一個隱寫DNN模型。秘密DNN模型可以在需要時從隱寫DNN模型中恢復。已經(jīng)進行了各種實驗來證明我們提出的方法在隱寫網(wǎng)絡和一般DNN模型的隱蔽通信方面的優(yōu)勢。
二、問題公式化
給定要偽裝的秘密DNN模型,我們的目標是選擇和調整過濾器的子集以保持秘密DNN的功能,其中剩余的過濾器被重新激活,使整個模型在普通機器學習任務(比如一個隱寫任務)上工作,以建立一個用于模型偽裝的隱寫 DNN模型。必要時可以從隱寫DNN模型中恢復秘密DNN模型,如圖2所示。
圖2 DNN模型偽裝與恢復的實例
我們將秘密和隱寫 DNN模型分別表示為Θ和~ Θ,其中~Θ是對Θ進行偽裝后的優(yōu)化。我們使用兩個數(shù)據(jù)集,一個秘密數(shù)據(jù)集和一個隱寫數(shù)據(jù)集對秘密和隱寫任務進行模型偽裝,表示為Dse = {xe,ye}和Dst = {xt,yt},其中xe,xt為樣本,ye,yt為標簽。我們進一步將模型偽裝過程表示為P,可以表示為
其中ΘS是為秘密任務選擇的子集,K是密鑰。有了隱寫深度神經(jīng)網(wǎng)絡模型,接收端可以通過以下方法恢復隱深度神經(jīng)網(wǎng)絡模型
其中Q為模型恢復。
對于隱蔽通信,P和Q的設計應滿足以下特性。
1)可恢復性:恢復的秘密DNN模型在秘密任務上的性能應與其原始版本相似。
2)準確度:對于隱寫任務,隱寫DNN模型的性能要高。
3)容量:隱寫DNN模型的大小不應比隱寫DNN模型擴展太多,以實現(xiàn)高效傳輸。
4)不可檢測性:攻擊者應該很難從隱寫DNN模型中識別出秘密DNN模型的存在。
三、提出的方法
我們的模型偽裝首先從秘密DNN模型的卷積層中選擇一個過濾器子集,這在秘密任務中很重要,但在隱寫任務中微不足道。然后,我們提出了一種局部優(yōu)化策略,從秘密DNN模型中獲得隱寫DNN模型。上述過程可以逐步執(zhí)行以獲得最佳性能。我們還提出了幾種策略來處理現(xiàn)實世界應用程序中其他層中的參數(shù)。
3.1 過濾器的選擇
假設秘密DNN模型(即Θ)包含L個卷積層,第L個卷積層中的濾波器可以表示為一個4維張量:Wl ?Rdl×cl×s 1×sl2,其中dl是濾波器的數(shù)量,每個濾波器包含cl個2維空間核。sl1和sl2分別對應內核的高度和寬度。將Wli,:,:,:表示為第l層中所有濾波器的第i個濾波器,將Wl:,j,:,:表示為第j個通道。忽略全連通層,我們有:Θ={W1,W2,···,WL},其中Wl={Wl1,:,:,:,Wl 2,:,:,:,··,Wldl,:,:,:}濾波器方向或Wl={Wl:,1,:,:,Wl:1,:,:,···,Wl:,cl,:,:}通道方向。
過濾器選擇的目的是選擇對秘密任務重要但對隱寫任務不重要的過濾器。在我們的討論中,我們把這樣的過濾器稱為模型偽裝中的重要過濾器。對于單個機器學習任務,研究表明,可以根據(jù)濾波器權重的梯度來衡量濾波器的重要性(Dai,Yin,和Jha 2019;Yang,Lao,和Li 2021)。然而,在我們的例子中,我們想要識別那些在秘密任務中包含大梯度而在隱寫任務中包含小梯度的權重的過濾器。對于秘密DNN模型Θ的第l卷積層的第i個濾波器,我們分別用GoEl i和GoTl i來衡量其對秘密任務和隱寫任務的重要性,其中
其中AVG返回三維張量的均值,Le和Lt分別是秘密任務和隱寫任務的損失函數(shù)。在這里,我們考慮了兩個連續(xù)卷積層之間的相關性。這是因為第l層的濾波器Wli,:,:,:生成的特征映射將與第(l+1)層的通道Wl+1i,:,:,:進行卷積。對于某個任務,Wli,:,:,:和Wl+1i,:,:,:的權重之間存在很強的相關性。因此,我們既要考慮當前濾波器中權值的梯度,也要考慮下一層相應通道中的權值梯度。然后計算濾波器對模型偽裝的重要性為
其中λg是用于平衡的重量。根據(jù)αli,我們從秘密DNN模型Θ中選擇最重要的N個用于模型偽裝的過濾器,形成執(zhí)行秘密任務的子集ΘS。
3.2 部分優(yōu)化
部分優(yōu)化的目的是使ΘS在秘密任務上工作,Θ在隱寫任務上工作。首先,我們對秘密數(shù)據(jù)集ΘS中的過濾器進行微調
其中λe為秘密任務的學習率。然后,我們凍結ΘS,重新初始化并重新激活隱寫數(shù)據(jù)集Dst上Θ中剩余的過濾器,用于以下優(yōu)化問題:
其中C是常數(shù)空間。為此,我們引入M,一個與Θ大小相同的二進制掩碼,用于部分優(yōu)化,以防止ΘS在反向傳播期間更新。設λt為隱寫任務的學習率,⊙表示逐元素乘積,對秘密DNN模型進行如下優(yōu)化,形成隱寫DNN模型~Θ:
其中Θ[i]為Θ中的第i個參數(shù)。
3.3 漸進式模型偽裝
為了從秘密DNN模型中訓練出具有良好性能的秘密和隱寫任務的隱寫DNN模型,我們建議從秘密DNN模型Θ中逐步選擇重要濾波器ΘS進行模型偽裝。特別是,我們從ΘS中迭代地選擇一組重要的過濾器來訓練隱寫 DNN模型,直到隱寫 DNN模型在秘密和隱寫任務上取得滿意的性能。
為了簡單起見,我們在第t次迭代中將重要的過濾器集表示為ΘSt,將偽裝的隱寫深度神經(jīng)網(wǎng)絡模型表示為~Θt,其中我們設置ΘS0 = Θ和~Θ0 = Θ進行初始化。在第t次迭代中,我們從ΘSt?1中選擇最重要的前Pt個過濾器形成ΘSt,用于訓練一個隱寫DNN模型~Θt,其中
其中λp < 1為衰減因子,V為Θ中濾波器的個數(shù)。我們終止迭代,直到隱寫DNN模型在秘密任務上的性能降低值大于τse,或者在秘密任務和隱寫任務上分別小于τse和τst。算法1給出了上述過程的偽代碼,其中αset和αstt為隱寫DNN模型在秘密任務和隱寫任務第t次迭代時的性能降低。
經(jīng)過漸進式模型偽裝后,我們將~Θ中每個過濾器的屬性記錄為L個二進制流B = {b1,b2,···,bL}。每個卷積層對應一個d1位二進制流bl,d1為該層中濾波器的個數(shù)。每個位對應一個過濾器,0表示屬于ΘS,否則為1。我們將B作為輔助信息,根據(jù)主機B的密鑰K,從隱寫DNN模型中隨機選擇一組參數(shù)。具體來說,我們將B的每一位嵌入到一個選定的參數(shù)中,如下所示。我們將參數(shù)轉換為整數(shù),并根據(jù)要隱藏的位翻轉其最低有效位。然后將隱含數(shù)據(jù)的參數(shù)反變換為浮點數(shù),完成嵌入過程。
在模型恢復中,接收方使用密鑰K從隱寫DNN模型中恢復輔助信息B,基于此我們可以識別重要的濾波器ΘS,為秘密任務建立秘密DNN模型。
3.4 隱藏其他層
批處理歸一化層。歸一化層,如批歸一化(BN) (Ioffe和Szegedy 2015)、組歸一化(GN) (Wu和He 2018)、層歸一化(LN) (Ba,Kiros,和Hinton 2016)和實例歸一化(IN) (Ulyanov,Vedaldi,和Lempitsky 2016),在加速模型訓練的收斂和性能提升方面發(fā)揮著至關重要的作用。所有這些歸一化層將根據(jù)一些特征統(tǒng)計對中間層的特征映射進行歸一化。BN在訓練過程中利用特征映射的移動平均均值和標準差,這在秘密學習任務和隱寫學習任務之間是完全不同的。因此,在使用BN時,我們將秘密DNN模型的相應特征統(tǒng)計信息作為隱藏到隱寫DNN模型中的輔助信息存儲在B中。其他類型的歸一化層,即GN,LN,IN,不會引入額外的開銷。
完全連接層。完全連接層在深度神經(jīng)網(wǎng)絡模型中非常常見,我們將其視為特殊的卷積層。對于具有f個神經(jīng)元的完全連接層,我們將其表示為f個過濾器,每個過濾器為c × 1 × 1張量,其中c是完全連接到該層的反向神經(jīng)元的數(shù)量。
輸出層自適應。在實際應用中,秘密深度神經(jīng)網(wǎng)絡模型和隱寫深度神經(jīng)網(wǎng)絡模型的輸出層的維度通常是不同的。為簡單起見,我們將秘密和隱寫 DNN模型的輸出層分別表示為layere和layert。我們進一步將layere和layert中的神經(jīng)元數(shù)量分別表示為Oe和Ot。當Oe < Ot時,我們對層進行上采樣,使其與層的維數(shù)相同,進行自適應。然而,當Oe > 0時,不適合直接下采樣本層,因為這種策略不可避免地會扭曲秘密DNN模型的功能。為了補救,我們建議在層中添加額外的神經(jīng)元,將其偽裝成倒數(shù)第二個全連接層。然后,我們新增一個與layert具有相同維數(shù)的最后一層進行自適應。圖3顯示了我們對不同情況的輸出層適配。不會將所有新添加的參數(shù)都選擇到ΘS中執(zhí)行秘密任務。
圖3 輸出層自適應
四、實現(xiàn)細節(jié)
我們對我們提出的方法進行了兩種類型的實驗:1)隱寫網(wǎng)絡的隱寫(SSN),其中秘密DNN模型是一個秘密解碼器,以及2)通用網(wǎng)絡的隱寫(SGN),其中秘密DNN模型是一個通用機器學習任務的DNN模型。
在SSN中,我們使用HiDDeN的秘密解碼器(Zhu等人2018)作為秘密任務的秘密DNN模型,并從COCO數(shù)據(jù)集1中隨機選擇11000張圖像組成秘密數(shù)據(jù)集,該數(shù)據(jù)集被分成10000/1000張圖像進行訓練和測試。我們使用原始和解碼的秘密信息之間的誤碼率(BER)作為秘密解碼器的性能指標。我們將GTSRB (Stallkamp等人 2012)分類任務作為模型偽裝的隱寫任務。我們使用GTSRB數(shù)據(jù)集作為隱寫數(shù)據(jù)集,其中隨機選擇80%/20%的圖像進行訓練/測試。我們采用分類精度(ACC)作為評價隱寫DNN模型性能的指標。
在SGN中,我們在兩個著名的DNN模型上評估了我們的方法:ResNet18 (He等人2016)和U-net (Ronneberger,F(xiàn)ischer,和Brox 2015)。對于ResNet18,我們將Fashion-MNIST (Xiao,Rasul,和Vollgraf 2017)分類任務作為秘密任務,將CIFAR10 (Krizhevsky,Hinton等人2009)分類任務作為模型偽裝的隱寫任務。對于秘密和隱寫數(shù)據(jù)集,我們使用它們的默認分區(qū)進行訓練和測試,其中ACC作為性能指標。
對于U-net,我們假設圖像去噪任務作為秘密任務,其中U-net在添加高斯噪聲后,在從ImageNet (Deng等人2009)隨機選擇10000/1000張圖像的秘密數(shù)據(jù)集上進行訓練/測試。我們計算峰值單噪聲比(PSNR)來評估去噪性能。我們將圖像分割任務作為模型偽裝的隱寫任務,其中采用oxford-pet數(shù)據(jù)集(Parkh等人2012)作為步進數(shù)據(jù)集。我們隨機將Oxford-Pet數(shù)據(jù)集分成三部分,包括6000張用于訓練的圖像,1282張用于驗證的圖像和100張用于測試的圖像。我們采用了平均交聯(lián)(mIOU)作為深度神經(jīng)網(wǎng)絡模型的性能指標。
對于SSN和SGN,我們設置λg=0.01, λe=λt=0.001, λp=0.9, τst=0.01。對于τse,我們分別為HiDDeN、ResNet18和U-net的秘密解碼器設置0.0001、0.01和0.5。我們通過Kaimig初始化重新初始化剩余的過濾器(He等人2015)。所有模型都以BN為歸一化層,并使用Adam (Kingma和Ba 2014)優(yōu)化器進行優(yōu)化。我們所有的實驗都是在Ubuntu 18.04系統(tǒng)上進行的,它有四個NVIDIA RTX 1080 Ti gpu。
論文地址:Steganography of Steganographic Networks文章來源:http://www.zghlxwxcb.cn/news/detail-825659.html
沒有公布源碼文章來源地址http://www.zghlxwxcb.cn/news/detail-825659.html
到了這里,關于圖像處理之《隱寫網(wǎng)絡的隱寫術》論文閱讀的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!