0引言近年一系列深度生成技术制作的虚假人脸图像和视频在互联网上广泛传播。这些伪造内容往往非常逼真自然且容易获取,可能被网民无意识、甚至故意滥用。例如,合成假新闻或谣言误导和欺骗公众等。为有效应对此类问题,深度伪造检测应运而生。目前,已经有多种深度伪造检测方法陆续提出(Afchar等,2018;Li等,2020a;Matern等,2019;Nguyen等,2019;Zhao等,2021)。其中,一些检测方案可以在各大开源伪造数据库上达到超过95%的真伪鉴别准确率。这类检测模型的成功依赖于复杂的骨干网络,即利用过参数化的深度神经网络从训练数据中提取更丰富的特征信息以提高真假样本的区分性。对一个典型的深度伪造检测任务而言,评价模型性能好坏的首要准则是分类精度。因此,现有的检测方案在设计时并没有将模型的大小、算力开销和推理效率考虑进来,导致远远无法满足真实世界中日益增长的、快速检测人脸伪造内容的迫切需求。当直接将这些实验模型部署到在线系统中时,如何把握模型鉴别准确率和效率二者间的平衡成为了一个值得重点关注的问题(Cheng等,2018;Sze等,2017)。针对上述原因,本文将模型轻量化问题引入到深度伪造检测领域。作为一种常见的模型压缩与加速手段,模型量化拥有较好的发展前景。一方面,其操作便捷,仅通过某种映射函数将模型参数(主要是权重和激活值)从高位宽的浮点型数值转换为低位宽的整型数值,就能成倍地缩小模型体积,而不需要对模型的网络结构进行剪枝和改良;另一方面,量化后模型在运行过程中的信息流通量被大幅削减(Horowitz,2014),推理速度也相应提升。然而,由于量化后模型参数的表示范围变窄,部分重要的特征信息随机丢失,导致模型性能降低。随着量化程度的进一步加深,这种降质现象可能是灾难性的。特别是对于深度伪造检测任务而言,缺乏充足的伪造线索,模型甚至会完全丧失对虚假人脸的基本鉴别能力。为了缓解模型量化带来的降质问题,开展了大量研究,可大致归纳成两类应对措施。第1类在模型量化的同时,不断调整网络参数以阻止模型精度下降(Choi等,2018;Jacob等,2018;Rastegari等,2016;Zhang等,2018;Zhou等,2018)。本质上说,这类方法等同于模型的再训练过程,称为量化感知微调(Jacob等,2018)。然而,尽管该方法能够缩小量化后模型与原模型之间的精度差距,由于需要对模型进行重新训练,通常是费时且计算代价昂贵的。第2类方法叫做后训练量化,即直接量化预先训练好的模型,然后通过设计合适的校正程序,去除量化过程中引入的各类偏差,弥补模型的精度损失(Banner等,2019;Choukroun等,2019;Nagel等,2019;Zhao等,2019)。相较于第1类方法,后训练量化操作简单,时间成本低,更符合实际应用的需求。值得注意的是,两类方法都需要从原始训练集中收集部分数据辅助量化。然而,对某些具体任务如深度伪造检测来说,模型使用的训练数据大多是敏感的、专用的。出于隐私保护和信息安全等方面的考虑,当再次访问这部分数据时,可能会受到限制,甚至不被允许。因此,研究无数据场景下,如何提升轻量化深度伪造检测模型的性能是十分必要的。受Cai等人(2020)工作的启发,本文将后训练量化与无数据蒸馏相结合,根据人脸伪造检测任务的特性,提出了一种深度伪造检测模型量化压缩方案,分两阶段完成对深度伪造检测模型的轻量化处理。第1阶段,直接将预训练深度伪造检测模型的关键参数转换成低比特位的整数。为实施最充分的压缩,选择同时对权重和激活值进行量化。第2阶段,从预训练模型的批归一化层提取能够反映训练集分布的统计信息,合成一批蒸馏数据作为校准数据集用来矫正激活值的偏移。由于激活值的范围取决于激活函数的类型,为保障模型的伪造检测精度,研究发现采用ReLU6(rectified linear unit with range 6) 函数替换各深度伪造检测模型中的原始激活函数能够取得最佳的量化效果。所提框架在经典人脸伪造数据集FaceForensics++和Celeb-DF v2上进行了实验分析和论证。结果表明,本文方法能够对一系列先进的深度伪造检测模型成功进行量化压缩,得到的轻量级模型基本保持原有的性能,内存占用和计算资源显著降低。1相关工作1.1人脸深度伪造检测技术为了消除人脸伪造内容带来的不良影响、精确检测和筛查所有虚假人脸图像和视频,科研人员提出了多种检测方法(Zhou等,2017b;Li等,2018;Li等,2020a;Ciftci等,2020;Masi等,2020;Qian等,2020)。目前,有不少综述性工作(李晓龙等,2021;曹申豪等,2022;王任颖等,2022)对人脸深度伪造检测技术进行了较为全面且详细的总结概括。早期的工作一般是根据手工篡改过程中遗留的物理痕迹和视觉伪影来区分待测人脸的真假。例如伪造视频中不自然的眨眼现象(Li等,2018)或者不一致的头部姿势(Yang等,2019)。得益于深度学习理论的不断完善,基于深度学习的方法很快发展成为主流,多种类型的卷积神经网络(convolutional neural network,CNN)应用到深度伪造检测任务中,包括VGG (Visual Geometry Group)(Simonyan和Zisserman,2015)、ResNet(residual neural network)(He等,2016)、Xception(Chollet,2017)和EfficientNet(Tan和Le,2020)等。Nguyen等人(2019)设计了一种胶囊网络capsule-forensics,利用VGG-19网络对抽取的人脸区域进行特征编码,然后输送到检测器进行真假分类。Ding等人(2020)将迁移学习的技巧引入到深度伪造检测中,使用ResNet18进行调优。Rössler等人(2019)利用Xception对视频帧的整体和关键区域分别进行学习。实验结果显示,基于局部人脸图像训练所得模型的伪造检测效果远好于全帧模型。比较上述检测方法,可以发现两点共性: 1)将深度伪造检测建模成真/假二分类问题,并使用二分法预测样本的类别;2)模型的核心部分(又称骨干网络)是由一个或多个相同或不同类型CNN网络组成的特征提取器。骨干网络挖掘到的特征信息越丰富,模型的分类准确率就越高。然而,随着生成算法的升级换代,真实样本与虚假样本之间的差异趋向细节化和局部化,给人脸深度伪造检测带来了新的困难和挑战。构造更复杂精巧的骨干网络,提高检测模型对伪造特征的提取和表示能力,是一种行之有效的应对策略。Rahmouni等人(2017)对检测网络的卷积层或池化层进行了适当改进。Zhao等人(2021)以EfficientNet作为骨干网络,通过增加注意力模块、纹理增强模块和双线性池化操作将浅层纹理特征和高层语义特征结合,确保网络能够学习到更丰富的特征信息,实现更精确的检测。祝恺蔓等人(2022)将从视频的关键帧中提取出的一系列紧密表示的脸部图像作为模型的输入,利用CNN网络将它们分别映射到一个统一的高维特征空间,然后在注意力机制的指导下,使多个关键帧进行信息交互,根据获得的帧间和帧内特征编码进行伪造检测。事实上,伪造检测结果的准确率与检测模型的复杂度呈正相关。人脸深度伪造检测技术的发展与进步往往是以牺牲模型的推理速度和内存消耗为代价。显然,这类复杂的大模型不能直接部署到高速、实时的伪造检测应用中。因此,学者开始关注到该领域的模型压缩问题。Chen等人(2021)提出了一种非深度学习背景的轻量级深度伪造检测器DefakeHop,通过连续的子空间学习(successive subspace learning,SSL)从人脸图像的不同区域分别提取特征,同时设计了一种新的蒸馏模块来降低特征维度,获得更简洁的面部描述,最后对不同区域的预测结果进行集成,并据此鉴别样本的真假。1.2模型压缩与加速模型的压缩与加速是一门实用性极强的研究课题,它能够推动理论成果向实际应用转化,将实验模型真正部署到资源有限的平台。常见的方法可大致划分为4类:网络结构设计(Gholami等,2018;Han等,2020;Howard等,2019;Iandola等,2016;Sandler等,2018;Zhang等,2018b)、模型剪枝(Han等,2015;Li等,2016;Mao等,2017)、知识蒸馏(Hinton等,2015;Romero等,2015)和模型量化。网络结构设计是指根据目标平台的特点对模型架构进行调整和优化,使其更加高效。例如减少网络层数和/或通道数、使用深度可分离卷积取代传统的空间域卷积、NAS(neural architecture search)搜索等。模型剪枝即通过将模型中冗余的权值设置为零来删除不必要的参数,从而减少模型的计算和记忆消耗。知识蒸馏源自Hinton等人(2015)的工作,是指利用一个大型的预训练模型作为教师,指导学生模型进行训练,将大模型的知识迁移到另一个相对较小的模型中。而模型量化是通过数学变换,将预模型的关键参数(权重和/或激活值)用低精度的整数来表示和存储,如INT8。该方法不改变网络结构就能够降低内存占用,同时提高运行效率。本文重点关注此类方法。目前,已有各种量化方案(Courbariaux等,2015;Dong等,2019;Haroush等,2020;Lee等,2018;Li等,2022;Wu等,2016;Zhou等,2017a)相继提出,并取得了良好的成效。然而,在较低位宽的环境设置中,量化过程可能会诱发相当严重的精度损失。为了最大程度地将模型性能恢复至量化前的水平,不少学者致力于设计量化感知训练方案(Choi等,2018;Rastegari等,2016;Zhang等,2018a)以微调模型参数。同时,有研究将重心落脚到开发后训练量化方法(Banner等,2019;Zhao等,2019)。通过后期的纠偏程序提升模型的性能表现。无论是何种量化手段,都需要对训练原始模型时使用的部分实验数据进行重复访问。近年来,随着信息安全问题的社会关注度日益增高,数据共享涉及到的隐私规定与许可条例愈发严格,迫使量化过程逐步走向无数据化。1.3无数据模型量化技术目前仅有少数与无数据量化相关的研究工作。Nagel等人(2019)提出了一种可行的方案,能够在无法使用原始训练数据的条件下成功获取量化友好模型。其核心步骤是权重均衡和偏差校正。前者对卷积网络中每层的权值大小进行重新分配,后者则根据存储在网络批归一化层中的统计信息去纠正激活值的偏差。经过这两步操作,权重和激活参数中的离群值被全部移除,每一层的量化误差也相应减小。但是,该方案只量化了模型的权重,并未考虑激活值量化。当参数位宽被压缩至6 bit或更低时,模型的精度呈现陡坡式下滑。类似地,Haroush等人(2020)从直觉主义(inceptionism)(Mordvintsev等,2015)中获得灵感,设计了一种基于知识迁移的方法,利用模型批归一化层的统计特性去重构原始输入数据,借助该数据提升量化后模型的性能。Choi等人(2020)结合对抗生成和知识蒸馏的思想,首先训练一个生成器,制作出一批可替代训练集的数据,然后将它们加入到模型的量化感知训练过程中,计算得到最合适的网络参数。Cai等人(2020)提出了ZeroQ,一种新的无数据后训练量化方法,从原网络的批归一化层提取有用信息,合成校准数据,同时证明了该合成数据能够捕捉到CNN网络不同层对量化的灵敏度。2本文算法2.1整体框架为获取轻量级的深度伪造检测模型,设计了基于知识迁移的无数据后训练量化方法,算法的整体框架如图 1所示。 图1 所提量化方案的整体框架 The framework of our proposed quantization schemeFig 1首先,利用量化方程将预训练深度伪造检测模型的权重参数和激活值均压缩成低比特位的整数,如INT8、INT6等。与此同时,依据预训练模型批归一化层的统计特性,合成一批与原训练集具备相似分布的蒸馏数据。接下来,使用该合成数据作为校准数据集,矫正轻量化处理后模型激活值范围的偏移。通过上述两个步骤,即可获得所需的轻量级深度伪造检测模型。本文算法的研究对象是在大规模人脸伪造数据集上预先训练好的、鉴别准确率超过了85%的深度伪造检测模型,关键参数全部用32 bit浮点数进行存储。首要任务是在允许有少量分类精度损失的前提下,尽可能缩小这些已学到参数的位宽,用低比特整数(如INT8、INT6等)对其进行近似。已有研究(Jacob等,2018)证明当网络偏差参数的位宽设置成32 bit时,在推理阶段能够获得更宽的表示范围,继而帮助模型进行更精确的预测。因此,本文算法只对深度伪造检测模型的权重参数和激活值进行量化压缩,而保留原始偏差参数,不做其他任何处理。2.2深度伪造检测模型的参数量化通过建立线性变换方程(Jacob等,2018)可将学习到的参数$ r$直接量化成整数$ q$。具体为 1 $q=\left[\frac{r}{S}\right]+Z$ 式中,$ r$表示量化前以浮点数形式存在的预训练深度伪造检测模型的某个权重或激活值,$ q$指量化后以整数形式存在的对应权重或激活值。[·]表示取整函数,常量$ S$和$ Z$分别表示尺度因子和参考零点。每一个待量化的$ r$都需要确定其对应的一组量化系数$ S$和$ Z$。伪造检测模型的参数$ r$通常是有正有负的,且正负分布不均衡。为尽可能保留更多的信息,采用非对称式均匀映射(Jacob等,2018),量化系数计算为 2 $\left\{\begin{array}{l}{clamp}(r ; a, b)=\min (\max (r, a), b) \\{\mathit{\Delta}}(a, b, k)=\frac{b-a}{k-1} \\k=2^n-1\end{array}\right.$ 式中,$ a$和$ b$分别代表量化前$ r$张量阵列中所有数值的下界和上界,$ k$是量化后$ q$张量阵列中的最大值,$ n$是指量化的位宽设置, $ clamp$()表示截断函数,通过该函数将所有待量化参数$ r$的数值大小限制在[$ a$, $ b$]($ a$, $ b \in {\bf{R}}$)之间。接下来,将参数空间均匀离散成$ k$个偶数间隔。每个间隔的长度为$ \mathit{\Delta} \left({a, b, k} \right)$,即前文所求的尺度因子$ S$。另外,本文算法中的零点$ Z$直接等价下界$ a$,无需进行单独计算。综上所述,可将式(1)的量化方程改写为 3 $\begin{gathered}q=Q(r ; a, b, k)= \\{\left[\frac{{clamp}(r ; a, b)-a}{\mathit{\Delta}(a, b, k)}\right] \mathit{\Delta}(a, b, k)+a}\end{gathered}$ 由此,可根据线性方程$ Q(r ; a, b, k)$将32 bit浮点型参数$ r$成功映射为[0, $ k$]范围内的整数$ q$。2.3激活值范围的校准一般来说,激活层参数需要在模型运行过程中反复计算和更新,直至调整到某个最合适的激活值范围,该范围能够反映出全体输入数据的分布特性。而根据式(3)直接对深度伪造检测模型的激活值做后训练量化处理,往往会导致激活值范围产生偏移,无法与原数据分布进行正确匹配。因此,本文算法设计了一个简单的校准程序,即收集适量校准数据输送到量化压缩后的深度伪造检测模型中,经过多次前向推理过程,动态校准激活值的范围。由于激活值是各激活层的输出,需根据对应的激活函数计算得到。可见,激活函数的类型与最终的校准效果是密切相关的。常见的激活函数有sigmoid、tanh、Swish、Mish,ReLU及其变体ReLU6等。各函数的表达式为 4 $\left\{\begin{array}{l}f_{\text {sigmoid }}(x)=\frac{\mathrm{e}^x}{\mathrm{e}^x+1} \\f_{\text {tanh }}(x)=\frac{\mathrm{e}^x-\mathrm{e}^{-x}}{\mathrm{e}^x+\mathrm{e}^{-x}} \\f_{\text {Swish }}(x)=x \times f_{\text {sigmoid }}(\beta x) \\f_{\text {Mish }}(x)=x \times f_{\text {tanh }}\left(\ln \left(1+\mathrm{e}^x\right)\right) \\f_{\text {ReLU }}(x)=\max (0, x) \\f_{\text {ReLU6 }}(x)=\min (6, \max (0, x))\end{array}\right.$ 式中,只有ReLU6函数引入了间隔[0, 6]对激活层的输出进行限制,其余函数则允许模型从不同通道中选择任意宽度的取值间隔,这就导致最终的激活值范围可能是无穷大或非常小的。显然,低位宽整数无法精确地描述此类的激活值,而固定大小的激活值范围更容易被量化和校准。因此,选定ReLU6函数作为本框架下所有深度伪造检测模型的激活函数。2.4校准数据的生成校准数据通常需要从原始训练集中进行采样。然而,训练伪造检测模型涉及了敏感性生物特征数据(如包含真实人脸身份信息的图像或视频等)的使用,鉴于数据安全和隐私保护的用户需求,人脸伪造数据集的共享和访问变得愈发困难和受限,这就要求所提的校准程序在无数据场景中同样具备可行性。对此,本文选择合成一批可用数据作为校准集。研究人员尝试利用元数据(Bhardwaj等,2019;Cai等,2020;Lopes等,2017),即存储在预训练模型各中间层的统计信息,作为训练数据的有效替代。受到这些方法的启发,结合深度伪造检测任务的特点,本文选择利用Cai等人(2020)的生成方法来合成校准数据。具体来说,就是抽取预训练模型的批归一化(batch normalization, BN)层作为关键层,从中提炼知识(模型训练时的运行均值和方差),这些统计信息能够反映模型学到的数据分布。对这些知识进行迁移,指导生成器不断优化随机噪声,最终可获得与原训练集具有相同或相似特征的合成数据。假定所有输入数据都提前经历了标准归一化的预处理过程,即均值为0($ \mu_0$=0)、方差为1($ \sigma_0$=1)。首先,将深度伪造检测视为一个典型的二分类问题,即判断待测样本的类别为真实或虚假。此阶段的总目标通常是最小化经验风险损失,数学表达式为 5 $\min\limits _\theta L(\theta)=\frac{1}{N} \sum\limits_{i=1}^N f_{\mathrm{ce}}\left(D\left(\theta ; x_i\right), y_i\right)$ 式中,$ \theta \in {\bf{R}}^n$是可学习参数,$ N$是训练样本的总数,($ x_i$, $ y_i$)表示输入样本和对应的类别标签。$ D$代表深度伪造检测模型的骨干网络,其输出值为样本$ x_i$划分到类别$ y_i$的概率$ p_i$。$ f_{\rm{ce}}$指每个样本的预测结果与其实际标签的交叉熵损失,具体为 6 $f_{\mathrm{ce}}\left(p_i, y_i\right)=-\left[y_i \log p_i+\left(1-y_i\right) \log \left(1-p_i\right)\right]$ 假定每个深度伪造检测模型都包含$ K$个BN层($ BN_1$, $ BN_2$, …, $ BN_K$)。将位于第$ i$个批归一化层$ BN_i$之前的激活层输出记做$ a_i$。由模型的结构可知,只要将样本输入到模型中,无论是在训练阶段,还是推理阶段,每一层$ BN_i$都需要计算一组参数,即运行均值$ \mu_i$和方差$ \sigma_i$,其作用是对模型中间层的激活值$ a_i$进行归一化,也能够间接反映出输入样本的分布特征。当无法获取原始训练数据时,就可以利用存储在预训练模型BN层中的这些统计信息,不断优化从标准高斯分布中随机采样得到的$ n$个无标签噪声数据$ \boldsymbol{X}^n=\left\{x_1, x_2, \cdots, x_n\right\}$。将$ \boldsymbol{X}^n$输入到预训练好的深度伪造检测模型中,在前向传播阶段对其类别标签进行判别,并收集该过程中模型各BN层产生的运行均值$ \mu_i^*$和方差$ \sigma_i^*$。为了更好地匹配训练集的数据分布,使用L2范数对生成器进行相似性约束。具体为 7 $L_{\mathrm{syn}}=\min \sum\limits_{i=0}^K\left\|\mu_i^*-\mu_i\right\|_2^2+\left\|\sigma_i^*-\sigma_i\right\|_2^2$ 通过梯度反向传播来迭代更新$ \boldsymbol{X}^n$,最终得到能够完美拟合训练集特性的一批数据$ \tilde{\boldsymbol{X}}^n=\left\{\tilde{x}_1, \right. \left.\tilde{x}_2, \cdots, \tilde{x}_n\right\}$。本文基于不同的人脸伪造数据库,利用多种深度伪造检测预训练模型分别生成了对应的校准数据。图 2为一些可视化的范例。 图2 合成数据的可视化效果 The visualization of synthetic dataFig 23实验与分析3.1实验数据及相关设置实验在经典伪造人脸数据集FaceForensics++(Rössler等,2019)和Celeb-DF v2(Li等,2020b)上进行。FaceForensics++从YouTube网站收集了1 000段视频作为真实样本,使用4种人脸伪造方法Deepfakes、Face2Face、FaceSwap和Neural Textures生成了各1 000段虚假视频。并根据H.264标准,对数据集中的所有视频分别进行了C0、C23和C40共3种不同级别的压缩处理。其中,经过C23压缩后的视频在视觉上几乎无损,被划分为高质量子集,记做FF++(HQ)。本文重点研究深度伪造检测模型的轻量化,因此仅选用该部分视频作为实验数据。Celeb-DF v2从YouTube上搜集了590段视频作为真实样本,使用改进的Deepfakes合成了5 639段伪造视频。为了平衡真假样本,又从YouTube上另行搜集了300段真实视频作为补充。所有视频均按MPEG4.0标准进行量化编码,具有较高的视频质量。实验的评估指标包括权重参数的位宽(weight bit-width)、激活值的位宽(activation bit-width)、模型的体积大小Size、对全部样本的整体鉴别准确率Acc(accuracy)、对真实样本的鉴别准确率TPR(true positive rate)、对伪造样本的鉴别准确率TNR(true negative rate)和AUC(area under the ROC curve)。此外,用权重和激活值的位宽大小表示量化的程度,记为W(·)A(·)。如W8A8表示将权重和激活值量化为8 bit的整型数值。首先,需要在FF++(HQ)和Celeb-DF v2上预先训练好一系列深度伪造检测模型作为评测基准,并确保每个基线模型都拥有优秀的检测性能(如模型的鉴别准确率不低于85%)。参考1.1节的工作,采用4种深度神经网络ResNet50(He等,2016)、Xception(Chollet,2017)、EfficientNet-b3(Tan和Le,2020)和MobileNetV2(Sandler等,2018)作为基线模型的骨干部分。同时,由2.3节可知,激活函数的类型会影响模型的轻量化效果。因此,提供了两类基线模型用做后续的实验比较。第1类基线模型保留了骨干网络的原始激活函数,而第2类基线模型均使用ReLU6替换了骨干网络的激活函数,MobileNetV2除外(其激活函数本身就为ReLU6)。所有基线模型的具体信息如表 1所示。其中,Acc-F和Acc-C分别表示深度伪造检测模型在FF++(HQ)和Celeb-DF v2上的识别准确率。其次,基于上述基线模型,利用2.4节中的生成算法在FF++(HQ)和Celeb-DF v2上分别合成了各16幅图像作为校准集,其数量级远少于原训练集(不足千分之一)。此外,为了尽量避免在实验过程中引入随机误差,使合成数据与训练数据的所有设置都保持一致。 表1 深度伪造检测基线模型的详细信息 模型 位宽/bit Acc-F/% Acc-C/% ResNet50 W32A32 93.89 96.43 Xception W32A32 93.97 97.51 EfficientNet-b3 W32A32 92.84 96.66 MobileNetV2 W32A32 91.33 94.81 ResNet50* W32A32 92.27 96.95 Xception* W32A32 93.83 96.85 EfficientNet-b3* W32A32 87.35 92.10 Details of baseline DeepFake detection modelsTable 1 W代表权重的位宽值,A代表激活值的位宽值,带*的模型表示使用ReLU6激活函数。3.2对比实验与分析按照本文方法,对表 1中4种基线模型进行量化压缩,并在上述两个数据集中分别测试了各轻量化模型的伪造检测性能。为尽可能减少轻量化带来的性能损失,将实验中所有模型的激活函数均统一成ReLU6。不同深度伪造检测模型经过量化压缩前后在FF++(HQ)上的测试结果如表 2所示。综合表 1和表 2可知,在FF++(HQ)数据集上,当参数的位宽设置为W8A8时,与第1类基线模型相比,Xception和MobileNetV2不但没有Acc损失,还分别提升了0.01%和0.92%,两者的鉴别性能均超过了对应的第2类基线模型。ResNet50在W6A8条件下获得最佳Acc,同样高于其对应的第2类基线模型,略低于第1类基线模型。对于EfficientNet-b3,虽然与第1类基线模型相比,鉴别准确率出现了较大幅度的减少;但相较于第2类线模型,Acc在量化环境中变得十分稳定。当量化程度进一步加深至W6A6时,所提方法仍能够使上述各类模型都保持良好的伪造检测性能,其内存占用却得到了成倍降低。此外,还可以看到,随着量化程度的不断加深,ResNet50、EfficientNet-b3和MobileNetV2这3类模型的TPR增大,TNR减小,间接表明模型在量化过程中可能丢失了部分伪造特征信息,导致模型更倾向于将可疑样本预测为真实人脸。而Xception则与前面3种模型呈现完全相反的情况。这种现象表明,不同结构的模型在量化环境下丢失的信息是不相同的。 表2 不同轻量级模型在FF++(HQ)上的伪造检测结果 模型 W位宽/bit A位宽/bit Size/MB Acc/% TPR/% TNR/% ResNet5032 32 90.01 92.27 93.29 91.98 8 8 22.50 90.68 95.86 89.2 8 6 22.50 86.32 97.29 83.18 6 8 16.88 92.56 85.79 94.49 6 6 16.88 91.37 91.71 91.27 Xception32 32 79.70 93.83 91.00 94.63 8 8 19.93 93.98 90.79 94.90 8 6 19.93 90.98 76.57 95.10 6 8 14.94 93.84 87.71 95.59 6 6 14.94 91.37 74.07 96.31 EfficientNet-b332 32 41.36 87.35 83.36 88.49 8 8 10.34 87.65 83.29 88.9 8 6 10.34 84.78 88.07 83.84 6 8 7.76 83.54 74.43 86.14 6 6 7.76 81.00 79.86 81.33 MobileNetV232 32 8.74 91.33 90.14 91.67 8 8 2.19 92.25 87.5 93.61 8 6 2.19 87.48 95.14 85.29 6 8 1.64 89.32 92.21 88.49 6 6 1.64 81.00 96.79 76.49 Deepfake detection results of different quantized models on FF++ (HQ)Table 2 W代表权重的位宽值,A代表激活值的位宽值,加粗字体表示不同模型各列最优结果。与FF++(HQ)相比,Celeb-DF v2中的伪造视频具备更高的生成质量,能够帮助检测模型的骨干网络捕获到更细粒度、更局部化的伪造痕迹。相应地,模型BN层存储的统计信息也更丰富,有利于本文算法生成更能拟合原始训练集分布的校准数据,进而更好地辅助检测模型的量化压缩。因此,在量化压缩处理后,与两类基线模型相比,4种不同结构的轻量级深度伪造检测器在Celeb-DF v2上的性能更加稳定。不同深度伪造检测模型经过量化压缩前后在Celeb-DF v2上的测试结果如表 3所示。可以看出,当利用所提方法将模型压缩至W6A6时,各轻量化模型在Celeb-DF v2上的Acc均超过了92%。MobileNetV2更是表现出优秀的量化特性,在W8A8、W8A6和W6A6量化中,其Acc分别达到了94.88%、95.58%和94.90%,比基线模型提升了0.07%、0.77%和0.09%。实验结果表明,所提算法对各类不同结构的深度伪造检测模型都具有良好的压缩效果,得到的轻量级模型能够基本保持原来的性能。 表3 不同轻量级模型在Celeb-DF v2上的伪造检测结果 模型 W位宽/bit A位宽/bit Size/MB Acc/% TPR/% TNR/% ResNet5032 32 90.01 96.95 91.80 99.65 8 8 22.50 97.28 92.75 99.65 8 6 22.50 97.24 92.87 99.53 6 8 16.88 92.30 78.20 99.68 6 6 16.88 92.41 78.48 99.71 Xception32 32 79.70 96.85 92.25 99.26 8 8 19.93 96.97 92.81 99.15 8 6 19.93 95.97 91.29 98.41 6 8 14.94 96.31 90.79 99.21 6 6 14.94 95.89 89.61 99.18 EfficientNet-b332 32 41.36 93.73 83.71 98.97 8 8 10.34 93.53 83.43 98.82 8 6 10.34 93.84 85.39 98.26 6 8 7.76 92.12 78.54 99.24 6 6 7.76 92.63 80.39 99.03 MobileNetV232 32 8.74 94.81 86.24 99.29 8 8 2.19 94.88 86.24 99.41 8 6 2.19 95.58 89.27 98.88 6 8 1.64 94.34 85.45 99.00 6 6 1.64 94.90 88.37 98.32 DeepFake detection results of different quantized models on Celeb-DF v2Table 3 W代表权重的位宽值,A代表激活值的位宽值,加粗字体表示不同模型各列最优结果。本文还与同类工作DefakeHop(Chen等,2021)进行了比较,结果如表 4所示。其中,DefakeHop的各项指标来自原文献;表 4后4行的模型是通过本文方法所得。可以看到,本文方法不改变原模型的结构,因此模型的参数数目并未减少,其量级远大于DefakeHop,但所得4种轻量级模型的AUC都更优。事实上,这两种压缩方法的原理是截然不同的。DefakeHop属于网络设计,即根据深度伪造检测任务的特点直接构造轻量模型。而所提方案属于参数量化,适用于压缩任意已经训练好的模型。两者可进行结合,使检测器更符合实际应用的需求。 表4 不同方案所得轻量级深度伪造检测模型的性能对比 模型 参数量 AUC-DF/% AUC-C/% DefakeHop 42.8 k 95.95 87.65 ResNet50-W8A8 25.6 M 98.67 96.20 Xception-W8A8 22.9 M 98.54 95.65 EfficientNet-b3-W8A8 12.0 M 94.71 91.14 MobileNetV2-W8A8 3.5 M 97.96 92.82 Comparison of light-weight DeepFake models obtained by different compression schemesTable 4 AUC-DF和AUC-C分别表示模型在FF++(HQ)的子数据集Deepfakes和Celeb-DF v2上的AUC,加粗字体表示各列最优结果。3.3消融实验与分析图 3展示了不同位宽设置下4种深度伪造检测模型在FaceForensics++和Celeb-DF v2上的性能变化趋势。与其他3种卷积网络相比,MobileNetV2属于轻量级别的结构设计,参数量和复杂度要小得多,使相应的检测模型能够学习并记住的特征信息大幅减少,导致模型的鉴别准确率在量化过程中出现了更剧烈的波动。特别是在极低位宽的量化设置中,如W8A4和W6A4,MobileNetV2的准确率下降幅度最大,基本丧失了对伪造人脸的判别能力。对同一个检测模型而言,本文算法对权重和激活值同时做了量化处理,最终获得的轻量级模型是两者综合影响的结果。当固定激活参数的位宽,只压缩权重参数时(如W8A8→W6A8→W4A8),不难发现,模型的准确率损失明显减缓。这就意味着激活值的量化在整个算法流程中发挥了更重要的作用,想要恢复更多的性能损失取决于所设计的校准程序能否确定出正确的激活值范围。 图3 4种轻量化深度伪造检测模型在不同位宽设置下的性能比较 Comparison of four quantized DeepFake detection models in diverse bit-width settingsFig 3 ((a)FaceForensics++; (b)Celeb-DF v2) 为了验证本文校准程序的有效性,一方面,以W8A8压缩为例,分析了随着校准图像数量的改变,轻量级深度伪造检测模型的性能变化,结果如图 4所示。经观察可知,当校准集从8幅图像成两倍逐渐增加至512幅图像,4种模型的鉴别准确率均未出现大幅度波动,基本维持在某个固定的数值附近。这从侧面印证本文所用生成算法能够将原训练集的整体分布通过知识蒸馏浓缩到少量的合成图像上,既保证了特征信息的多样性,又节约了生成和存储校准数据所需要的资源;另一方面,分析了使用不同类型的校准数据,即合成数据与原始训练数据对量化效果的影响。根据表 2和表 3,选择了对4种深度伪造检测模型都友好的量化精度,即将权重和激活参数的位宽设置为W8A8和W6A8。 图4 校准数据量对轻量级深度伪造检测模型性能的影响 Effect of calibration picture number on performances of quantized DeepFake detection modelsFig 4 ((a)FaceForensics++; (b)Celeb-DF v2) 不同类型校准数据对深度伪造检测模型量化压缩结果的影响如图 5所示。可以看到,在同一个实验数据库中,无论何种类型的模型,合成数据的校准效果均可以媲美原始训练数据,两者获得的轻量级模型拥有不相上下的伪造检测性能。甚至某些模型在经过合成数据量化后,鉴别准确率会更高,如ResNet50。这就证明了利用本文算法生成的数据能够从预训练模型的BN层中很好地学习到训练集的特征分布,而所提的校准程序能够帮助量化后的模型获取正确的激活值范围。对于不同的实验数据库,无论使用何种类型的校准数据,各轻量化模型在Celeb-DF v2数据集上的鉴别准确率都更高。再次印证了3.2节的结论,即高质量的人脸伪造数据库能够帮助模型在量化压缩的环境中维持更稳定的检测性能。 图5 不同类型校准数据对轻量级深度伪造检测模型性能的影响 Effect of different calibration data on performance of quantized DeepFake detection modelsFig 5此外,为验证本文算法选择的激活函数的合理性和正确性,对不同激活函数对量化效果的影响进行实验。根据ResNet50、Xception、EfficientNet-b3和MobileNetV2的原文,挑选了3种激活函数ReLU、Swish和ReLU6进行实验,并将所有模型的权重位宽都固定为8 bit,以避免对实验结果产生干扰。仍然在FaceForensics++和Celeb-DF v2上分别测试各模型的伪造检测性能,结果如图 6和图 7所示。可以看到,使用ReLU6激活函数的模型在经过8 bit和6 bit压缩后,准确率损失很少,部分场景下甚至做到了无损。这证明了2.3节的结论,即ReLU6对量化最友好。 图6 不同激活函数对轻量化深度伪造检测模型在FaceForensics++上性能的影响 Effect of different activation functions for performance of quantized DeepFake detection models on FaceForensics++Fig 6 ((a)ResNet50;(b)Xception; (c)EfficientNet-b3;(d)MobileNetV2) 图7 不同激活函数对轻量化深度伪造检测模型在Celeb-DF v2上性能的影响 Effect of different activation functions for performance of quantized DeepFake detection models on Celeb-DF v2Fig 7 ((a)ResNet50;(b)Xception; (c)EfficientNet-b3;(d)MobileNetV2) 4结论为了应对伪造内容对社会秩序带来的威胁和挑战,满足快速检测和在线应用的需求,提出了一种无数据模型压缩方法来开发轻量级的深度伪造检测器。不仅将量化的思想成功引入到伪造检测领域,而且考虑了数据的隐私与安全,整个算法流程无需访问原始训练数据。该方法充分挖掘了预训练模型中的有用信息,首先通过非对称线性映射将预训练模型的权重和激活值量化成低位宽整数。接下来,根据预训练模型批归一化层的统计特性,生成与原训练集具备相似分布的校准数据。最后,选择量化友好型函数ReLU6作为激活函数,并将校准集输入给模型,通过校准程序动态调整激活值范围。经过上述操作,得到高性能的轻量级深度伪造检测模型。本文选择了4种深度伪造检测模型ResNet50、Xception、EfficientNet-b3和MobileNetV2进行压缩,并在两个经典的伪造数据库FaceForensics++和Celeb-DF v2测试了所得轻量级模型的伪造检测性能。实验结果显示,所提算法能够在不同量化精度下获得高鉴别准确率的模型,同时大幅减少模型的存储消耗和占用的计算资源。此外,本文研究了各类因素对量化结果的影响,包括位宽组合的不同、校准数据的来源和激活函数的类型。大量的实验分析证明了所提校准程序的可行性、合成数据的有效性以及激活函数选择的合理性。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读