Fork me on GitHub

SGAN

Steganographic Generative Adversarial Networks

隐写生成对抗网络

Abstract

隐写术是隐藏非秘密信息(“容器”)内的秘密信息(“有效载荷”)的方法的集合。它的对应物Steganalysis是确定消息是否包含隐藏有效负载并在可能的情况下恢复它的实践。隐藏有效载荷的存在通常由二进制分类器检测。在本研究中,我们提出了一种基于深度卷积生成对抗网络(DCGAN)生成图像类容器的新模型。该方法允许使用标准隐写算法生成更多的setganalysis-secure消息嵌入。实验结果表明,新模型成功地欺骗了隐写分析仪,因此可以用于隐写应用。

Introduction

最近开发的生成对抗网络(GAN,见[GPAM +14])是强大的生成模型,其主要思想是通过玩最小最大游戏来训练生成器和判别器网络。在图像域中,对于由一些密度Pdata(x)生成的数据集,生成器G尝试近似图像生成分布并且尽可能合成为真实图像,而鉴别器D努力将真实图像与假图像区分开。

有几种GAN的修改可以生成逼真的图像:

深度卷积生成对抗网络(DCGAN,见[RMC15]) - 该模型是GAN的修改,专门用于生成图像;

条件GAN - 它允许从指定的类生成对象,参见[MO14];

从文本描述生成图像,请参阅[RAY + 16]。

在本研究中,我们将DCGAN模型应用于安全隐写术的问题。我们构建了一个特殊的容器图像生成器,与直接从原始图像派生的容器相比,其合成输出不易成功进行隐写分析。特别是,我们研究这种方法是否允许欺骗给定的隐写分析器,由二进制分类器检测图像中隐藏消息的存在。

Steganography

隐写术是隐藏秘密消息的做法,例如,可能以最不显眼的方式在另一个非秘密消息中的文档,图像或视频。在本文中,我们考虑文本嵌入到图像,文本由比特串给出。更正式地说,对于消息T和图像I,隐写算法是映射S:TX I →I‘,其中I’是包含消息T的图像,使得其能在视觉上与I区分不开。

最流行且易于实现的嵌入算法是最低有效位(LSB)算法。LSB的主要思想是将秘密消息存储在给定图像容器中每个像素的某个颜色通道的最不重要位(最后位)中。由于像素彼此独立地调整,因此LSB算法改变最不重要位的分布,从而简化了有效载荷的检测。这种方法的修改基本上没有改变最不重要位的分布,所谓的±1嵌入。该方法从某个颜色通道像素中随机地添加或减去1,以使最后的位与所需的位匹配。在本文中,我们基本上考虑±1嵌入算法。

有更复杂的信息嵌入到光栅图像的算法:WOW [HF12],HUGO [PFB10],S-UNIWARD[HFD14]等。它们源于LSB算法的关键思想,但采用了更具策略性的像素处理技术:对于原始图像X及其最终版本的带有秘密消息图像X‘,像素的选择方式使得失真函数最小化:

其中ρ是改变X像素的成本,具体为每种特定的隐写算法。

为了检测容器中隐藏信息的存在,通常使用隐写分析。将图像与一些隐藏的消息与空区分开的阶段通常通过二进制分类来执行。隐写分析的基本方法是基于特征提取器(如SPAM
[PBF10],SRM
[FK12]等)与传统的机器学习分类器相结合,如SVM,决策树,集合等。随着最近深度神经网络的巨大成功,基于神经网络的新型隐写分析方法越来越受欢迎,[QDWT15a]。例如,在[PJIC15]中,作者提出使用深度卷积神经网络(CNN)进行隐写分析,并表明在使用CNN而不是通常的分类时,分类精度可以显着提高。

Adversarial Networks

生成性对抗网络(GAN)是2014年在[GPAM +14]中提出的深度无监督学习的最新方法,其能够从输入数据分布动态地表示采样器并生成新的数据样本。这种学习方法的主要思想是同时训练两个神经网络:

•生成模型(G),接收输入上先验分布pnoise(z)的噪声,并将其转换为近似pdata(x)的分布pg(x)的数据样本。。

•判别模型(D),它试图检测一个对象是真实的还是由G生成的。

学习过程可以描述为极小极大游戏:鉴别器D最大化正确区分真实样本和假样本的预期对数似然,而生成器G通过尝试合成更好的图像来最大化鉴别器的预期误差。因此在训练期间GAN解决了以下优化问题:

其中D(x)表示x是实际图像而不是合成图像的概率,G(z)是输入噪声z的合成图像。

耦合优化问题(1)通过交替最大化和最小化步骤来解决:在小批量随机梯度优化的每次迭代中,我们首先在D上进行梯度上升步骤,然后在G上进行梯度下降步骤。如果通过θM我们表示神经网络M的参数,那么更新规则是:

在[RMC15]中,GAN的想法扩展到深度卷积网络(DCGAN),它们专门用于图像生成。本文讨论了对抗性训练在图像识别和生成中的优势,并提出了构建和训练DCGAN的建议。

Steganographic Generative Adversarial Networks

为了将GAN方法应用于隐写应用,我们引入了Steganographic Generative Adversarial Networks模型(SGAN),它包括:

•生成器网络G,可从噪声中产生逼真的图像;

鉴别器网络D,其分类图像是合成的还是真实的;

•鉴别器网络S,即隐写分析器,其确定图像是否包含隐藏的秘密消息。

通过stego(x),我们表示在容器x中嵌入一些隐藏消息的结果。

由于我们希望生成器能够生成可用作安全消息嵌入容器的逼真图像,因此我们强制G同时与模型D和S竞争。如果我们用S(x)表示x有一些隐藏信息的概率,那么我们就会得到以下游戏:

我们使用D和S的误差凸组合与参数α∈[0,1],其控制生成的图像的真实性的重要性与作为容器的质量与隐写分析之间的权衡。对初步实验结果的分析表明,对于α≤0.7,生成的图像是不现实的,类似于噪声。

SGAN的完整方案如图1所示。 1.每个箭头代表输出输入数据流。

下面列出了SGAN组件的随机小批量梯度下降更新规则:

与GAN模型的主要区别在于我们更新G以便不仅最大化D的误差,而且最大化分类器D和S的线性组合的误差。

Experiments

Data Description

在我们的实验1中,我们使用包含200000张图像的名人数据集[ZLT15]。所有图像都裁剪为64X64像素。

出于隐写分析的目的,我们将10%的数据视为测试集。我们用A表示训练集,用B表示测试集和用于隐藏信息的隐写算法stego(x)。在嵌入一些秘密信息后,我们获得了训练集A+Stego(A)和测试集B+Stego(B),我们最终得到了38万张用于隐写分析训练的图像和20
000张用于测试的图像。为了训练SGAN模型,我们使用了所有20万个裁剪图像。经过8个epochs后,我们的SGAN会生成图像如图2所示。

Experimental Setup

在本节中,我们将描述SGAN模型结构。通过C2D-BN-LR,我们表示卷积神经网络的以下结构块:Conv2d→批量归一化→Leaky ReLU。

Steganalyser网络S和图像鉴别器网络具有相似的结构:四个C2D-BN-LR层,然后是完全连接的层(1个神经元)→Sigmoid函数用于计算输出。图像生成器网络G(按顺序)是完全连接的层(8192个神经元),四个具有Fractional-Strided反卷积的C2D-BN-LR,然后使用双曲正切函数层来计算归一化输出。

训练SGAN模型以使用具有学习速率为2的-4次方的Adam优化算法[KB14]来解决(4)并更新参数β1=0.5和β2=0.999。对于每个小批量图像,我们更新D和S的权重一次,然后我们更新G的权重两次。

在以下实验中,除了隐写分析器S,我们使用独立的隐写分析器S*。我们定义了一个特殊的滤波器F(0),用于隐写分析应用(参见[PJIC15],[QDWT15b],[TL14]),如下所示:

单个隐写分析器 S*的结构具有以下形式:使用F(0)过滤器进行2D卷积→Conv2D→Conv2D→最大池化→Conv2D→Conv2D→最大池化→完全连接层(1024个神经元)→完全连接层(1个神经元)→Sigmoid函数输出。这种结构提供了最先进的隐写分析精度[PJIC15],滤波器F(0)可以提高隐身分析仪S*训练的收敛速度。

对于这个steganalyser的训练,我们在损失(4)上使用Adam优化算法,学习速率等于5的-6次方,β1=0.9,β2=0.999。作为损失函数,我们使用二元交叉熵。

实验的设置可以描述如下:

•我们训练并使用SGAN或DCGAN模型用作容器生成的图像;

•我们使用真实图像(第5.3节)或生成的图像(第5.4节)训练独立的隐写分析器S*;

•我们测量隐写分析器S*的准确度。

Training/Testing on Real Images

在这组实验中,我们在真实图像上训练独立的隐写分析器S*。结果如表1所示,从结果我们得出结论,即使是通常的DCGAN也会产生合成的容器图像,这很容易欺骗一个隐写分析器。尽管专门设计用于欺骗隐写分析仪的SGAN模型产生的容器改善了DCGAN的结果,但改进并不显着。这些结果还表明S*可能已超过实际图像的数据分布,并且未能推广到合成图像域中数据分布的GAN近似。

另一个有趣的结果来自于HUGO隐写算法和SGAN生成容器的实验:

•我们使用 ±1嵌入算法来训练SGAN模型;

•我们在真实图像和由SGAN模型生成的图像上测试HUGO隐写分析仪。

由SGAN模型生成的容器将HUGO隐写分析的准确度从0.624降低到0.499,这表明隐写生成对抗网络可以用作生成被调整以欺骗任何特定隐写分析算法的隐写容器的通用工具。

Training/Testing on Generated Images

在这组实验中,我们在图像上训练隐写分析器S*,使用来自先前噪声分布Pnoise(z)的DCGAN模型生成一些固定的种子值。在所有实验中训练集的大小固定在≈160000。在训练之后,我们根据以下实验设置在DCGAN模型生成的图像上测试分析仪S*:

C1。我们使用相同的种子值;

C2。我们使用一些随机选择的种子值;

C3。我们使用相同的种子值,如在C2中,我们另外调整DCGAN模型的几个时期。

实验结果如表2,表明在生成容器时使用不同的种子值最有可能影响像素值位的分布,从而更容易欺骗隐写分析器,使其适合列车样本中的另一个分布。图像生成器G的附加调谐使得该效果更加明显。

在下一组实验中,我们在图像上训练和测试隐写分析器S*,根据以下实验条件生成:

C4。我们使用几个不同的随机选择的种子值为隐写分析器S*生成一组训练集,并且在生成测试集时,我们使用另一个固定的种子值;

C5。我们使用许多不同的随机选择的种子值生成训练集和测试集;

C6。我们使用相同的训练和测试集,如在C5中,我们还为几个时期训练DCGAN模型。

根据表3,C5的精度低于C4情况下的精度,这可以通过具有更多可变性的C5的测试集来解释,其由不同的随机选择的种子值生成。类似地,C4情况下的准确度高于C2中的准确度,因为在C4中,火车组由几个不同的随机选择的种子值生成,因此更具代表性。这些观察结果证实了从表2中得出的初步结论。

我们还进行了生成图像分类的实验,没有隐写嵌入。为此,我们在MNIST数据集上训练DCGAN条件模型,并为MNIST分类任务训练单独的分类器。经过训练的分类器在保持的实际MNIST数据集和DCGAN产生的合成图像上都获得了几乎完美的准确度。这提供了证据,即可以训练在真实和合成图像上都显示出可接受的准确度的图像分类器。然而,正是人工生成的图像容器打破了通常的隐写分析方法。

Conclusions and future work

在这项工作中

  1. 我们为Generative Adversarial
    Networks的应用开辟了一个新领域,即隐写术应用的容器生成;

  2. 我们考虑±1嵌入算法并测试更多隐写分析安全信息嵌入的新方法:

(a)我们证明了SGAN和DCGAN模型都能够将隐写分析方法的检测精度几乎降低到随机分类器的检测精度;

(b)如果我们初始化具有不同随机种子值的容器生成器,我们甚至可以进一步降低隐写检测精度。

将来,我们计划在更高级的隐写算法上测试我们的方法,例如:哇[HF12],HUGO[PFB10]和S-UNIWARD [HFD14]。

-------------本文结束感谢您的阅读-------------
显示 Gitment 评论