Page 283 - 《软件学报》2021年第9期
P. 283
沈军 等:基于卷积神经网络的低嵌入率空域隐写分析 2907
在第 3 个卷积模块的卷积层中使用了 64 个滤波器,特别的是使用了大小为 62×62 的大尺寸卷积核.
Salomon 等人 [11] 验证了使用大卷积核能够构建小的长程相关模式,可以获得一组精简的识别特征.通过小卷积
核与大卷积核的结合使用,使得模型在训练阶段能够有效地学习到低嵌入率的隐写特征.大卷积核还能够保证
网络正确学习隐写特征的同时,降低特征的维度.第三个卷积层输出的特征图大小为 62×2×2,极大地减小了特征
图的尺寸,减轻了后续的计算复杂度.
2.4 批量归一化
通过使用批量归一化层(BN 层) [21] 对每个卷积层实现归一化操作.由于卷积神经网络中的训练阶段,每一层
都会对网络参数进行更新,而每一层对参数的更新都会影响后续网络输入数据的分布,并随着网络深度的加深
进行放大,输入数据的分布的变化会降低对网络训练的收敛速度.批量归一化操作能够很好地解决数据分布产
生变化的问题,归一化后的值都在特定的范围以内,使得模型能够快速地进行收敛,并在一定程度上防止网络出
现过拟合的现象.批量归一化首先需对特征的每个维度进行归一化,其公式如下所示:
x ()k − [ E x ()k ]
ˆ x ()k = (10)
Var [x ()k ]
(k)
(k)
(k)
其中,E[x ]表示每一批训练数据 x 的平均值,Var[x ]表示每一批训练数据方差, Var [x ()k ] 表示数据的标准差.
通过公式(10)变化之后的数据形成了均值为 0、方差为 1 的正态分布.为了避免以上变换影响网络的特征学习
能力,第 2 步需要进行变换重构,其公式如下所示:
y ()k = γ () ( )k ˆ x k + β ( )k (11)
(k)
(k)
其中,γ和β为可学习的参数,每个训练数据 x 都有对应的γ、β参数;y 为批量归一化操作后输出的特征图.当
γ = Var [x ()k ] 且β=E[x ]时,可以得到上一层学到的特征分布.通过变换重构,使得网络对特征分布的学习没有
(k)
被破坏.网络中,通过 BN 层实现归一化,将卷积层输出的数据进行归一化处理;Scale 层实现归一化后的平移和缩
放.通过批量归一化操作,能够避免梯度消失,并能有效提高模型的检测精度 [26] .
2.5 激活函数
本文在前 3 个卷积模块的最后使用了 TanH 函数作为激活函数,TanH 函数如公式(12)所示:
e − e − x
x
() =
fx (12)
x
e + e − x
第 1 个全连接层后使用 ReLU 函数作为激活函数,ReLU 函数如公式(13)所示:
f(x)=max(0,x) (13)
其中,x 为输入特征图.TanH 函数能够使输出与输入的关系保持非线性单调上升和下降关系.Xu 等人 [14] 验证了,
在网络结构的前几组非线性激活函数使用 TanH 函数能够比 ReLU 函数取得更好的性能.由于 TanH 函数的饱
和区域,能够有效地限制数据值的范围.
经过 3 个卷积模块的特征提取后进入分类模块,分类模块主要包括两个全连接层和一个损失函数:第 1 个
全连接层的神经元数量为 1 000 个,其后使用 ReLU 激活函数来提升网络的性能;第 2 个全连接层的神经元数量
为 2,对应于网络输出的类别.分类模块的最后,通过 softmax 函数来对两个类别标签上产生概率分布.
2.6 模型分析
本文在预处理阶段使用了 30 个 SRM 滤波器,相比于仅仅使用一个 HPF 高通滤波器的预处理方式,SRM 滤
波器能够提取出更多的噪声残差信息,使网络在训练阶段学习到更多的隐写特征,从而提高隐写分析能力.在
Pibre [10] 、Salomon [11] 等人的网络结构中,都是只采用了两个卷积层,本文增加了卷积层的层数,有利于训练阶段
进行特征提取.
通过在第 3 个卷积层中使用大尺寸卷积核,在提高了特征提取性能的同时,降低了特征数量,从而限制了训
练模型的大小(在输入图像大小为 256×256 时,文献[10]模型大小约为 980MB,本文的训练模型大小约为 31MB).