ViT——探索自监督视觉Transformers在深度伪造检测中的应用

news2024/9/20 18:31:10

介绍

论文地址:https://arxiv.org/abs/2405.00355

在这篇评论文章中,我们研究了自监督、预训练Transformers与监督、预训练Transformers和传统神经网络(ConvNets)相比,在检测深度伪造方面的效果如何。

我们尤其关注在训练数据有限的情况下提高泛化能力的潜力。尽管利用Transformers架构的大规模视觉语言模型在各种任务(包括零镜头和少镜头学习)中取得了显著的成功,但在深度假体检测领域,预训练视觉Transformers(包括大规模视觉Transformers)作为特征提取器仍然是个难题。ViTs)作为特征提取器仍然存在阻力。

其中一个令人担忧的问题是,当训练或微调数据较少或不多样化时,往往需要过大的容量,而且无法获得最佳泛化效果。这与 ConvNets 形成了鲜明对比,后者已经成为一种稳健的特征提取器。此外,从头开始训练和优化转换器需要大量的计算资源,这主要局限于大公司,阻碍了学术界更广泛的研究。

变压器自监督学习(SSL)的最新进展,如 DINO 及其衍生物,已经显示出在各种视觉任务中的适应性,并具有明确的语义分割能力。使用 DINO 进行的深度假货检测显示了有限的训练数据和部分微调的实施情况,证实了对任务的适应性以及通过注意力机制对检测结果的自然解释能力。此外,对用于深度假货检测的Transformers进行部分微调提供了一种资源节约型替代方案,可显著减少计算资源。

算法框架

问题的提出

作为一个基本的二元分类问题,给定一个输入图像(I)和一个去掉了分类头的预训练骨干网(B),目标是构建一个网络(F),利用(B)将(I)分类为 "真 "或 “假”。这可以表达如下:

其中,σ(−) 是一个 sigmoid 函数,将 F(B(I)) 的输出映射到 [0, 1] 范围内的概率。另外,τ 是阈值。

软最大值函数可用于将 F 提取的对数转换为概率,但使用软最大值有助于从二元分类扩展到多类分类。主干 B 从预处理模块开始,由 n 块组成。为简单起见,我们将块 i 提取的中间特征 I 称为 ji。至于 τ 的值,不同论文确定其最佳值的方法可能有所不同。本文将 τ 设为 0.5 或与验证集上计算出的平均错误率 (EER) 相对应的阈值,具体取决于实验设置。

在这里插入图片描述

图 1:正在考虑的两种方法概览。

方法 1:使用冻结骨干网作为多级特征提取器

在这种方法中,中间特征 ji由适配器 A(可选)进一步处理,通过特征融合操作 Σ 与其他区块提取的其他中间特征融合,然后由分类器 C(一般为线性)进行分类。这种方法就是图 1 的左侧。主干 B 保持冻结。使用由 K 最终块提取的 K 最终中间特征。其形式如下

方法 2:微调最后一个变压器模块

这种方法比方法 1 更直接。如图 1(右)所示,它在主干 B 之后添加了一个新的分类器 C。其形式如下

在微调过程中,前 n−k 块将被冻结。对于转换器主干,类(CLS)标记和寄存器标记(如果存在)也会解冻,并与最后解冻的 k 块一起用新分类器 C 进行微调。这种方法的两个主要优点是:a. 最后的 k 块与新分类器 C 一起被冻结和微调。

  • 适配器 A 和特征融合操作 Σ 无需额外参数。避免附加参数的好处在于,现代特征提取器(尤其是Transformers)的尺寸已经足够大。
  • 随着最终转换器块和标记的微调(在转换器主干的情况下),CLS 标记的注意力权重也会进行调整,以便进行深度伪造检测。这些可用于自然可视化重点区域,类似于 DINO 中使用的可视化技术。这一改进提高了检测器的可解释性,而可解释性是深度伪造检测的一个重要因素。

实验测试

数据集和评估指标

我们收集了各种深度伪造方法生成或处理的图像,并将其用于建立数据集。表 1 列出了训练集、验证集和测试集的详细信息。数据集的设计在真实图像与虚假图像的比例以及每种训练方法的图像数量上保持平衡,确保不出现重复。
在交叉数据集评估中,使用了Tantaru 等人构建的数据集,其中包含基于扩散方法生成或处理的图像。训练集用于训练或微调模型,验证集用于选择超参数。然后使用测试集进行评估和比较。

表 1.数据集摘要。

在 评估指标方面,采用了以下指标。

  • 分类准确率 ɑ( text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} \),其中 ɑ( TP \)为真阳性, ɑ( TN \)为真阴性, ɑ( FP \)为假阳性, ɑ( FN \)为假阴性。

  • 真阴性率 (TNR)Ј( \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} \)

  • 等效错误率 (EER):假阳性率 (FPR) 等于假阴性率 (FNR) 时的值

  • Half Total Error Rate (HTER) ɑ( \text{HTER} = \frac{FPR + FNR}{2} \)

方法 1 的实验结果

深层伪造检测的任务是识别伪造和不规则图案等深层伪造指纹,由于完全依赖 CLS 标记并非最佳选择,我们评估了结合补丁标记和多个中间特征以及最终区块的效果。我们还比较了加权求和(WS)和串联(concat)这两种特征融合技术的性能。此外,还对不同大小的 DINO 主干网进行了验证,结果见表 2。

表 2:采用不同版本和结构的 DINO 作为骨干的方法 1 模型的能效比

这里适用 "越大越好 "的原则。骨干网规模越大,EER 通常越低。与完全依赖 CLS 标记相比,使用所有标记会产生更好的结果。此外,使用多个区块比使用单个区块的性能更好,不过随着 k 的增加,训练下游模块会变得更加困难。虽然 DINO 和 DINOv2 在性能上通常没有明显差异,而且在 DINO 中,使用大尺寸和小尺寸补丁也没有明显的性能差异,但特征串联比使用加权和得到的结果更好。

表 3.1.1.1.1. 以 SSL 预先训练的 DINOv2 - ViT-L/14-Reg 为骨干对方法 1 的强化

选择 DINOv2 - ViT-L/14-Reg(因为在性能和模型大小之间取得了平衡)。使用简单的线性适配器来降低特征维度和特征联系。此外,还采用了 "丢弃 "技术来减少过度学习。结果见表 3。

最佳配置使用了滤除、线性适配器和特征串联的组合。这一最佳配置被应用于 EfficientNetV2、DeiT III 和 EVA-CLIP,并将其性能与 DINOv2 进行了比较。结果如表 4 所示:DINOv2 的性能明显优于 EfficientNetV2 和 DeiT III,EVA-CLIP 的性能也不错。这些结果凸显了使用 SSL 进行预训练的优势,可以学习到适用于多种任务的良好表征。

表 4.与以往研究的比较

方法 2 的实验结果

DINOv2 - ViT-L/14-Reg 被选为 DINOv2 的代表,并在方法 1 中进行了详细验证。同样,我们还选择了 EfficientNetV2、DeiT III 和 EVA-CLIP 进行比较。表 5 显示了微调最终区块(在转换器中为标记)时的性能。与方法 1 相比,所有模型的性能都有所提高,DINOv2 与其他模型的性能差距有所缩小,但 EVA-CLIP 是最接近的竞争对手。尽管如此,DINOv2 的性能仍然名列前茅:为了缩小与 DINOv2 的差距,EVA-CLIP 需要在注释丰富的大量数据集上进行预训练。与 DINOv2 相比,这是一项耗资巨大的任务,因为 DINOv2 是在一个小得多、未加注释的数据集上进行预训练的。在相同的架构下(DeiT III 和 DINOv2),就 EER 而言,性能差异接近 6%。其中一些差异可能是由不同的训练数据造成的。总之,这些结果再次凸显了使用 SSL 对 ViT 进行预训练的重要优势。

表 5.方法 2 中 ConvNet 与 Transformer 架构的比较

交叉数据集检测

在这项实验中,对检测器检测未知深度假货的泛化能力进行了评估。这种情况被认定为激烈竞争。这是因为训练集不包含漫反射图像。使用未知验证集重新校准了分类阈值。结果见表 6。值得注意的是,所有模型的性能都有所下降。表现最好的 EER 从 11.32% 下降到 27.61%。总体而言,方法 2 的性能始终优于方法 1。在方法 2 中,EfficientNetV2 比其他受监控的预训练变压器表现出更好的泛化能力;DINOv2 保持了表现最佳的地位,再次证明了在 ViT 中使用 SSL 的优势。

表 6:各种 ConvNet 和传感器架构在未使用的测试集上的性能比较,该测试集由使用基于扩散的方法生成或处理的图像组成

总结

在这篇评论文章中,提出了两种使用 SSL 预训练 ViT(特别是 DINO)作为特征提取器进行深度假货检测的方法。第一种方法是使用冻结的 ViT 骨干来提取多层次特征。第二种方法则涉及对最终的 k 个块进行部分微调。

通过多次实验发现,微调方法显示出卓越的性能和可解释性。本研究的结果为数字取证界在深度伪造检测中使用 SSL 预训练 ViT 作为特征提取器提供了宝贵的见解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2042720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源的 P2P 跨平台传文件应用「GitHub 热点速览」

就在上周,发完那篇文章之后不久,我就有幸获得了 GitHub Models 服务公测的访问权限,所以就体验了一下 Playground 聊天功能。 起初,我以为这是“微软菩萨”降临,但玩了一圈下来,发现实际效果并没有那么惊艳…

❤️【接口测试面试】精选50接口测试面试题目,或许能帮到金九银十面试浪潮中的你❤️

基本理论知识 1、什么是(软件)接口测试? 接口测试:是测试系统组件间接口的一种测试方法 接口测试的重点:检查数据的交换,数据传递的正确性,以及接口间的逻辑依赖关系 接口测试的意义:在较早期开展,在软…

iPhone官方商店软件下载---免费看各种剧第⑤弹【iOS版包括iPad】

①点击iPhone自带软件App Store ②点击搜索,输入“周末趣味活动” ,点击下载到手机 ③进入软件页面后,我们需要激活页面,点击“feedback” ,输入“周六日”,点击“summit” ④等软件闪退后,再点…

智能化清理C盘的方法 小白也可以轻松清理C盘了 不再担心误删文件

智能化清理C盘的方法 小白用户也可以轻松清理C盘了 不再担心误删文件。对于电脑小白来说,C盘清理是一个大大的问题,因为大家都不知道C盘里有哪些文件可以删除,哪些不能删除,所以就直接的导致大家不可能去清理c盘垃圾。 就算是C盘…

一次sql请求,返回分页数据和总条数

日常搬砖,总少不了需要获取分页数据和总行数。 一直以来的实践是编码两次sql请求,分别拉分页数据和totalCount。 最近我在思考: 常规实践为什么不是 在一次sql请求中中执行多次sql查询或多次更新,显而易见的优势: ① 能…

opencv 控制鼠标键盘实现功能setMouseCallback

鼠标事件类型 OpenCV 支持多种鼠标事件类型,常见的包括: cv2.EVENT_LBUTTONDOWN:左键按下 cv2.EVENT_RBUTTONDOWN:右键按下 cv2.EVENT_MBUTTONDOWN:中键按下 cv2.EVENT_LBUTTONUP:左键释放 cv2.EVENT_RBUTT…

Vue3从零开始——带你轻松掌握组件的基本操作

文章目录 1. Vue 组件的基础概念1.1 什么是组件?1.2 组件的作用1.3 组件的分类(全局组件 vs 局部组件) 2. 创建和注册组件2.1 单文件组件(SFC)2.2 全局组件注册2.3 局部组件注册 3. 组件命名格式4. ref获取DOM元素4.1 …

CSC7225、CSC7224 双绕组24瓦芯片

CSC7225、CSC7224为高性能电流模式 PWM 开关电源控制器,满足绿色环保标准;CSC7225、CSC7224广泛适用于经济型开关电源,如 DVD、机顶盒、传真机、打印机、LCD 显示器等。CSC7225、CSC7224采用 DIP-8 封装。应用原理如下图: CSC7225…

目前最流行的前端构建工具,你知道几个?

现在的市面上有很多不同的前端构建工具,我们很难对它们一一进行关注。在本文中,我们将重点介绍最受欢迎的几种,并探讨开发人员喜欢或不喜欢它们的原因。 Webpack Webpack 是一个模块打包器,主要用于处理 Web 应用程序的资源的优化…

Kali 2024 逆向调试 GDB 13.2 安装插件 Peda 不兼容报错解决方案

发现问题 如果你尝试直接进行$ apt install gdb安装后应该是最新版的gdb 13.2。并且尝试安装peda后将会出现from six.moves import range报错 2024版的kali的python3是python3.11版本,而peda中的six库支持的是3.11之前的。而gdb13是支持python3.12的。 有趣的一点…

EDAS(企业级应用服务)

1 :介绍 1:edas 提供了应用,开发,部署,监控,运维。同时支持 spring cloud, dubbo ,HSF 2:Ali-Tomcat 基于tomcat改造的Servlet容器。支持原有功能,它在启动时会自动加载Pandora(潘多拉&#x…

Java面试八股之简述消息队列P2P模型

简述消息队列P2P模型 P2P模型组件 生产者(Producer):生产者是创建并发送消息的实体。它可以是一个应用程序、服务或任何产生数据的系统组件。 队列(Queue):队列是存储消息的数据结构。在P2P模型中,队列扮演着中间存储的角色,负…

[二次元]个人主页搭建

文章目录 域名买一个免费的 框架HexoHexo-Theme-ParticleX Halo 参考 域名 买一个 有钱人玩这个 免费的 github.io 教程在github官方文档有; 框架 Hexo 静态的 Hexo-Theme-ParticleX Argvchsの小窝 Halo 动态的 halo 参考 基于Hexo框架的GitHub个人主页…

推荐一个优秀的 .NET MAUI 组件库

目录 前言 组件介绍 组件展示 布局 按钮 复选框 进度条 导航栏 组件地址 最后 前言 .NET MAUI 的发布,项目中可以使用这个新的跨平台 UI 框架来轻松搭建的移动和桌面应用。 为了帮助大家更快地构建美观且功能丰富的应用,本文将推荐一款优秀…

C语言典型例题39

《C程序设计教程(第四版)——谭浩强》 例题3.7 求axbxc0方程的解。要求能处理任何情况下a、b、c的组合。 数学知识: ①当a0时,为一次方程bxc0;x-c/b; ②当a≠0时,为二次函数axbxc0。b-4c≥0时…

LeetCode 热题100-22

相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返…

电池常用,但电芯热电耦合难?科学仿真技术轻松解决

SimLab 电池热电耦合模型 SimLab 的Battery模块,用于模拟电荷守恒与电池模块中的能量方程耦合。在这种方法中,电芯被建模为一个均匀的介质,可以模拟电压-电流的响应和相关热量的产生。该解决方案具有单电位(single potential &…

创客匠人对话(上):北京惢众教育创办人揭秘如何引爆大事件发售

老蒋创客圈第63期对话标杆直播连麦,本期我们邀请到【惢众身心成长家园平台】王辉老师。为我们“揭秘心理疗愈赛道,首发GMV突破百万的方法论!”,深度分享自己通过原有客源造流量,引爆大事件发售的核心秘籍,拆…

统计绘图:基于networkD3包绘制交互式桑基图

本文介绍通过R包 networkD3 绘制交互式桑基图。 桑基图(Sankey Diagram),由节点(Node)和边(分支,Edge)组成,常用于展示数据的流动和分布情况;其中边的宽度与…

TypeScript 之 JavaScript文件类型检查

启用对 JavaScript 文件的类型检查 在 TypeScript 编译选项 compilerOptions 全部配置项 中,可以通过以下2个属性配置 JavaScript Support: allowJs 是否允许编译 JavaScript 文件。默认值是 false。在默认情况下,TypeScript 编译器只处理 .…