高培贤,魏立线,刘 佳,刘明明
1.武警工程大学 网络与信息安全武警部队重点实验室,西安 710086
2.武警工程大学 电子技术系,西安 710086
近年来,信息隐藏已经成为信息安全领域的重要课题之一,受到了学术界的广泛关注。隐写分析技术是利用信息嵌入对原始载体统计特性的改变来判断隐秘信息的存在性,从而检测载体中是否嵌入了信息。传统的隐写分析技术关键在于特征向量的选取,特征向量所包含的特征越多,就能够更加全面地反映隐写技术对载体产生的噪声。但是当特征的数量过多时,现有的分类器大多数因为训练时间过长而不再适用。
当前,含多隐层感知器的深度学习在图像识别领域取得了优异的表现,它通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示[1],从而代替人工提取特征。因此,研究者开始将深度学习应用在图像隐写分析领域,将特征提取和分类器设计合为一步,极大地提高了隐写分析的效率。Xu等人[2]构建了一个卷积神经网络(CNN)模型进行图像隐写分析,该模型包含了5层卷积层和一层全连接层,第一层卷积层后加入了一个绝对值层(ABS)来增强网络后边卷积层的学习能力,并且在激活函数前都使用了批量正规化层(BN)[3]来避免过拟合。该模型对S-UNIWARD嵌入算法的检测错误率仅为19.76%。但是,随着CNN深度的增加,模型在训练过程中会发生梯度消失问题。深度残差网络(ResNet)[4]的提出解决了网络加深带来的梯度消失问题,通过残差学习使得神经网络的深度可以很大程度的加深。2017年,Huang等人提出了密集连接网络(DenseNet)[5],即网络中每一层的输入都来自前面所有层的输出,实现了特征的重复利用。相比ResNet,DenseNet即解决了退化问题,也加强了特征在网络中的传递,有效提高了模型分类效果。
为了获得更高效率的图像隐写分析模型,本文构建了一个密集连接网络模型(S-DCCN)进行进行图像隐写分析,实验结果表明,相比空域富模型(SRM)[6]+集成分类器(EC)[7]和Xu等人构建的CNN模型,本模型的隐写分析准确率分别提高了14.71%和14%。
传统的卷积神经网络由卷积层、池化层以及全连接层和输出层等组成,卷积层和池化层交替连接,即一个卷积层连接一个池化层,依此类推。卷积层中输出特征图的每个神经元与其输入进行局部连接,并通过对应的连接权值与局部输入进行加权求和再加上偏执值,得到该神经元的输入值[8]。如图1所示,原始图像进入卷积层,由卷积层提取特征,然后由池化层来降低特征面的分辨率以获得具有空间不变性的特征[9],最后由全连接层整合卷积层中具有类别区分性的局部信息[10]进行分类。
图1 传统卷积神经网络
深度卷积神经网络的提出引发了图像分类方法的一系列突破[11-13],通过增加网络深度可以提取图像更加抽象的特征,从而提高模型识别准确率。但是,随着CNN越来越深入,网络在训练过程中会出现梯度消失问题。为了确保网络层间的最大信息流,DenseNet将每层网络都与其他网络层连接,每层网络的输入为前边所有网络层输出的并集,该层的输出又为后续网络层的输入,从而实现特征的重复利用。因此,L层CNN的连接次数为L,而L层DenseNet的连接次数为L(L+1)/2。通过这种网络结构的改进,使得特征得以在深度网络中更加有效和准确的传递,同时也使得深度网络更加容易训练[5]。
针对目前传统的图像隐写分析算法需要进行人工提取特征再进行分类的问题,本文构建了一个S-DCCN模型进行图像隐写分析,如图2,避免了人工提取特征。本模型使用了5组密集连接模块,有效地解决了网络加深带来的退化问题,提高了图像隐写分析准确率和泛化性能。
图2 S-DCCN模型
如图2所示,原始图像进入模型首先经过高通滤波层(HPF),HPF层是一种特殊的卷积层,该卷积层是一维的5×5卷积核,权重参数为固定值F,HPF层的使用可以加快网络模型的收敛速度,在本文实验部分可以证明。
经过HPF层滤波后的图像进入预训练好的两层卷积层。使用预训练好的卷积层可以避免模型在训练过程中发生过拟合[4]。随后,特征图进入密集连接模块,S-DCCN模型共采用了5组密集连接模块,每组密集连接模块含有5层卷积层,结构如图3所示。在密集连接模块中,每个网络层都实现了一组非线性变换HL(X),其中X为特征图,L为第L层网络层,HL函数为卷积层、批量正规化(BN)、激活函数(ReLU)等3个操作的组合,即:Conv➝BN➝ReLU。因此,第L层网络的输出为:
其中[X0,X1,…,XL-1]为特征图的并集。因此,通过这种密集连接的方式缩短前面卷积层和后面卷积层之间的连接,使得最后一层可以直接用到原始输入信息,同时还用到了之前层对原始信息非线性操作之后的信息,这样可以做到对信息流动的最大化。
图3 密集连接模块
在密集连接模块中,特征图是通过组合的方式在网络中传递,因此密集连接模块的输出维度为所有卷积层中卷积核的个数之和,使得后续网络层的输入急剧增加。因此在相邻密集连接模块之间采用维度为12、大小为1×1的过渡层来控制网络的宽度。
在模型的最后采用了两层1 000维的全连接层,和一层损失函数层,全连接层的神经元与上一层的神经元进行全连接,从而整合卷积层中可以区分类别的局部信息。损失函数层采用的是Softmax损失函数,将输入分为两类。
S-DCCN模型使用了密集连接模块,相比使用如图4所示的残差学习模块,更加提高了隐写分析检测效果。残差学习模块通过捷径连接实现残差学习,将特征图求和传递给下一层网络,其输出为:
通过这种方式在深度残差网络中可以实现梯度的反向传播,解决了梯度消失问题,但是这种相加的方式会妨碍信息的流动[5];而密集连接模块是通过求模块中所有层的特征图的并集,如公式(1)所示,这种方法使得网络中的特征和梯度可以在网络中更好的传递,有效解决了随着网络加深带来的梯度消失问题,强化了特征的传播,并且还支持特征重复使用。此外,每一层的特征图都可以直接进入损失函数层,从而实现深度监督[14]。另一方面,S-DCCN还可以提高训练效率,网络的每层都可以利用前面网络层学到的特征,只需要学习很少的特征,所以可以将模型的网络层的通道数[15]设计得特别窄,减少了模型在训练过程中的计算量,提高了模型的训练效率。
图4 残差学习模块
为了更好地对比S-DCCN模型的优越性,本文构建了3种网络进行实验对比:(1)由卷积层直接叠加构成的平凡网络;(2)采用了残差学习模块的深度残差网络;(3)本文的S-DCCN模型。3种网络为同等深度的网络,除了卷积层连接方式不同,HPF层、卷积层维度、全连接层等条件都相同。在实验环境相同的条件下,对3种网络分别进行测试。
实验平台采用深度学习开源平台caffe,在Windows下对S-UNIWARD嵌入算法进行测试。数据集采用BOSSbase V1.01,图像大小为128×128,训练样本为3×104张载体图像和3×104隐写图像,测试样本为1×104张载体图像和1×104隐写图像,为了防止某张图像被多次调用,将图像集中的顺序打乱。
由于GPU内存的限制,训练时最小批量大小为64,测试时最小批量大小为40。学习速率初始值为0.001,学习率变化策略为“inv”,避免了手动调整学习率参数,使学习率随着迭代次数的增加自动调整。冲量参数(momentum)为0.9,权值衰减(weight_decay)为0.004。
本文构建的S-DCCN模型使用了5组密集连接模块,卷积层共31层,为了更好地说明深层网络的优越性,本文共对比了4种不同深度的密集连接网络,每种网络除密集连接模块个数不同外,其余条件都相同,实验结果如表1。由实验结果可知,随着深度的增加,模型的隐写分析准确率显著增加,密集连接可以很好地解决网络加深带来的梯度消失和退化问题。随着模型深度的增加,网络的参数也随之增加,训练时长会在一定程度上延长,但始终在可接受的范围内。本文的S-DCCN模型为GPU硬件(GTX960M)所能运行的最深模型。
表1 模型深度对比结果
在图像隐写分析领域,HPF层是一种特殊的卷积层,其可以大大加快模型在训练过程中的收敛速度,提高模型训练效率,S-DCCN模型有无HPF层的实验结果如表2,在模型迭代20 000次时无HPF层的模型Loss值过大,模型没有收敛,而使用了HPF层的模型准确率显著增加,模型已经收敛;池化层会减弱隐写产生的噪声,因此,S-DCCN模型没有使用池化层。在S-DCCN模型的过渡层后边添加池化层与S-DCCN模型进行对比,结果如表3,有池化层的模型对检测准确率会产生一定的影响,因此,本文没有使用池化层。
表2 有无HPF层对比结果
表3 有无池化层对比结果
损失值代表着模型的拟合程度,图5为3种模型的Loss值对比,从图中可以看出,相同迭代次数下,由卷积层直接叠加的平凡网络始终没有收敛,这是由于梯度消失问题造成的,而S-DCCN模型和残差网络模型均解决了梯度消失问题,但S-DCCN模型的收敛速度明显快于残差网络,证明密集连接模块通过强化特征传播,相比残差网络更加加快了模型的收敛。
图5 网络训练损失值对比
为了更好地测试S-DCCN模型的泛化性能,本文设置了4种不同的嵌入率,在4种嵌入率下,3种不同网络的隐写分析准确率如表4所示,S-DCCN模型的识别效果明显优于其他两种网络,也证明了该模型的泛化性能强于其他两种网络。
表4 S-DCCN模型不同嵌入率下检测结果
相比传统的隐写分析算法富模型+支持向量机,S-DCCN模型省去了人工提取特征,有效提高了隐写分析效率,同时将隐写分析准确率提高了14.71%;相比Xu等人构建的5层CNN模型,本文模型加深了网络深度,解决了梯度消失问题,将图像隐写分析准确率提高了14%。
表5 与其他隐写分析方法对比结果
本文构建了一个密集连接网络的图像隐写分析模型(S-DCCN)。该模型在增加了网络深度的同时解决了梯度消失问题。实验结果表明,利用该模型进行隐写分析的准确率高于浅层卷积神经网络和传统的隐写分析算法,同时避免了人工提取特征,提高了隐写分析效率。下一步将继续优化深度学习技术在隐写分析邻域的通用性,进一步提高隐写分析的检测精度。