解读翻译李飞飞-Hiding Data With Deep Networks

arXiv:1807.09937v1 [cs.CV] 26 Jul 2018

Adversarial Networks, Steganography, Robust blind water-
marking, Deep Learning, Convolutional Networks
对抗网络,隐写术,鲁棒盲水印,深度学习,卷积网络

Abstract

最近的研究表明,深层神经网络对输入图像的微小扰动非常敏感,从而产生了敌对的例子。虽然这种特性通常被认为是学习模型的弱点,但我们探索它是否有益。我们发现神经网络可以学会使用不可见的扰动来编码大量有用的信息。事实上,人们可以利用这种能力来完成数据隐藏的任务。我们联合训练编码器和解码器网络,其中给定输入消息和封面图像,编码器产生视觉上不可区分的编码图像,解码器可以从中恢复原始消息。我们表明,这些编码与现有的数据隐藏算法是有竞争力的,并且可以使它们对噪声具有鲁棒性:尽管存在高斯模糊、像素丢失、裁剪和JPEG压缩,我们的模型仍然能够在编码图像中重建隐藏信息。尽管JPEG是不可微的,我们证明了一个健壮的模型可以使用可微的近似来训练。最后,我们证明对抗训练提高了编码图像的视觉质量。

1Introduction

在隐写术中,目标是秘密通信:发送者(爱丽丝Alice)将消息编码在图像,这样接收者(鲍勃Bob)就可以解码消息,但对手(夏娃Eve)无法判断任何给定的图像是否包含消息;Eve检测编码图像的任务叫做隐写分析。在数字水印中,目标是鲁棒地编码信息:Alice希望在图像中编码一个指纹;Eve会以某种方式扭曲图像(通过crop裁剪、blur模糊等),Bob应该能够检测到扭曲图像中的指纹。数字水印可以用来识别图像所有权:如果爱丽丝是一名摄影师,那么通过在她的图像中嵌入数字水印,她可以证明这些图像的所有权,即使在线发布的版本被修改。

有趣的是,神经网络也能够从人眼不可见的图像中“检测”信息。最近的研究表明,神经网络容易受到敌对例子的影响:给定一幅图像和一个目标类别,图像的像素可以被潜移默化地修改,以便它被自信地归类为目标类别[1,2]。此外,这些生成图像的敌对性质在各种图像变换下得以保留[3]。虽然敌对例子的存在通常被视为神经网络的一个缺点,但它对于信息隐藏是可取的:如果一个网络可以被小的扰动所欺骗,做出不正确的类预测,应该可以从类似的扰动中提取有意义的信息。

引入了HiDDeN,这是第一个端到端的可训练的数据隐藏框架,它可以应用于隐写术和水印。HiDDeN使用三个卷积网络进行数据隐藏。编码器网络接收封面图像和消息(编码为位串),并输出编码图像;解码器网络接收编码图像并试图重建消息。第三个网络,即对手,预测给定图像是否包含编码信息;这提供了提高编码图像质量的不利损失。在许多真实世界场景中,图像在发送者和接收者之间失真(例如,在有损压缩期间)。我们通过在编码器和解码器之间插入可选的噪声层来对此进行建模,这些噪声层应用不同的图像变换,并迫使模型学习能够经受住噪声传输的编码。我们通过最小化(1)封面和编码图像之间的差异,(2)输入和解码消息之间的差异,以及(3)对手检测编码图像的能力来建模数据隐藏目标。

我们通过测量容量来分析我们的方法的性能,即我们可以隐藏的消息的大小;保密性,通过隐写分析工具(隐写分析器)检测编码图像的程度;和鲁棒性,我们的编码信息能够经受住各种形式的图像失真。我们证明了我们的方法在基于深度学习的隐写术中优于以前的工作,并且我们的方法也能产生鲁棒的盲水印。尽管存在高斯模糊、像素丢失、裁剪和JPEG压缩,但网络学会在编码图像中重建隐藏信息。虽然JPEG是不可微的,但我们可以在训练时使用可微近似来可靠地训练对其扰动鲁棒的网络。

经典的数据隐藏方法通常使用试探法来决定修改每个像素的程度。例如,一些算法处理一些选定像素的最低有效位[4];其他人在频域中改变中频分量[5]。这些试探法在它们被设计的领域中是有效的,但是它们基本上是静态的。相比之下,HiDDeN可以很容易地适应新的需求,因为我们直接针对感兴趣的目标进行优化。对于水印,人们可以简单地重新训练模型,以获得对新型噪声的鲁棒性,而不是发明新的算法。端到端学习在隐写术中也有优势,在隐写术中,拥有不同类别的嵌入函数(相同的体系结构,用不同的随机初始化进行训练,产生非常不同的嵌入策略)会阻碍对手检测隐藏消息的能力。

2Related work

Adversarial examples

敌对的例子表明,破坏分类精度的各种网络与原始图像的干扰最小[2]。它们通常是通过在最大化一个输出神经元的方向上给每个像素添加一个小扰动来计算的[1]。为一个网络生成的敌对例子可以转移到另一个网络[6],表明它们来自常用网络的一个普遍属性。Kurakin等人表明,对抗的例子对图像变换是稳健的;当一个敌对的例子被打印和拍照时,网络仍然错误地分类照片[3]。我们考虑通过增加适当的扰动来传递有用信息的可能性,而不是注入导致错误分类的扰动。

Steganography

文献中已经提出了多种隐写术设置和方法;与我们的工作最相关的是盲图像隐写术的方法,在这种方法中,信息被编码在图像中,解码器不能访问原始的封面图像。最低有效位(LSB)方法根据秘密消息的位修改每个图像像素的最低位;在[7,8]中描述了LSB方案的几个例子。根据设计,最小二乘法产生的图像扰动在视觉上并不明显。然而,它们可以系统地改变图像的统计数据,从而实现可靠的检测[9]。

许多隐写术算法的不同之处仅在于它们如何定义特定的失真度量,以在编码期间最小化失真。高度不可检测隐写术(HUGO) [4]通过计算局部像素邻域的权重来测量失真,从而降低边缘和高纹理区域的失真成本。WOW(小波获得的权重)[10]使用一组方向滤波器来惩罚图像的可预测区域的失真。S-UNIWARD [11]与WOW类似,但可以用于任意域的嵌入。

Watermarking

水印类似于隐写术:两者都旨在将秘密信息编码成图像。然而,虽然隐写术的目标是秘密通信中,水印经常被用来证明图像所有权,作为版权保护的一种形式。因此,水印方法优先考虑鲁棒性而不是保密性:即使在编码图像被修改或失真后,消息也应该是可恢复的。非盲方法假设访问未修改的封面图像[12,13,14];与我们更相关的是盲法[5],其中解码器不假定访问封面图像。一些水印方法将信息编码在图像像素的最低有效位[7];然而,对于更鲁棒的编码,许多方法改为在频域中编码信息[5,13,14,15]。其他方法将频域编码与对数极坐标映射[16]或模板匹配[14]相结合,以实现对空间域变换的鲁棒性。

Data Hiding with Neural Networks

神经网络已经用于隐写术和水印[17]。直到最近,先前的工作通常将它们用于较大流水线的一个阶段,例如确定每个图像区域的水印强度[18],或者作为编码器[19]或解码器[20]的一部分。

相比之下,我们使用神经网络对整个数据隐藏管道进行建模,并对其进行端到端的训练。与[18]不同的是,HiDDeN是一种盲法:它不要求接收者能够访问原始图像,在很多实际场景中比非盲法更有用。[20]使用梯度下降进行编码,而hides在一次向前传递中隐藏信息。[21]是最近一种使用对抗网络的端到端隐写术方法,我们在第4.1节中对其结果进行了比较。[22]训练网络将整个图像隐藏在另一个图像中。与我们的工作相反,[21,22]都没有考虑编码的鲁棒性;他们的重点是隐写术,而HiDDeN也可以用于水印。

神经网络也被应用于其他形式的数据隐藏。阿巴迪和安德森[23]表明,对抗网络可以训练密码学;Uchida等人[24]将水印嵌入到训练好的神经网络的权重中;方等人[25]使用LSTMs将秘密消息嵌入文本。

3Method

我们的目标是开发一个可学习的端到端图像隐写和水印模型,使其对任意类型的图像失真都具有鲁棒性。为此,我们的系统包括四个主要部件:编码器Eθ、无参数噪声层N、解码器Dφ和对立鉴别器Aγ。θ、φ和γ是可训练参数。编码器Eθ接收形状为C × H × W的封面图像Ico和长度为L的二进制秘密消息Min∈ {0,1}^L,并产生与Ico形状相同的编码图像(也称为隐写图像)。噪声层N接收Ico和Ien作为输入,并使编码图像失真,以产生噪声图像Ino。解码器D从Ino那里恢复一条消息Mout。同时,给定一个图像I ∈{ Ico,Ien},即要么是封面图像,要么是编码图像,鉴别器预测A(̘I)∈[0,1],则I是编码图像的概率。

编码图像在视觉上应该与封面图像相似。我们用图像失真损失、Ico和Ien:
L I ( I c o , I e n ) = ∥ I c o − I e n ∥ 2 2 / ( C H W ) \mathcal{L}_{I}\left(I_{c o}, I_{e n}\right)=\left\|I_{c o}-I_{e n}\right\|_{2}^{2} /(C H W) LI(Ico,Ien)=IcoIen22/(CHW)
之间的L2距离和对抗损失(鉴别器检测编码图像的能力)来表征
L G ( I e n ) = log ⁡ ( 1 − A ( I e n ) ) \mathcal{L}_{G}\left(I_{e n}\right)=\log \left(1-A\left(I_{e n}\right)\right) LG(Ien)=log(1A(Ien))
鉴别器会因其预测
L A ( I c o , I e n ) = \mathcal{L}_{A}\left(I_{c o}, I_{e n}\right)= LA(Ico,Ien)= log ⁡ ( 1 − A ( I c o ) ) + log ⁡ ( A ( I e n ) ) \log \left(1-A\left(I_{c o}\right)\right)+\log\left(A\left(I_{en}\right)\right) log(1A(Ico))+log(A(Ien))
而导致分类损失。解码的消息应该与编码的消息相同。我们使用原始消息和解码消息之间的L2距离
L M ( M i n , M o u t ) = ∥ M i n − M o u t ∥ 2 2 / L \mathcal{L}_{M}\left(M_{i n}, M_{o u t}\right)=\left\|M_{i n}-M_{o u t}\right\|_{2}^{2} / L LM(Min,Mout)=MinMout22/L
来施加消息失真损失。我们对θ,φ执行随机梯度下降,以最小化输入消息和图像分布的以下损失:
E I c o , M i n [ L M ( M i n , M o u t ) + λ I L I ( I c o , I e n ) + λ G L G ( I e n ) ] \mathbb{E}_{I_{c o}, M_{i n}}\left[\mathcal{L}_{M}\left(M_{i n}, M_{o u t}\right)+\lambda_{I} \mathcal{L}_{I}\left(I_{c o}, I_{e n}\right)+\lambda_{G} \mathcal{L}_{G}\left(I_{e n}\right)\right] EIco,Min[LM(Min,Mout)+λILI(Ico,Ien)+λGLG(Ien)]
其中λI和λG控制损失的相对权重。同时,我们训练鉴别器Aγ,以使同一分布上的以下损耗最小化: E I c o , M i n [ L A ( I c o , I e n ) ] \mathbb{E}_{I_{c o}, M_{i n}}\left[\mathcal{L}_{A}\left(I_{c o}, I_{e n}\right)\right] EIco,Min[LA(Ico,Ien)]

Network Architecture

我们的系统设置图如图2所示,详情见附录A。encoder编码器首先将卷积应用于输入Ico,形成某种中间表示。接下来,我们的目标是以这样一种方式合并消息输入(长度为L),使得编码器可以容易地学习在输出的任何空间位置嵌入它的一部分。为此,我们在空间上复制消息,并将这个“消息量”连接到编码器的中间表示。这确保了下一层中的每个卷积滤波器在卷积通过每个空间位置时能够访问整个消息。经过更多的卷积层后,编码器产生Ien,即编码图像。noise layer噪声层,给定Ico,Ien,应用噪声并产生Ino。我们不要求Ino具有与Ien相同的维度,这样我们就可以像裁剪一样模拟改变维度的噪声。decoder解码器首先应用几个卷积层来产生中间表示中的L个特征信道。然后,它应用全局空间平均池来产生相同大小的消息向量L-平均池确保它可以处理以下输入不同的空间维度。然后,它应用单个线性层来产生预测的消息。adversary对手的结构类似于解码器,但它输出的是二进制分类。

正如我们将看到的,通过改变消息长度L、图像大小C、H、W、噪声层N和权重因子λI和λG,上述网络设置可以很好地适应隐写术和水印。具体的选择将在他们各自的实验中讨论。

Noise Layers

我们的模型应该能够针对各种图像失真鲁棒地隐藏图像;为此,我们考虑了六种不同类型的噪声层,它们应用了不同类型的图像失真。所有失真类型的示例如图3所示。

Identity身份层是最简单的:它保持Ien不变。丢失层DropoutCropout层撤销了编码器所做的一些更改,通过组合封面图像Ico和编码图像Ien中的像素来产生噪声图像Ino。这两种类型的噪声都从Ien中保留一定比例的p像素,并使用Ico中的其余像素,但Dropout对每个像素独立做出这种选择,而Cropout从Ien中保留随机的方形裁剪。**Gaussian **高斯层用宽度为σ的高斯核模糊编码图像Ien,Crop裁剪层产生编码图像的随机正方形H’×W’裁剪,其中图像大小 H ′ × W ′ H × W \frac{H^{\prime} \times W^{\prime}}{H \times W} H×WH×W
的比率为 p ∈ ( 0 , 1 ) p \in(0,1) p(0,1)。JPEG层对质量因子为 Q ∈ ( 0 , 100 ) Q \in(0,100) Q(0,100)的Ien应用JPEG压缩。请注意,所有非同一性噪声层都有一个控制失真强度的标量超参数:Dropout、Cropout和Crop保留Ien的一小部分p像素,高斯有一个核宽度σ;而JPEG有一个品质因子Q。
我们对噪声层的一系列失真进行了实验。Dropout缺失、裁剪Crop和Cropout主要影响空间域,而高斯和JPEG作用于频率域。授予噪声层对的访问权限封面图片也使它更具挑战性。对于LSB算法,用固定值替换每个篡改像素的噪声层类似于二进制擦除通道,而用原始像素替换编码像素的噪声层充当二进制对称通道。因为解码器不知道篡改发生在哪里,所以很难对后者保持稳健。类似地,裁剪层不仅要求解码器是输入大小不可知的,它也不提供关于H’×W’裁剪来自哪里的信息,进一步限制了解码器的知识。

“Differentiating” the JPEG compression

虽然网络是用梯度下降法训练的,但我们不需要测试时噪声是可微分的。通过对可微近似的训练,我们成功地获得了对不可微JPEG压缩的鲁棒性。JPEG压缩将图像分成8 × 8个区域,计算每个区域内的离散余弦变换(实质上是R64中基的变化),然后将得到的频域系数量化为不同的粗糙度。因此,只有感知相关的信息被保留[27]。量化步骤是不可微分的,使得JPEG压缩不适合基于梯度的优化。

然而,量化一个值就是信息——理论上等同于限制通过那个“通道”可以传输的信息量。为了限制通过特定频域通道传递的信息量,我们创建了模拟JPEG压缩的噪声层。这些层使用8 × 8步8卷积层应用离散余弦变换,每个滤波器对应于离散余弦变换中的一个基向量。因此,网络激活表示编码图像的离散余弦变换域系数。然后对离散余弦变换系数应用Masking/Dropout屏蔽/丢失来限制信息流;更高的频率系数更有可能被屏蔽/丢弃,参见图4。然后使用转置卷积产生噪声图像Ino,以实现逆离散余弦变换。

我们称相应的层为JPEG-Mask和JPEG-Drop。JPEGMask应用固定的遮罩,仅在Y通道中保留25个低频离散余弦变换系数,在U、V通道中保留9个(遵循JPEG,这也在Y通道中保留了更多信息)。其他系数设置为零。JPEG-Drop对系数进行逐级丢弃。在实际的JPEG压缩中,系数的量化越粗糙,在我们的模拟中该系数越有可能归零。这两种方法都成功地产生了对实际的JPEG压缩鲁棒的模型,见图5。

Implementation details

所有模型都在COCO [28]训练集中的10000张封面图像上进行训练,并根据实验的具体尺寸进行调整。评估是在1000幅图像的测试集上进行的,在训练中是看不见的。对消息进行采样,随机均匀地抽取每个位。对于梯度下降,我们使用学习率为 1 0 − 3 10^{-3} 103的Adam亚当[29]和默认超参数。所有型号都经过批量12的训练。模型被训练了200个时期,如果在多个噪声层上训练,则训练了400个时期。

4Experiments

我们在三个轴上评估我们的模型:容量capacity,每个图像位可以隐藏的消息位数;秘密secrecy,检测我们编码图像的困难;和鲁棒性 robustness,我们的方法在面对图像失真时能够成功的程度。

Metrics

我们使用许多指标来衡量我们在这些方面的表现。
我们主要用每像素位数bits per pixel(BPP)来衡量容量,即编码图像每像素隐藏的信息位数;这只是用第3节的符号表示的L/(HWC)。
我们主要用检测率detection rate来衡量保密性;我们训练了一个现代隐写分析器[30],它试图从隐写图像中分离出封面;它的测试集精度是检测率。
作为保密的代理,我们还可以使用峰值信噪比 peak signal-to-noise ratio(PSNR)来测量封面和隐写图像之间的图像失真;更加扭曲封面图像的方法可能更容易被检测到。
我们使用比特精度来测量鲁棒性,bit accuracy比特精度是输入消息M和预测消息M’之间的相同比特数,因为我们在测试期间使模型经受编码器和解码器之间的变化的图像失真。

许多这些指标相互竞争。容量较高的模型通常会牺牲保密性,因为在图像中隐藏更多信息自然会导致更大的图像失真;对噪声非常鲁棒的模型通常会牺牲容量或保密性,因为消息必须冗余地编码在图像中。从某种意义上来说,隐写术和水印是优先考虑这些不同轴的一系列问题的两端;隐写术强调保密性,而水印强调鲁棒性。由于HiDDeN包含了一整套数据隐藏算法,我们可以通过改变消息长度L、使用不同的噪声层等等来灵活地训练强调不同轴的模型。

4.1Steganography: Capacity and Secrecy

我们训练我们的模型在16×16的灰度图像中编码长度为L = 52的二进制信息,使我们训练的模型具有52/(16×16) ≈ 0.203 BPP的容量。对于较大的图像,我们使用较长的消息来保留编码容量。我们的模型在图像的每一个16 × 16的小块上编码一个L位的信息块。隐写术通常假设无噪声传输,因此我们将N设置为身份层。我们首先在图6中比较传统方法[4,10,11],然后在图7中比较基于神经网络的方法[21]。
Image quality 我们比较了最近的三种隐写术方法:HUGO [4],WOW [10],和S-UNIWARD [11]。每个配置有0.2 BPP的容量,与我们的型号非常匹配。我们在BOSS数据集[31]的512 × 512覆盖图像上测试了所有方法,BOSS数据集是隐写术算法的通用测试平台。由于我们的模型是在COCO上训练的,这展示了它对新数据的通用性。图6显示了来自我们的方法和HUGO的示例封面和隐写图像(其他经典基线给出的结果与HUGO无法区分)。HUGO和我们的方法生成的编码图像在视觉上与封面图像无法区分。
Capacity我们的模型与BPP的基线非常接近(0.203比0.200)。神经网络在隐写术中的一个缺点是解码器网络可能出错。如图6所示,我们的方法精确地重构了消息,但并不完美,错误率小于 < 1 0 − 5 <10^{-5} <105。如果需要更高的精度,可以使用纠错码。
Secrecy我们通过训练隐写分析器ATS [30]来区分所有方法的封面和隐写图像来测量保密性;结果如图6所示。根据作者关于最佳性能的建议[30],我们为每个算法提供了ATS的小数据集:250个封面和250个隐写图像。
自动测试系统通过对数据重复应用隐写算法,从这个未标记的测试集生成一个同名的人工训练集,然后使用这个人工训练集训练一个有监督的分类器。最后,对训练后的分类器在测试集中识别隐写图像的能力进行评估。

对于我们的模型,我们评估了两种威胁场景。我们首先训练一对编码器/解码器,并评估自动测试系统,假设它可以直接访问所学习的模型。在这种设置下(模型权重已知),自动测试系统的检测精度达到98%,表明当精确权重已知时,我们的模型易于进行统计分析。在第二个威胁场景中,我们考虑这样的情况:攻击者知道正在使用HiDDeN(而且知道精确的体系结构、超参数和数据集),但是不能访问训练好的模型本身(如果没有用于初始化参数的随机种子,该模型就不能精确地再现)。为了测试这个场景,我们用不同的种子训练五个相同的HiDDeN模型,并将这些模型提供给ATS来构建它的人工训练集。最后,我们用新的随机初始化训练第六个模型用于评估。当我们在第六个模型(我们的——不同的模型)上测试自动测试系统时,它达到了50%的检测准确率,不比随机猜测好。相比之下,ATS对HUGO的检测准确率为70%,对WOW和S-UNIWARD的检测准确率为68%。该结果表明,由每个训练模型产生的图像失真模式是唯一的,这使得我们的方法在不直接访问训练模型的情况下不能被自动测试系统检测到。这暗示了学习隐写术模型的优势:与静态经典算法不同,它们可以采用不同的编码策略。

未完成

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值