基于秘密信息驱动的正交GAN信息隐藏模型

2019-11-05 07:37:54朱翌明和红杰陈鸿佑
应用科学学报 2019年5期
关键词:编码器秘密噪声

朱翌明,陈 帆,和红杰,陈鸿佑

西南交通大学信号与信息处理四川省重点实验室,成都610031

信息隐藏是一种保护信息安全的重要方式,与密码学不同,信息隐藏将秘密信息以某种方式隐藏在宿主信号中具有随机特性的冗余部分以掩饰秘密通信的存在从而保证信息不被破坏或窃取[1].

常用的图像信息隐藏方法是基于嵌入的方法,通过修改载体图像将秘密消息嵌入到图像的视觉冗余部分来隐藏信息,主要有空域、变换域等信息隐藏方法.空域方法有中图像最低有效位(least significant bit,LSB)隐藏方法[2],通过修改图像的最低比特位嵌入信息;还包括自适应空域隐藏方法S-UNIWARD[3]、HUGO[4]、WOW[5]等,通过最小化失真函数使得图像复杂纹理区域能嵌入更多信息.而离散小波变换(discrete wavelet transform,DWT)[6]、离散余弦变换(discrete cosine transform,DCT)[7]等变换域隐藏方法通过修改图像变换域的系数来嵌入信息.

基于嵌入的方法总是会在载体图像上留下一定程度的修改痕迹而很难抵抗基于统计分析和机器学习的隐写分析方法的检测.为了保证信息隐藏方法的安全性,文献[8]提出了无载体信息隐藏这一概念,旨在通过秘密消息直接生成或得到含密图像而不需要修改载体图像,从而从根本上抵抗隐写分析方法的检测.在此基础上发展出了半构造式和完全构造式的信息隐藏方法[9].半构造式方法通过一定规则由秘密消息合成特定含密载体类型(如纹理图像)[10-11],特定载体类型限制了此类方法的适用范围.完全构造式方法[9]无需预先设置特定载体类型,通过在一个正常图像库中选择隐含秘密信息的图像或图像块来隐藏信息,是此类方法效率较低、隐藏容量低.

随着GAN[12]展现出强大的图像生成能力,研究者们开始研究基于GAN 的无载体信息隐藏.文献[13]提出了一种结合基于GAN 的图像修复方法的无载体信息隐藏方法,该方法通过约束图像的修复过程进行信息的隐藏,具有较好的安全性,但因只能在图像的破损区域进行隐藏,容量较低;文献[14]提出了一种基于辅助分类生成对抗网络(auxiliary classifier GAN,ACGAN)[15]的无载体信息隐藏方法,通过建立秘密信息与图像类别标签的映射关系,再以类别标签和噪声联合驱动实现由ACGAN 的生成器生成含密图像,并通过ACGAN 的判别器提取图像的类别标签从而实现秘密信息的恢复.但文献[14]的方法需要图像类别标签限制了该方法的使用,另一方面由于类别标签数量较少使其隐藏容量较低;文献[16]提出了基于深度卷积生成对抗网络(deep convolutional GAN,DCGAN)[17]的无载体信息隐藏方法.该方法直接将秘密信息比特流映射到随机噪声向量,输入到DCGAN 的生成器生成含密图像,然后单独训练一个噪声提取器,从DCGAN 生成的含密图像提取输入噪声从而恢复秘密消息.文献[16]的方法无需图像标签,因此具有更好的适用性;由于建立了秘密信息与噪声向量的映射关系,而具有较高的隐藏容量,但该方法需要额外训练一个噪声提取网络,使模型训练时间成本大幅增加,此外DCGAN 本身存在训练不稳定的问题[17]使生成的含密图像质量不高.

综上所述,当前基于GAN 的无载体信息隐藏的研究重点在于如何通过GAN 建立秘密信息与生成图像之间的映射关系使GAN 能生成含密图像,以及如何准确地从含密图像中提取出秘密信息.

本文提出了基于正交GAN(orthogonal GAN,O-GAN)[18]的无载体信息隐藏方法,借助O-GAN 实现秘密信息到含密图像的映射并恢复秘密信息.具体来说,首先按文献[16]提出的规则将秘密消息映射到噪声中,然后将其输入生成器生成含密图像,再利用O-GAN 机制将含密图像通过判别器提取出一个与输入噪声有较强相关性的特征码向量,最后设计一个神经网络实现特征码到输入噪声的映射,从而实现秘密消息提取.整个模型采用对抗学习的方式进行训练,采用训练更稳定的目标函数来训练模型,实验表明本文方法具有较好的信息隐藏性能,同时不需要图像标签且降低了基于GAN 实现无载体信息隐藏的额外训练开销,提高了算法的实用性.

1 生成对抗网络与O-GAN

GAN 是Goodfellow 等[12]基于零和博弈和纳什均衡理论提出的神经网络生成模型,由一个生成器G和判别器D组成,GAN 的模型结构如图1所示.

图1 GAN 模型结构图Figure1 Structure of GAN

通过对抗学习,生成器G能够实现噪声分布到生成样本分布的映射,即生成器G能由随机噪声驱动生成比较真实的图像.GAN 的训练过程是一个极大极小博弈过程,GAN 的目标函数为

式中,x ∈Rnx是训练集的真实数据样本,z ∈Rnz是噪声向量,p(x) 是真实数据样本分布,q(z)是噪声分布,G:Rnz→Rnx是生成器,D:Rnx→R 是判别器.

由于GAN 存在着梯度消失、模式崩塌等问题,后续的研究提出了许多GAN 的改进模型.DCGAN[17]将深度卷积神经网络应用于GAN,提高了图像的生成质量;WGAN[19]使用Wasserstein 距离来度量分布距离,解决了GAN 优化JS 散度(Jensen-Shannon divergence)会出现梯度消失、训练不稳定等问题,并提高了生成图像的多样性;文献[20]提出的InfoGAN在G网络的输入噪声z加入了隐含约束信息c,能更好地解释z的语义信息,也能得到内容更丰富的生成图像.这些模型都是在对抗学习的基础上进行完善和改进的,因此有统一的形式[18]

式中,f、g、h是确定的函数,视具体模型而定.

一般来说,当一个GAN 网络训练好以后会得到一个强大的生成器,能由随机噪声驱动生成图像.判别器因已经无法判断输入的样本是真实样本还是生成样本而失去了使用价值,但是判别器的网络规模和参数量与生成器相当,理应加以开发应用.基于此文献[18]提出了O-GAN,通过对GAN 的判别器进行正交分解使其实现对生成图像提取特征的编码功能.具体来说,O-GAN 的实现分为以下3个步骤:

步骤1判别器分解

首先将判别器D分解为E网络和T网络

式中,E:Rnx→Rnz,T:Rnz→R,即输入图像通过E能够得到一个与输入噪声同维度的特征码向量,再通过T得到一个标量作为判别器的输出.

步骤2Pearson 相关系数约束

然后在GAN 的目标函数中加入Pearson 相关系数ρ(z,f)以增强E输出的生成图像特征码E(G(z))与噪声z之间的线性相关性.Pearson 相关系数为

式中,avg()表示向量的均值;std()表示向量的标准差;f表示生成图像特征码E(G(z)).

步骤3省去T网络

最后文献[18]通过理论分析和实验结果表明,可用编码器E输出的均值avg(E(·))来代替T网络作判别器,最终得到O-GAN 的一般形式为

式中,λ是Pearson 相关系数的权重.

O-GAN 是一种能够嵌入到不同GAN 模型的机制,只需将GAN 的判别器输出维度改为与生成器输入噪声相同维度,然后在GAN 的目标函数中加入Pearson 相关系数,即可使GAN 既能够生成逼真的图像又能提取生成样本的特征码,且该特征码与输入噪声有较强相关性.O-GAN 的结构如图2所示.

图2 O-GAN 模型结构图Figure2 structure of O-GAN

2 基于O-GAN 的无载体信息隐藏

由于O-GAN 能通过输入随机噪声生成图像并可从生成的图像提取出与输入噪声具有较强相关性的特征码,如果进一步考虑特征码到输入噪声的映射,可实现基于O-GAN 的无载体信息隐藏方法.本文提出的信息隐藏方法主要包括建立秘密信息与噪声的映射关系、含密图像生成、秘密信息恢复3个部分,如图3所示.

图3 基于O-GAN 的无载体信息隐Figure3 Coverless information hiding using O-GAN

本文假设通信双方采用二进制比特流M表示秘密信息.隐藏过程如图3中左边方框所示,包括以下步骤:

步骤1发送方将秘密信息M分成若干子序列mi,i=0,1,··· ,n;

步骤2每个mi根据映射规则得到一个对应的噪声向量z;

步骤3将每个噪声向量z输入到训练好的生成器得到对应的含密图像发送出去.

假定图像的顺序在传输过程中没有改变,提取过程如图3右边方框所示,包括以下步骤:

步骤1将每幅含密图像输入到训练好的判别器(编码器)得到特征码f;

步骤2将特征码f输入U 型网络F提取出噪声z′;

步骤3根据映射规则将z′恢复成二进制序列m′;

步骤4将每个m′按顺序拼接即可得到恢复后的信息M′.

2.1 隐藏过程

2.1.1 秘密信息映射到噪声向量

如图3中A 部分所示,通过建立秘密信息与噪声的映射关系,间接地建立了秘密信息与生成图像的映射关系,实现秘密信息驱动GAN 生成含密图像.

本文采用的噪声分布q(z)为[-1,1]上的均匀分布,即q(z)~U(-1,1).设噪声向量z={zi|i=1,2,··· ,nz},其中z的维度nz= 100,二进制比特流m={mi|i=1,2,··· ,nm},m的维度nm视映射规则而定.m与z的映射规则采用文献[16]中所描述的规则

式中,random(x,y)表示取区间[x、y]之间的一个随机数,d是m中σ位二进制数的十进制值,σ取1、2 或3、δ是区间之间的间隔,即式(6)表示将比特流m中σ位二进制数映射到区间中的一个随机数,将m按顺序每σ位二进制数映射为一个随机数进而将m映射到z,因此可得m的维度nm=σnz.

2.1.2 含密图像生成

根据2.1.1 节的方法将秘密信息比特流m映射到[-1,1]的噪声向量z之后,通过训练如图3中B 部分所示生成模型,即可实现生成器G生成含密图像.

B 部分模型以DCGAN 为基础模型并嵌入O-GAN 机制,修改了DCGAN 判别器的最后一层作为编码器,具体结构见表1.

表1 生成器和编码器结构Table1 Structure of generator and encoder

其中生成器G的前4个上采样卷积层使用了批归一化(batch normalization,BN)[21],激活函数使用线性整流函数(rectified linear unit,ReLU),最后一个上采样卷积层没有使用BN,激活函数使用双曲正切函数;编码器E的每个卷积层后使用了参数为0.1 的LeakyReLU作为激活函数,而没有使用BN.

2.2 提取过程

接收到生成的含密图像以后,将图像通过判别器(O-GAN 机制下为编码器E)得到特征码f,再训练一个神经网络F拟合由特征码f到输入噪声z的映射,进而实现从含密图像中提取出输入噪声z′,由O-GAN 的机制可知特征码与输入噪声之间具有较强的相关性,因此F的模型复杂度可以相对比较简单.本文采用6 层U 形全连接网络,如图3中C 部分所示,其中第1 层的输出连接到第6 层的输入,第2 层的输出连接到第5 层的输入,且每一层的激活函数为双曲正切函数,具体结构见表2.

表2 U 型网络的结构Table2 Structure of U-shape network

F网络以编码器E输出的生成图像特征码f为输入,得到一个尽量与输入噪声z接近的输出噪声z′,通过F网络得到输出噪声之后,将提取的噪声向量z′根据式(7)恢复成二进制序列

式中,zi代表一个噪声值,d的二进制数就是恢复后的σ位二进制序列.z′的每一个值按式(7)即可恢复成二进制流m′,接收到的每幅含密图像都做相同处理即可得到M′,实现了信息提取.

2.3 模型训练

通信双方为了进行可靠的通信,使用同样的噪声分布、网络模型、训练集、训练参数来训练各自的模型以得到相同的生成器、编码器、U 型网络,并采用同样的映射规则以保证准确恢复信息.其中噪声分布、网络模型可作为公钥在公开信道中传播,而训练所使用的数据集和相关参数则需作为私钥由通信双方严格保密.

2.3.1 训练平台

训练集采用CelebA 人脸数据集,该数据集包括202 599 幅人脸图像,使用时将每幅图像剪裁到所需的尺寸,本文采用32×32、64×64、96×96 尺寸进行实验.优化器采用Adam[22],学习率根据网络而定,更新变量统一为β1=0,β2=0.9,批大小为64.训练平台为FaceBook开源的深度学习平台Pytorch 1.01,机器配置为NVIDIA GTX1080Ti 显卡,32GB 内存.

2.3.2 目标函数

2.3.2.1 生成模型目标函数

由于文献[16]采用的原始GAN 的目标函数存在着训练收敛慢、不稳定等问题[17],本文采用在GAN 的训练中较为流行的合页损失(hinge-loss)[23]版本的WGAN 的目标函数来训练生成模型[24],并根据O-GAN 机制在目标函数中增加Pearson 相关系数,因此令式(5)中的f(x)=max(1-x),g(x)=max(1+x),h(x)=-x,并参考O-GAN 原文将Pearson 相关系数的权重设为0.5,最终本文生成模型的目标函数为

除此之外,生成器G的上采样卷积层(最后一层除外)和判别器E的卷积层都使用了谱归一化(spectral normalization,SP)[25]作为正则化手段稳定训练过程.

2.3.2.2F网络目标函数

U 型神经网络F以编码器E输出的生成图像特征码f为输入,得到尽量与输入噪声z 接近的输出噪声z′,本文以平均平方误差描述z与z′之间的距离,因此F网络的目标函数为

2.3.3 训练过程

文献[16]先训练生成模型,然后固定生成模型参数再单独训练一个噪声提取器,而本文方法只需进行一个训练过程,采用对抗学习的方式同时进行训练3个神经网络生成器G、编码器E和U 型网络F,比文献[16]更节省训练的时间成本.

通过对抗学习的方式训练生成模型,利用批梯度下降法更新参数.假设用θs表示神经网络S的参数,γs表示θs更新的步长(即学习率),每输入一批训练数据更新一次参数,参数更新过程如下:

1)生成器G、F网络参数θG、θF不变,编码器E的参数θE更新

2)编码器E参数θE不变,F网络、生成器G的参数θF、θG更新

3)编码器E、F的网络参数θE、θF保持不表,生成器G的参数θG更新

模型共训练了100 万批次,耗时两天.部分生成图像如图4所示.图4从左往右分别是32×32、64×64、96×96 大小的生成图像,图像的每一列来自一批中间生成样本,从左到右分别是第1 万、10 万、30 万、70 万、90 万批训练生成的样本,可以看出随着训练的进行,生成图像质量越来越高,训练到第90 万批次时生成的人脸图像已经十分逼真.

图4 训练中间生成样本Figure4 Generated samples during training

与文献[16]相比,本文方法采用了更优的GAN 目标函数来训练模型,生成的含密图像质量更高,如图5所示,左边是文献[16]生成的64×64 大小的含密图像,右边是本文方法生成的相同尺寸的含密图像,可以看出本文生成的图像在结构和清晰度上优于文献[16].

生成图像质量随着训练的进行而提高,由于O-GAN 的机制使特征码与噪声向量之间的相关性也越来越高,而这有也利于F网络将特征码映射到输入噪声.图6给出了F网络的目标函数曲线和特征码与噪声向量Pearson 相关系数的变化曲线.

图6是通过每隔200个训练批次采样一次训练的中间数据得到的,横坐标表述采样次数.可以看出特征码与噪声向量相关性的提高和F网络的映射能力的提高是两个互不冲突的任务,也说明了本文方法的可行性.

图5 文献[16]与本文方法生成图像Figure5 Generated samples of reference [16] and the proposed method

图6 Pearson 系数和F网络目标函数曲线Figure6 Curves of pearson coefficient andF-net’s objective function

3 实验及结果分析

3.1 隐藏容量

隐藏容量由含密图像的尺寸和含密图像包含多少秘密信息决定.假设利用本文生成模型生成的图像大小为N ×N,因此含密图像尺寸为N ×N像素.而根据2.1 节秘密信息与噪声的映射规则可知,本文方法生成的含密图像含有多少秘密信息由生成模型输入噪声的维度nz和σ的值决定,即一幅含密图像由nz维噪声向量z经生成模型得到,而z的每一个分量(一个噪声值)由秘密信息比特流m′中的σ位二进制数映射得到,最终可得每幅含密图像对应含有nz×σ比特的秘密信息,因此本文隐藏方法的隐藏容量为

本文中nz=100,则隐藏容量根据σ的取值而定,N视生成模型生成的图像尺寸而定.

由于本文的映射方法与文献[16]相同,当生成图像尺寸与文献[16]也相同时,本文隐藏容量与文献[16]的方法相同,而文献[16]方法的隐藏容量在无载体信息隐藏中是最高的,具体如表3所示.

表3 部分无载体信息隐藏方法的隐藏容量[16]Table3 Steganography capacities of some SWE methods[16]

3.2 信息恢复准确率

为测试本文隐藏方法的信息恢复准确率,先随机生成二进制数序列作为秘密信息比特流M,然后将M分成若干子序列m,m的长度为nz×σ(根据隐藏容量而定),再将m根据映射规则映射到nz维随机噪声向量作为生成器驱动噪声z,将其输入训练好的模型即可得到含密图像和输出驱动噪声z′,将z′恢复成二进制比特流m′与m进行比较,正确恢复的比特数与nz×σ之比即为信息恢复准确率.

由前面的分析可知,σ的取值和生成图像大小影响信息的恢复准确率,因此分别对σ和图像尺寸的影响进行了测试,具体结果如图6所示.

图7 不同σ和N取值下的信息恢复正确率Figure7 Correct rate of information recovery under variousσandNvalues

图6的采样间隔为15 万批次,即每15 万批次测试一次信息恢复的准确率,横坐标表示采样次数.由图6可以看出,随着训练的进行,信息恢复的准确率不断提高,在训练到700 000左右批时趋于稳定,在σ=1 且图像大小为64×64 的情况下准确率在92%左右,随着σ的增加(图像大小的减小),信息恢复的准确率开始下降.由2.1 节分析可知,δ取值不同也将影响信息的恢复,文献[16]已分析了δ的影响,本文不再赘述.

3.3 安全性

分别采用两个不同的随机数种子从CelebA 人脸数据集中随机选取100 000 幅图像形成两个不同的数据集a和b,分别训练本文模型得到模型A 和B,然后用模型B的生成器生成含密图像,再分别用模型A 和B 的编码器和U 型网络来提取含密图像中的信息,测试信息恢复准确率,所得结果如表4所示.

表4 安全性测试结果Table4 Testing result of safety performance

由表3可以看出,当攻击者使用的数据集a与通信双方约定的数据集b不同时,训练出的模型A 难以从模型B 生成的含密图像中提取出秘密信息,而模型B 则可以较准确地恢复信息.

4 结 语

本文提出了基于O-GAN 由秘密信息驱动生成含密图像并由O-GAN 编码器生成的特征码提取出秘密信息的无载体信息隐藏方法,实验和理论表明,本文方法具有较大的隐藏容量、较高的安全性等,接下来将考虑提升信息恢复正确率并进一步研究基于GAN 的无载体信息隐藏的安全性.

猜你喜欢
编码器秘密噪声
噪声可退化且依赖于状态和分布的平均场博弈
基于FPGA的同步机轴角编码器
控制噪声有妙法
基于PRBS检测的8B/IOB编码器设计
愿望树的秘密(二)
手心里有秘密
JESD204B接口协议中的8B10B编码器设计
电子器件(2015年5期)2015-12-29 08:42:24
我心中的秘密
第十三章 进化的秘密!
小学科学(2015年11期)2015-12-01 22:25:22
一种基于白噪声响应的随机载荷谱识别方法