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).
   278   279   280   281   282   283   284   285   286   287   288