李暉,金家立,金紓羽,馬衛(wèi)嬌
(1.沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,遼寧 沈陽 110870;2.北京猿力未來科技有限公司,北京 100102;3.廣東東軟學(xué)院計(jì)算機(jī)學(xué)院,廣東 佛山 528225)
大數(shù)據(jù)時(shí)代下的信息安全已成為當(dāng)今社會(huì)的研究熱點(diǎn)之一。信息隱藏(也稱為隱寫術(shù))作為信息安全領(lǐng)域的關(guān)鍵技術(shù)能夠?qū)⒚孛苄畔⑶度牍_載體中。圖像[1-2]、視頻[3-4]、音頻[5-6]、文本[7-8]等數(shù)字多媒體信號(hào)是信息隱藏的常用載體。其中,文本是人們?nèi)粘I钍褂米顝V泛的傳輸媒介,為信息隱藏架起一座特殊的“隱蔽橋梁”。文本的低冗余性和高度信息編碼特性使文本隱寫方法具有重大的研究?jī)r(jià)值和現(xiàn)實(shí)意義。
文本隱寫方法主要分為基于修改式和基于生成式兩大類。第一類方法通過修改載體文本的格式或內(nèi)容來實(shí)現(xiàn)信息隱藏[9-12]。例如,改變文本間距[9]、更改字符屬性[10]、同義詞替換[11]、句法轉(zhuǎn)換[12]等。這類方法最大的缺陷在于安全性低,易被隱寫分析手段檢出。第二類方法則不需要事先準(zhǔn)備載體文本,而是在秘密信息的控制下,通過使用生成算法自動(dòng)生成隱寫文本[7-8,13-20],算法不同,生成的文本內(nèi)容也不同。該方法具有更強(qiáng)的抗隱寫分析能力和更高的隱藏容量(ER,embedding rate),成為近年來文本隱寫領(lǐng)域的前沿方向。
目前,基于生成式文本隱寫方法的實(shí)現(xiàn)過程可歸納如下。首先,使用大規(guī)模語料庫訓(xùn)練文本生成模型,使其能夠很好地捕獲自然語言的統(tǒng)計(jì)分布特征;其次,根據(jù)語言模型及構(gòu)建規(guī)則確定每一時(shí)刻的候選詞并計(jì)算相應(yīng)的條件概率;之后,采用不同的編碼方式對(duì)條件概率進(jìn)行編碼,以確定候選詞與碼字之間的映射關(guān)系;最后,根據(jù)秘密信息比特流確定每一時(shí)刻的輸出,在文本生成的過程中實(shí)現(xiàn)信息隱藏。雖然這種方法具有較高的隱藏容量,但也存在以下問題。第一,目前主流的隱寫模型大多采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network)或長(zhǎng)短時(shí)記憶(LSTM,long short-term memory)網(wǎng)絡(luò),生成的隱寫文本長(zhǎng)度有限并缺乏語義相關(guān)性。第二,在對(duì)候選詞進(jìn)行編碼時(shí),未能綜合考慮每種編碼方式各自的特點(diǎn),缺乏編碼靈活性。第三,隨著候選詞的增加,生成的隱寫文本質(zhì)量逐漸下降,會(huì)出現(xiàn)語法錯(cuò)誤、語義模糊等問題,大大降低了隱寫系統(tǒng)的安全性。
針對(duì)語義不相關(guān)、編碼靈活性低以及候選詞增加導(dǎo)致的隱寫文本生成質(zhì)量下降等問題,本文提出了一種基于自動(dòng)選擇編碼及動(dòng)態(tài)選詞策略的文本隱寫方法。該方法在機(jī)器翻譯的背景下完成信息隱藏。通過使用Transformer 模型捕獲文本的高維語義特征,使源語句和隱寫文本之間具有語義相關(guān)性。在翻譯的過程中,使用定長(zhǎng)編碼和哈夫曼編碼建立候選詞與碼字之間的映射關(guān)系,通過引入評(píng)分比較機(jī)制實(shí)現(xiàn)編碼方式的自動(dòng)選擇。此外,本文還引入了一種自適應(yīng)選詞策略,當(dāng)候選詞逐漸增加時(shí),能夠最大限度地減小隱寫文本與正常文本之間的差異。
本文的創(chuàng)新主要包括以下3 個(gè)方面。
1) 隱寫模型采用Transformer 模型。相比于RNN、LSTM 等時(shí)間序列預(yù)測(cè)模型,Transformer完全使用自注意力機(jī)制建立單詞之間的全局依賴關(guān)系。因此,能夠更好地捕獲語義信息,提升模型提取長(zhǎng)距離依賴特征的能力,從而生成語義清晰、邏輯相關(guān)的隱寫文本。
2) 綜合考慮了定長(zhǎng)編碼和哈夫曼編碼各自的特點(diǎn)。候選詞與碼字之間的映射關(guān)系建立之后,通過引入評(píng)分比較機(jī)制實(shí)現(xiàn)編碼方式的自動(dòng)選擇。
3) 為了緩解候選詞的增加對(duì)隱寫文本質(zhì)量的影響,設(shè)計(jì)了一種基于概率差異百分比的自適應(yīng)選詞策略。通過設(shè)置概率差異閾值動(dòng)態(tài)地選取迭代過程中的詞元。
基于生成式的文本隱寫方法具有較高的安全性和實(shí)用性。早期的方法主要基于語法規(guī)則或句子模板[21-22]。這類方法沒有考慮到語義,生成的隱寫文本質(zhì)量低。針對(duì)這一問題,基于統(tǒng)計(jì)語言模型的文本隱寫方法應(yīng)運(yùn)而生。在統(tǒng)計(jì)語言模型中[23],生成第i個(gè)詞語的條件概率與前i-1 個(gè)詞語有關(guān),當(dāng)序列長(zhǎng)度逐漸增加時(shí),模型的參數(shù)空間愈發(fā)復(fù)雜,數(shù)據(jù)稀疏現(xiàn)象較為嚴(yán)重,因此引入馬爾可夫假設(shè)來約束相關(guān)詞語的個(gè)數(shù)。對(duì)于序列其概率可以表示為
其中,ωi為序列中的第i個(gè)詞語,在每次的迭代過程中,可用極大似然估計(jì)來計(jì)算條件概率分布,即
馬爾可夫模型是一種經(jīng)典的統(tǒng)計(jì)語言模型,適合于自然文本的建模,因此出現(xiàn)了一些基于馬爾可夫模型的文本隱寫方法[13-15]。該模型具有一定的局限性,生成的隱寫文本質(zhì)量較低,易受到隱寫分析技術(shù)的檢測(cè)[24-25]。
隨著神經(jīng)網(wǎng)絡(luò)在自然語言處理領(lǐng)域的廣泛應(yīng)用,基于神經(jīng)網(wǎng)絡(luò)的文本隱寫方法相繼被提出。例如,F(xiàn)ang 等[16]使用RNN 進(jìn)行文本生成,將候選詞劃分成不同分組并進(jìn)行定長(zhǎng)編碼,根據(jù)秘密信息匹配相應(yīng)的編碼域并輸出分組中條件概率最大的單詞。Yang等[7]使用LSTM學(xué)習(xí)自然文本的統(tǒng)計(jì)特征,在生成的過程中根據(jù)候選詞的概率分布對(duì)其進(jìn)行定長(zhǎng)編碼或哈夫曼編碼,隱藏容量和隱寫文本質(zhì)量均達(dá)到最優(yōu)性能。Ziegler 等[8]使用GPT-2(generative pre-training 2.0)預(yù)訓(xùn)練模型進(jìn)行文本生成,在生成階段采用算術(shù)編碼策略,提高了隱寫文本中單詞的條件概率分布與正常文本之間的相似度。為了能夠生成具有特定語義信息的隱寫文本,Luo 等[17]使用基于RNN的編碼器-解碼器來生成高質(zhì)量的隱寫詩歌。Tong 等[18]同樣使用該模型在生成中文流行音樂歌詞的過程中隱藏秘密信息。Yang 等[19]將知識(shí)圖譜融入文本生成的過程中,通過對(duì)圖中路徑進(jìn)行哈夫曼編碼,實(shí)現(xiàn)對(duì)語義趨勢(shì)的控制,生成高質(zhì)量且語義可控的隱寫文本。Yang 等[20]使用基于RNN 的編碼器-解碼器和強(qiáng)化學(xué)習(xí)在實(shí)時(shí)交互式的問答中隱藏信息,在答復(fù)的過程中基于滿二叉樹對(duì)候選詞進(jìn)行定長(zhǎng)編碼,根據(jù)輸入語句自動(dòng)生成語義關(guān)聯(lián)、語法正確的隱寫對(duì)話。
機(jī)器翻譯保證了源語句與目標(biāo)語句之間的語義一致性,先后出現(xiàn)了一些基于機(jī)器翻譯的文本隱寫方法[26-28]。例如,Grothoff 等[26]使用統(tǒng)計(jì)機(jī)器翻譯模型傳遞秘密信息。該方法首先對(duì)同一源語句使用不同的翻譯系統(tǒng)獲取候選譯文集合;其次,根據(jù)候選譯文的分配概率進(jìn)行哈夫曼編碼;最后,根據(jù)待嵌入的秘密信息在集合中選取相應(yīng)的譯文,實(shí)現(xiàn)在翻譯的背景下完成信息隱藏。為了提高隱寫系統(tǒng)的安全性,Stutsman 等[27]只將翻譯之后的結(jié)果發(fā)送給接收者,避免了攻擊者對(duì)源語句的分析。該方法首先使用文獻(xiàn)[26]提出的方式來獲取不同的翻譯結(jié)果;其次,基于共享密鑰及哈希函數(shù)計(jì)算每個(gè)翻譯結(jié)果的哈希值;最后,根據(jù)秘密信息以及哈希值中的最低有效位匹配到相應(yīng)的隱寫譯文,接收者只需根據(jù)獲得的隱寫譯文計(jì)算其哈希值即可成功提取出秘密信息。與前2 種方法相比,Meng 等[28]使用一個(gè)統(tǒng)計(jì)機(jī)器翻譯模型來獲得候選語句,提高了候選譯文的相似度,具有更強(qiáng)的穩(wěn)健性和更大的隱藏容量。
上述基于機(jī)器翻譯的文本隱寫方法均使用統(tǒng)計(jì)機(jī)器翻譯模型,生成的隱寫譯文質(zhì)量較低。神經(jīng)網(wǎng)絡(luò)的發(fā)展掀起了新一輪機(jī)器翻譯領(lǐng)域的熱潮,在英-德、英-法等多個(gè)機(jī)器翻譯任務(wù)上均取得了優(yōu)越的性能[29-30]。神經(jīng)機(jī)器翻譯模型由編碼器-解碼器組成,編碼器將源語句編碼成固定維數(shù)的向量,解碼器根據(jù)該向量逐步生成目標(biāo)詞匯。RNN、LSTM或Transformer 均可作為編碼器和解碼器。由于Transformer 具有強(qiáng)大的表征能力且可以并行化計(jì)算,因此本文使用基于Transformer 的編碼器-解碼器來生成語義相關(guān)的隱寫譯文,以此提高翻譯準(zhǔn)確性。在信息嵌入階段,使用集束搜索(Beam Search)算法構(gòu)建每一時(shí)刻的候選詞,并對(duì)其進(jìn)行定長(zhǎng)編碼及哈夫曼編碼。通過比較2 種隱寫譯文的評(píng)分大小,動(dòng)態(tài)選擇翻譯語句的編碼方式,生成流暢度高、可讀性強(qiáng)的隱寫譯文。通過比較概率差異百分比和閾值的大小,自適應(yīng)選取每一時(shí)刻的輸出,以此降低候選詞的增加對(duì)隱寫譯文生成質(zhì)量的影響。
Transformer 是由Google 在2017 年提出的一種堆疊的編碼器-解碼器結(jié)構(gòu)模型[31]。編碼器由多頭注意力(multi-head attention)機(jī)制和前饋網(wǎng)絡(luò)(FFN,feed forward network)兩大子層組成,解碼器由掩碼多頭注意力(masked multi-head attention)機(jī)制、多頭注意力機(jī)制及FFN 三大子層組成,每個(gè)子層后面使用殘差連接和層標(biāo)準(zhǔn)化等方法。
Transformer 不包含循環(huán)結(jié)構(gòu)的遞歸、卷積操作,而是使用自注意力機(jī)制捕獲詞語的語義特征,因而缺乏位置信息的感知功能。通過使用頻率變化的正弦波引入位置編碼,使模型能夠?qū)γ總€(gè)詞語的位置及其之間的距離進(jìn)行有效建模,計(jì)算過程為
為了提取更豐富的數(shù)據(jù)特征,Transformer 使用多頭注意力機(jī)制將Q、K、V線性映射到多個(gè)子空間中,并獨(dú)立地計(jì)算每個(gè)子空間的注意力權(quán)重。最終使用輸出權(quán)重矩陣將各個(gè)結(jié)果進(jìn)行拼接。計(jì)算過程為
其中,h為子空間的數(shù)量,dv為V的維度,Zi表示某一個(gè)子空間的計(jì)算結(jié)果,其可用式(6)進(jìn)行計(jì)算。
經(jīng)過多頭注意力機(jī)制后,模型可獲取不同角度的語義信息,再將輸出經(jīng)FFN 做進(jìn)一步處理,即
解碼器的結(jié)構(gòu)與編碼器大致相同,其不同之處主要體現(xiàn)在掩碼多頭注意力機(jī)制上。該機(jī)制能夠阻止未來時(shí)刻的輸出所產(chǎn)生的影響。解碼器中還包含編碼器-解碼器交互子模塊,其中的K、V來自編碼器,而Q來自解碼器,使模型在解碼的過程中能夠找到與源語句相關(guān)性強(qiáng)的詞語。
解碼器的解碼方式包括基于搜索式和基于采樣式兩大類。前者中的Beam Search 是一種基于圖的啟發(fā)式搜索算法,廣泛應(yīng)用于機(jī)器翻譯、知識(shí)問答、語音識(shí)別等領(lǐng)域。其基本思想是在每一步深度擴(kuò)展的過程中,只選取條件概率最大的前B個(gè)解,B為集束大?。˙S,beam size),其余輸出則進(jìn)行截?cái)?,從而減小了內(nèi)存消耗,提高了搜索效率。具體流程如下。假設(shè)在t-1 時(shí)刻,模型得到B個(gè)候選序列在t時(shí)刻,集束搜索根據(jù)已有的B個(gè)候選序列Y[t]1-分別與詞表v中的每個(gè)詞進(jìn)行組合,即最終從生成的序列中保留B個(gè)條件概率最高的序列作為即,計(jì)算過程為
本文提出的文本隱寫方法包括信息隱藏和信息提取兩大部分,隱寫模型整體架構(gòu)如圖1 所示。在信息隱藏階段,首先使用Transformer 編碼器獲得源語句對(duì)應(yīng)的語義向量,解碼器根據(jù)該向量逐步生成目標(biāo)詞元;其次,使用Beam Search 算法在譯文生成的過程中構(gòu)建候選詞,選擇相應(yīng)的隱寫編碼方法對(duì)候選詞進(jìn)行編碼;之后,在秘密信息的控制下,選取候選詞中與之對(duì)應(yīng)的詞元,通過動(dòng)態(tài)選詞策略確定實(shí)際的輸出詞元,直至遇到結(jié)束標(biāo)識(shí)符<EOS〉或到達(dá)序列的最大長(zhǎng)度;最后,將輸出的BPE(byte pair encoding)序列[32]分別進(jìn)行解碼,經(jīng)評(píng)分比較機(jī)制實(shí)現(xiàn)編碼方式的自動(dòng)選擇,發(fā)送方將最終生成的隱寫譯文和相關(guān)介質(zhì)在公開信道上發(fā)送給接收方。秘密信息的提取過程與嵌入過程相反,接收方需使用相同參數(shù)的Transformer 模型,并采用相同的方法進(jìn)行解碼,以便正確提取出秘密信息。
圖1 隱寫模型整體架構(gòu)
基于滿二叉樹的定長(zhǎng)編碼(FLC,fixed-length coding)和基于哈夫曼樹的變長(zhǎng)編碼(VLC,variable-length coding)是2 種常見的編碼方式,已被廣泛應(yīng)用于生成式文本隱寫術(shù)中[7,16,19]。在FLC 中,每個(gè)內(nèi)部節(jié)點(diǎn)包含2 個(gè)子節(jié)點(diǎn),并且所有葉子節(jié)點(diǎn)具有相同的深度。在VLC 中,各符號(hào)出現(xiàn)的概率對(duì)應(yīng)不同長(zhǎng)度的碼字,使概率較大的符號(hào)具有較短的碼字,因此VLC 是一種最優(yōu)前綴碼。在編碼之前,本文使用Beam Search 算法選取前BS 個(gè)詞元組成候選詞CP,即在 FLC 中,需滿足,嵌入率bpw 為每詞元可嵌入秘密信息的比特?cái)?shù)。而在VLC 中,只需根據(jù)候選詞的條件概率構(gòu)造一棵哈夫曼樹,并對(duì)葉子節(jié)點(diǎn)進(jìn)行哈夫曼編碼即可 。因 此,在bpwBS=2的條件 下,,而VLC 充分考慮了每次迭代過程中候選詞的條件概率分布,生成的隱寫文本質(zhì)量更加優(yōu)越。由此可見,若注重嵌入率,F(xiàn)LC 更有效;若注重生成的隱寫文本質(zhì)量,則VLC 更有效。本文旨在通過自動(dòng)選擇編碼策略實(shí)現(xiàn)FLC 和VLC 的自動(dòng)選擇,以同時(shí)具備2 種編碼方式各自的優(yōu)點(diǎn)。
編碼完成后,根據(jù)秘密信息輸出每一時(shí)刻候選詞中與之對(duì)應(yīng)的詞元,直至遇到結(jié)束條件或到達(dá)序列的最大長(zhǎng)度。隨后依次組合全部輸出,將BPE 序列解碼后獲得2 種隱寫譯文,并通過評(píng)分比較機(jī)制實(shí)現(xiàn)編碼方式的自動(dòng)選擇。該機(jī)制如圖2 所示。
圖2 評(píng)分比較機(jī)制
BLEU(bilingual evaluation understudy)是機(jī)器翻譯領(lǐng)域常用的評(píng)估指標(biāo)之一[33],用來衡量模型的翻譯結(jié)果與實(shí)際目標(biāo)語句之間的相似度。BLEU 越大,生成的文本質(zhì)量越優(yōu)越。計(jì)算過程為
其中,BP 為懲罰因子,可用式(11)進(jìn)行計(jì)算。
其中,c為模型翻譯的預(yù)測(cè)句長(zhǎng)度,r為參考句的有效長(zhǎng)度,N為預(yù)測(cè)句與參考句在匹配時(shí)的n-gram 最大窗口大小為標(biāo)準(zhǔn)化權(quán)重。pn為生成的預(yù)測(cè)句與參考句的匹配精度,即
其中,Candidates 表示候選譯文集合;n-gram 為n元文法,表示語句中連續(xù)n個(gè)詞所組成的序列;Countdip表示某一個(gè)n-gram 的截?cái)嘤?jì)數(shù)。
BLEU 是一種參數(shù)化度量,參數(shù)的變化也會(huì)導(dǎo)致該值發(fā)生變化,從而缺乏可比較性。文獻(xiàn)[34]提出了一種度量?jī)?nèi)部標(biāo)記化和規(guī)范化的方案Sacrebleu,其內(nèi)部具有一套標(biāo)準(zhǔn)的處理體系,能夠生成可比較的BLEU。本文將Sacrebleu 作為編碼方式的選擇依據(jù),分別計(jì)算生成的2 種隱寫譯文Sacrebleu 并比較兩者大小,選取較大者對(duì)應(yīng)的編碼方式作為當(dāng)前翻譯語句的實(shí)際編碼方式,若兩者相等,則選取VLC。上述方法能夠?qū)崿F(xiàn)編碼方式的自動(dòng)選擇,自動(dòng)選擇編碼過程如圖3 所示。
圖3 自動(dòng)選擇編碼過程
集束搜索需要將上一時(shí)刻的B個(gè)候選序列與詞庫進(jìn)行組合,從中輸出B個(gè)條件概率最大的擴(kuò)展并組成序列。在每次迭代的過程中,將生成的詞元后綴作為候選詞,秘密信息的嵌入會(huì)造成已有候選序列與生成詞元前后相關(guān)性弱的問題,大大降低生成的隱寫譯文質(zhì)量。為此,本文引入動(dòng)態(tài)選詞策略,如圖4 所示。
圖4 動(dòng)態(tài)選詞策略
3w;反之,則選取輸入前綴w1。依次類推,直至序列生成結(jié)束。
序列生成結(jié)束后,對(duì)其進(jìn)行反向搜索,最大限度地保證前后詞元的依賴關(guān)系。例如,當(dāng)t=3 時(shí),輸出隱寫詞元w1,其對(duì)應(yīng)的輸入前綴為w4,而t=2時(shí)的隱寫詞元為w2,因此也需根據(jù)式(13)計(jì)算ph。若則t=2 時(shí)仍然輸出w2;反之,則輸出w4。經(jīng)過前向和反向搜索,實(shí)現(xiàn)了詞元的動(dòng)態(tài)選擇,有效減小了秘密信息的嵌入對(duì)生成隱寫譯文質(zhì)量的影響。
在進(jìn)行前向和反向搜索時(shí),候選詞中會(huì)出現(xiàn)詞元相同而條件概率不同的情況,假定為t時(shí)刻隱寫詞元對(duì)應(yīng)輸入前綴的條件概率,為時(shí)刻隱寫詞元的條件概率。當(dāng)時(shí),,也需計(jì)算兩者的概率差異百分比,以解決“同詞不同值”的問題。
本文使用Beam Search 算法構(gòu)建每一時(shí)刻的候選詞,并對(duì)其中的詞元進(jìn)行編碼以完成秘密信息的嵌入。圖5 所示為BS=4 時(shí),在生成第2 個(gè)詞元的過程中嵌入秘密信息的示意。源語句經(jīng)編碼器映射為相應(yīng)的語義向量,對(duì)其進(jìn)行復(fù)制擴(kuò)展并傳送到解碼器中。假設(shè)t=2 時(shí)的候選序列集合為經(jīng)過Linear+Softmax 層之后,每個(gè)序列分別與詞表v進(jìn)行組合,獲得4 種概率分布空間,最終根據(jù)式(9)選取條件概率最大的前4 個(gè)序列組成Y[3],即其中表示將單詞作為序列的后綴進(jìn)行拼接。本文對(duì)生成的4 個(gè)后綴進(jìn)行編碼,根據(jù)秘密信息輸出與之對(duì)應(yīng)的詞元,實(shí)現(xiàn)了在譯文生成的過程中嵌入秘密信息。
圖5 在生成第2 個(gè)詞元的過程中嵌入秘密信息的示意(BS=4)
信息提取與嵌入過程相反。發(fā)送者需要使用相同參數(shù)的模型,使接收者能夠?qū)υ凑Z句進(jìn)行正確翻譯。在翻譯的過程中,需采用相同的Beam Search算法構(gòu)建候選詞。為了能夠正確提取出秘密信息,接收者還需共享pi,其主要目的如下。第一,在機(jī)器學(xué)習(xí)的多分類任務(wù)中,常用Softmax 函數(shù)將模型的輸出結(jié)果映射到(0,1)范圍內(nèi),為了防止數(shù)據(jù)下溢,本文采用Beam Search 算法將條件概率轉(zhuǎn)換成對(duì)數(shù)形式,使其取值范圍變?yōu)?-∞,0) 。因此,接收者可以根據(jù)條件概率的2 種表示形式判斷某句隱寫譯文實(shí)際采用的編碼方式。例如,編碼方式若采用FLC,則將pi以對(duì)數(shù)形式返回給接收者,若采用VLC,則將pi以非對(duì)數(shù)形式返回給接收者,上述過程實(shí)現(xiàn)了編碼方式的自動(dòng)選擇。第二,候選詞中會(huì)出現(xiàn)相同的詞元,接收者可以根據(jù)pi找到真正攜帶秘密信息詞元,通過讀取其對(duì)應(yīng)的二進(jìn)制編碼即發(fā)送者嵌入的秘密信息。第三,動(dòng)態(tài)選詞策略導(dǎo)致某一時(shí)刻未能正確嵌入秘密信息,因此接收者可根據(jù)ip查找該時(shí)刻正確嵌入的秘密信息。第四,接收者可根據(jù)pi判斷某一時(shí)刻與之對(duì)應(yīng)的詞元是否在候選詞中,以此來判定當(dāng)前時(shí)刻是否攜帶秘密信息。具體提取算法如算法2 所示。
本文選取WMT 2014 英德翻譯任務(wù)中所有可用的并行數(shù)據(jù)作為訓(xùn)練集,其中包含Europarl v7數(shù)據(jù)集(約192 萬個(gè)句子對(duì))、Common Crawl 數(shù)據(jù)集(約240 萬個(gè)句子對(duì))以及News Commentary v9 數(shù)據(jù)集(約20 萬個(gè)句子對(duì)),并按照以下標(biāo)準(zhǔn)過濾訓(xùn)練集。
1) 源語句和目標(biāo)語句及其BPE 編碼的有效長(zhǎng)度控制分別控制在(1,80)和(3,150)范圍內(nèi)。
2) 目標(biāo)語句BPE 編碼長(zhǎng)度與源語句BPE 編碼長(zhǎng)度的比值在(0.5,2)范圍內(nèi)。
3) 去掉空白語句。
按照上述標(biāo)準(zhǔn)過濾后,訓(xùn)練集大約包含423 萬個(gè)句子對(duì),每條英文語句與德文語句的平均分詞長(zhǎng)度分別為23 和21。驗(yàn)證集選擇newstest 2013,測(cè)試集選擇newstest 2014,將2 個(gè)數(shù)據(jù)集的有效長(zhǎng)度控制在(1,80)范圍內(nèi)。隨后使用Moses 腳本對(duì)過濾之后的訓(xùn)練集、驗(yàn)證集和測(cè)試集做進(jìn)一步處理,包括Normalize punctuation、Truecase 等操作。數(shù)據(jù)集使用BPE 編碼分割成子詞符號(hào),其中包含37 000 個(gè)共享源-目標(biāo)詞匯。將BPE 編碼長(zhǎng)度相同的句子對(duì)組合在一起,每個(gè)訓(xùn)練批次平均包含大約10 萬個(gè)目標(biāo)詞元。
本文使用Pytorch 1.6.0 仿真平臺(tái),編程語言為Python 3.6.5,基于NVIDIA Tesla V100 32 GB x1 和CUDA 10.1 加快訓(xùn)練Transformer 模型,對(duì)其共訓(xùn)練16 萬步,累計(jì)12 步更新一次梯度。在訓(xùn)練的過程中,學(xué)習(xí)率的變化為文獻(xiàn)[31]的2 倍,其余的參數(shù)配置與文獻(xiàn)[31]相同,本文通過平均最后5 個(gè)檢查點(diǎn)得到最終的翻譯模型。
隱寫算法性能的評(píng)價(jià)指標(biāo)主要體現(xiàn)在不可感知性和隱藏容量?jī)纱蠓矫?。不可感知性主要取決于生成的隱寫文本質(zhì)量,隱藏容量主要取決于在文本中嵌入的秘密信息量。本文使用Sacrebleu 評(píng)估模型的翻譯準(zhǔn)確性,該值越大,隱寫文本質(zhì)量就越高。隱藏容量定義為實(shí)際嵌入的比特?cái)?shù)除以計(jì)算機(jī)中所有生成文本所占的比特?cái)?shù),該值越大,模型的嵌入能力就越強(qiáng)。
3.2.1 自動(dòng)選擇編碼策略對(duì)不可感知性影響
嵌入秘密信息前,本文討論了BS 的取值和可調(diào)參數(shù)α對(duì)測(cè)試集目標(biāo)語句Sacrebleu 的影響,結(jié)果如表1 所示。嵌入秘密信息后,每一時(shí)刻輸出特定的隱寫詞元,α不再影響生成的隱寫譯文質(zhì)量,bpw 和Sacrebleu 的變化情況如表2 所示。其中,F(xiàn)VLC(fixed-and variable-length coding)是在FLC和VLC 的共同作用下將秘密信息嵌入目標(biāo)詞元中,自動(dòng)選擇編碼策略對(duì)實(shí)驗(yàn)結(jié)果的影響可以直接體現(xiàn)在FVLC上。由于本文提出的編碼方式包含VLC,導(dǎo)致bpw 不確定,因此本文計(jì)算了生成的每個(gè)詞元所嵌入的平均比特?cái)?shù)。
表1 嵌入秘密信息前生成目標(biāo)語句的Sacrebleu
表2 嵌入秘密信息后生成隱寫譯文的bpw 和Sacrebleu
基于以上結(jié)果,可以得出如下結(jié)論。嵌入秘密信息前,適當(dāng)增加波束和α可以提高翻譯質(zhì)量,Sacrebleu 的最大值為27.41。嵌入秘密信息后,采用3 種方式生成隱寫譯文的Sacrebleu 均隨著BS 的增加而減小,且無論BS 大小如何,采用FVLC 生成隱寫譯文的Sacrebleu 最大。原因是每個(gè)詞元可嵌入的比特?cái)?shù)隨著BS 的增加而增加,bpw 逐漸增大。在每次迭代的過程中,輸出對(duì)象受秘密信息的控制程度逐漸加大,增加了隱寫譯文與實(shí)際譯文之間的差異。FVLC 綜合考慮了FLC 和VLC 各自的編碼特性,且以Sacrebleu 的大小作為編碼方式的選擇依據(jù),因此生成的隱寫譯文質(zhì)量更加優(yōu)越。
為了進(jìn)一步驗(yàn)證自動(dòng)選擇編碼策略對(duì)不可感知性的影響,本文與文獻(xiàn)[35]進(jìn)行了對(duì)比分析,結(jié)果如表3 所示。
表3 不同方法BLEU 對(duì)比
從表3 可以看出,在未嵌入秘密信息的前提下,Transformer 模型可以生成更高質(zhì)量的譯文。嵌入秘密信息后,雖然2 種方法的BLEU 均有不同程度的下降,但本文方法仍具有較高的BLEU。
3.2.2 自動(dòng)選擇編碼策略對(duì)隱藏容量影響
隱藏容量是評(píng)估隱寫算法性能的重要指標(biāo),其描述了在文本中嵌入的秘密信息量。本文將ER 定義為實(shí)際嵌入的比特?cái)?shù)除以計(jì)算機(jī)中所有生成文本所占的比特?cái)?shù),即
其中,M為生成的語句總數(shù),Li為第i個(gè)語句長(zhǎng)度,k為每詞元可嵌入的比特?cái)?shù)為第i個(gè)語句在計(jì)算機(jī)中實(shí)際占用的比特位數(shù)。每個(gè)英文字母在計(jì)算機(jī)中實(shí)際占8 位,因此表示第i個(gè)語句中的第j個(gè)單詞所包含的字母總數(shù)。由于秘密信息的嵌入對(duì)象為每一時(shí)刻的詞元,因此L1為生成序列的平均詞元數(shù)。分別為生成隱寫譯文的平均長(zhǎng)度和其中每個(gè)詞元所包含的平均字符數(shù)。不同方法生成隱寫譯文的bpw 和ER 如表4 所示。
表4 不同方法生成隱寫譯文的bpw 和ER
從表4 可知,ER 均隨著BS 的增加而增加,且當(dāng)BS 取值為4、8、16 和32 時(shí),采用FLC 生成隱寫譯文的ER 最大,次之是FVLC,最小則是VLC。結(jié)合之前的實(shí)驗(yàn)結(jié)果可以得出,在保證隱藏容量的同時(shí),采用FVLC 可以生成更高質(zhì)量的隱寫譯文。
為了進(jìn)一步驗(yàn)證自動(dòng)選擇編碼策略對(duì)隱藏容量的影響,本文對(duì)比了不同方法下的隱藏容量,結(jié)果如表5 所示。
表5 不同方法下的隱藏容量對(duì)比結(jié)果
由表4 和表5 可知,當(dāng)BS=2 時(shí),自動(dòng)選擇編碼策略對(duì)隱藏容量的影響較小,且本文方法的隱藏容量均大于對(duì)比方法。當(dāng)BS=4 時(shí),雖然隱藏容量處在FLC 和VLC 之間,但也均大于對(duì)比方法。
不同的翻譯語句勢(shì)必會(huì)影響隱寫系統(tǒng)的性能。BS=4 時(shí),不同hthreshold的條件下采用FVLC 生成的隱寫譯文如表6 所示。
表6 不同hthreshold 時(shí)采用FVLC 生成的隱寫譯文(BS=4)
從表6 中可以看出,同一源語句在不同閾值下能夠生成流暢度高、可讀性強(qiáng)且具有語義相似性的隱寫譯文。本文在BS=4 的條件下進(jìn)行實(shí)驗(yàn),進(jìn)一步討論了閾值的選取對(duì)隱寫譯文質(zhì)量、bpw 和隱藏容量的影響,結(jié)果分別如圖6~圖8 所示。
圖6 不同hthreshold 對(duì)模型Sacrebleu 的影響
從圖6 中可以看出,隨著hthreshold的增加,Sacrebleu 均在減小。原因是hthreshold的增加減小了隱寫詞元與其輸入前綴的依賴程度,使每一時(shí)刻的輸出越來越受到秘密信息的影響,從而選取條件概率較低的詞元,降低了隱寫文本質(zhì)量。由于自動(dòng)選擇編碼策略以Sacrebleu 作為編碼方式的選擇依據(jù),因此FVLC 的Sacrebleu 高于FLC 和VLC。
在討論hthreshold對(duì)bpw 的影響時(shí),本文將bpw定義為正確攜帶秘密信息的詞元所嵌入的平均比特?cái)?shù)。從圖7 中可以看出,F(xiàn)VLC 和VLC 的bpw均隨著hthreshold的增加逐漸增加。原因是hthreshold的增加減小了正常詞元對(duì)隱寫輸出的限制,使正確攜帶秘密信息的詞元數(shù)增多。在FLC 中, BS=2bpw始終成立,因此當(dāng)BS=4 時(shí),F(xiàn)LC 的bpw 始終不變。
圖7 不同hthreshold 對(duì)模型bpw 的影響
本文的動(dòng)態(tài)選詞策略不改變秘密信息的嵌入對(duì)象,導(dǎo)致某一時(shí)刻未能正確嵌入秘密信息。在討論hthreshold對(duì)ER 的影響時(shí),將ER 定義為正確嵌入的秘密信息比特?cái)?shù)除以計(jì)算機(jī)中所有生成文本所占的比特?cái)?shù)。從圖8 中可以看出,ER 值會(huì)隨著hthreshold的增加而增加。原因是hthreshold的增加提高了每一時(shí)刻輸出隱寫詞元的概率,在翻譯的過程中增多了正確嵌入的秘密信息比特?cái)?shù),隱藏容量逐漸增加。表7 列出了在不同hthreshold、嵌入方式以及BS 的情況下,bpw、Sacrebleu 和ER 的實(shí)驗(yàn)結(jié)果。
圖8 不同hthreshold 對(duì)模型ER 的影響
根據(jù)表7 可以得出以下結(jié)論。1) 當(dāng)BS 取值分別為4、8、16、32 時(shí),F(xiàn)VLC 和VLC 的bpw,以及不同嵌入方式的ER 均隨著的增加逐漸增加,Sacrebleu 逐漸減小,而FLC 的bpw 保持不變。原因在于差異閾值的提高增加了隱寫詞元的可選擇性,使生成的隱寫譯文包含更多的隱寫詞元,因此隱寫文本質(zhì)量逐漸降低,正確嵌入秘密信息的比特?cái)?shù)逐漸增多。2) 相比于FLC 和VLC,F(xiàn)VLC的bpw 介于兩者之間,并且評(píng)分比較機(jī)制的引入使FVLC 具有較大的Sacrebleu,生成的隱寫譯文質(zhì)量更高,在一定程度上提高了系統(tǒng)的不可感知性。3) 在討論對(duì)ER 的影響時(shí),實(shí)際正確嵌入秘密信息的比特?cái)?shù)及計(jì)算機(jī)中所有生成文本所占的總比特?cái)?shù)均會(huì)影響ER 的大小。從實(shí)驗(yàn)結(jié)果中可以計(jì)算出,當(dāng)BS=8 時(shí),F(xiàn)VLC 和VLC 的ER 平均相差0.032,與FLC 的ER 平均相差0.12,Sacrebleu 分別平均提高了2.442 和3.598。由此可見,F(xiàn)VLC 雖然犧牲了較低的隱藏容量,但卻大幅提升了隱寫文本質(zhì)量。綜上所述,隨著BS 的增加,通過采用自動(dòng)選擇編碼策略以及設(shè)置合理的概率差異閾值仍能生成高質(zhì)量的隱寫譯文,在一定程度上提升了隱寫算法的性能。
表7 不同hthreshold、嵌入方式以及BS 對(duì)bpw、Sacrebleu 和ER 的影響
本文提出了一種基于自動(dòng)選擇編碼及動(dòng)態(tài)選詞策略的文本隱寫方法,該方法在機(jī)器翻譯的背景下使用Transformer 模型傳遞秘密信息。在翻譯的過程中,通過比較2 種隱寫譯文與實(shí)際譯文的Sacrebleu 大小實(shí)現(xiàn)FLC 和VLC 的自動(dòng)選擇,通過計(jì)算隱寫詞元與正常詞元的概率差異百分比,實(shí)現(xiàn)在譯文生成的過程中根據(jù)概率差異閾值自適應(yīng)選詞。實(shí)驗(yàn)結(jié)果表明,評(píng)分比較機(jī)制的引入能夠生成流暢度高、可讀性強(qiáng)的隱寫譯文,差異閾值的引入能夠緩解候選詞增加導(dǎo)致的隱寫文本生成質(zhì)量較低的問題。