☰
深度伪造检测新范式:大模型如何重建证据链,让AI判断可解释
2026/10/13 16:39:55 网站建设 项目流程

上个月帮一家内容平台做视频内容安全方案,对方安全团队的负责人跟我提了一个要求,我至今印象很深:“我们需要的不是模型告诉我们这段视频是假的,而是要告诉审核员它哪里假、为什么假、伪造者大概用了什么手法。”这个需求看似简单,却直接戳中了当前深度伪造检测领域最尴尬的两个痛点——泛化能力差和不可解释。

我们团队后来围绕这个问题折腾了大半年,最终形成的方案不是再堆一个二分类网络,而是让大模型学会“像法医般思考”:从视频里提取伪造痕迹,把痕迹转成可读的证据陈述,再用推理引擎沿着证据链一步一步得出结论。这套框架最终中稿了某顶级人工智能会议的Oral,测试下来跨伪造手法、跨数据集的表现都明显好于传统方法。这篇文章不打算复述论文里那些公式,而是把完整的思路、架构取舍、实验设计和工程落地中的坑都摊开讲,给同样在折腾AI安全的同行一个可以直接参考的样本。

1. 深度伪造检测为什么卡在“泛化”和“可解释”这两道坎上

1.1 旧范式:一张图分类,换一个生成器就失效

过去几年,绝大多数深度伪造检测工作走的是同一条路:用大量真实人脸和伪造人脸图片训练一个二分类器,输入图片,输出真/假的概率。这种做法的本质是让模型记住“训练集里伪造图片长什么样”,而不是理解“伪造过程必然留下哪些痕迹”。所以一旦生成器换了代,比如训练时见的是GAN生成的图,测试时遇到扩散模型生成的脸,模型的表现就会断崖式下跌。

我们内部做过一个简单的压测实验:用同一批真实人脸数据,配合一个GAN生成器构造训练集,训练一个标准的视觉分类模型,在它自己熟悉的测试集上准确率能做到93%左右。然后把这个模型直接扔到由扩散模型生成的伪造人脸测试集上,准确率掉到了74%左右。这还是相对理想的情况——没有加压缩、没有重缩放。社交媒体上的视频经过多次转码之后,画面早就不是模型训练时看到的样子,真实场景只会更糟。

这个问题的根源在于,分类模型学到的是图像层面的统计规律,比如纹理分布的细微差异、某些频段的能量变化。这些东西是跟着具体生成器走的,一个生成器一套指纹。只要生成技术在快速迭代,靠数据堆出来的检测器就永远在补课。

1.2 不可解释是落地场景的死穴

如果说泛化能力决定了检测器“能不能用”,可解释性则决定了它“敢不敢用”。

内容平台的人工审核员面对一段高度可疑的视频,需要给出一个能让上级认可、让用户信服的判断依据。金融风控团队处理伪造的人脸认证视频时,合规部门要求在处置记录里写明风险依据。司法场景就更不用说,一份鉴定意见书如果只写“模型判断为假,置信度0.97”,在法律上基本没有说服力——信源是什么,基于什么原理,观察到哪些异常,这些信息必须有。

这个矛盾在我们接触真实客户时特别突出。有的客户甚至明确要求:格式得像质检报告,不能只是给一个红绿色的判定结果。而传统深度伪造检测模型恰恰给不出这种东西,它们只能输出一个分数,无法回答“为什么”,也没法告诉审核员应该重点看画面的哪个区域。于是模型做得再准,也只是一个处于黑箱状态的辅助工具,业务侧很难真正信任它。

1.3 从“判断真假”到“重建证据链”的范式转换

我们的核心转变,是把深度伪造检测从“判断真假”问题重新定义为“重建证据链”问题。

法医勘验现场的基本逻辑是:现场不会说谎,痕迹会说话。只要伪造者动了画面,就必然在多个层面留下痕迹——有些是数字层面的伪影,比如拼接边界、重采样痕迹、噪声分布异常;有些是语义层面的矛盾,比如两只眼睛的反光方向不一致、耳部轮廓与头部角度对不上、皮肤材质与其他区域的光照不匹配。单看某一条痕迹可能不足以定罪,但多条痕迹交叉验证后就能构成完整证据链。

顺着这个逻辑,我们要让模型做三件事:第一,在画面里定位可疑痕迹;第二,描述这些痕迹的具体表现;第三,依据痕迹之间的关系做出综合判断。这样一来,输出自然就包括了结论和支撑结论的证据,不再是干巴巴一个概率值。

2. “法医式思考”的本质:伪造痕迹拆解与证据链建模

2.1 我们从法医流程中借鉴的三个原则

构思框架时,我们专门和做司法鉴定的朋友聊过几次,把法医验尸的流程映射到了AI检测任务上,最有用的是三个原则。

第一个原则是先采集线索、不做预设判断。法医不会一上来就断定死因,而是先全面检查体表、内脏、毒理、病史,把所有异常记录下来。对应到伪造检测,就是视觉模型不要急着输出“真/假”,而是先尽可能全面地列出画面里的异常点。

第二个原则是线索分级。法医对每一条检查发现会评估它的特异性:有些线索指向性极强,有些只是辅助参考。伪造检测里的痕迹也一样:高频噪声异常可能受压缩影响较大,特异性较弱;而人脸边界处的混合伪影、光照方向矛盾这类痕迹,指向性就很强。推理阶段应该对不同级别的线索做差异化处理。

第三个原则是交叉验证。单一线索可能被多种因素解释,比如画面噪声异常可能是伪造导致,也可能是低光照拍摄造成的。法医的做法是找多条独立线索互相印证,AI也应该是这样:一条弱证据不急着下结论,两条中等强度证据相互印证就可以提高置信度。

2.2 深度伪造会留下哪些可检测痕迹

做证据链建模之前,需要先系统梳理伪造痕迹的类型。我们把痕迹分成了三个层级,每一层对应不同的物理或数字原理。

层级痕迹示例产生原因检测方式
底层数字伪影重采样网格、混合边界、DCT系数异常生成图像与真实图像进行拼接融合时,不可避免地在频域留下周期性规律高频噪声图分析、频谱异常检测
语义不一致眼睛反光方向矛盾、耳廓不对称、面部皮肤纹理与颈部不一致单张生成或局部替换时,没有充分保持全局物理一致性光照一致性模型、面部几何核对
时序与上下文矛盾眨眼节奏异常、表情过渡僵硬、同一个人在不同帧中的面部细节漂移视频级伪造往往逐帧或逐段处理,破坏帧间连贯性时序差分分析、跨帧比对

这里最关键的认知是:底层的数字伪影虽然检测直接,但受压缩、缩放影响很大,鲁棒性差;而语义层面的不一致,是生成模型“想象”不出真实物理规律导致的,和具体生成器关系不大,因此泛化潜力更强。我们的框架把这两个层级都纳入特征范围,但赋予不同权重。

2.3 证据链的图结构:线索节点如何组织成推理路径

把所有痕迹提出来之后,如果只是把它们拼成一段文字,大模型还是容易抓不住重点。我们的做法是把每条痕迹当作一个证据节点,把证据之间的支持、矛盾关系组织成链式结构。

举个例子,假设模型在一个人脸视频中发现了三条线索:眼睛反光光源方向偏左,而脸部右侧有明显的高光;鼻翼阴影的投射方向和反光方向冲突;耳朵轮廓区域存在轻微的混合过渡痕迹。这三条线索单独看,前两条是语义矛盾,第三条是拼接伪影,它们共同指向“这张脸由外部渲染后合成”这一推断。

证据链的建模不要求模型像知识图谱那样维护复杂关系网,只需要让推理引擎按顺序阅读证据,并在每一条证据后面标注它与最终结论的关系强度。这种做法极大降低了大模型的推理难度,也让生成的解释更接近人类可理解的思路。

2.4 为什么用大模型当“推理大脑”而不是分类头

很多人会问,既然已经提取了痕迹,为什么不直接把特征向量接一个多层感知机做分类,非要用大模型?

答案在于表达能力的差异。分类头只能输出一个分布,它无法告诉你“为什么”。而深度伪造检测恰恰需要解释,需要把“证据A+证据B→结论C”的推导过程呈现出来。大模型天然具备两个我们需要的核心能力:一是以自然语言组合多个证据项并进行逻辑推导,二是调用训练阶段沉淀的物理常识和成像知识来补全判断,比如“正常情况下左右眼的高光方向应该一致”“耳朵的轮廓在侧脸时会发生透视形变”。

不过,大模型也有一个不可回避的缺点:它会在信息不足时自行脑补,给出看似合理但没有任何视觉依据的推理。这个问题我们后面专门做了约束设计,在第四节会详细讲。

3. 核心架构拆解:视觉感知、证据转录与推理决策的协同

3.1 三段式流水线总览

整个框架命名为ForenThink,是一条三段式流水线:视觉感知模块、证据转录模块、推理决策模块。三个模块各自独立训练,再串联起来做端到端协同优化。

模块输入输出核心作用
视觉感知模块视频帧/人脸图候选异常区域位置与原始特征从像素空间定位伪造痕迹
证据转录模块视觉特征图、异常区域掩码结构化证据陈述文本把特征转成可读的语言描述
推理决策模块证据陈述列表、任务指令检测结论与推理链综合多证据生成最终判断及解释

设计上刻意保持了模块间解耦。这样做的直接好处是可以分别调优:视觉感知模块换更强的骨干网络,推理模块换更大的语言模型,互不拖累。坏处也很明显——中间状态如果丢失信息,后续模块再怎么强也补不回来。所以证据转录模块是整个流程的信息瓶颈,我们在它身上花的时间最多。

3.2 视觉感知模块:多粒度痕迹提取

视觉感知模块的输入是视频帧中检测出来的人脸区域,输出是若干候选痕迹区域及对应的特征嵌入。我们在实现上没有追求单一模型包打天下,而是组合了两个互补的提取器。

第一个提取器做底层伪影检测。它把输入图片分解为高频噪声图、中频纹理图和低频结构图,然后重点在高频噪声图上寻找周期性强、分布异常的局部区域。这类异常通常对应拼接边界、重采样痕迹或GAN生成器遗留的规律性伪影。第二个提取器做语义一致性分析。它对整张人脸做网格化切块,对每一块估计光照方向和表面材质属性,再在块与块之间做一致性比较。差异超过阈值的块对会被标记出来。

两个提取器汇总出最多32条候选痕迹,每条痕迹附带位置信息、所属类别(数字伪影/语义矛盾)、原始特征向量。这个数量限制是出于推理速度的考虑,后面在工程部分会细说。

3.3 证据转录模块:把视觉特征转成“证据陈述”

证据转录模块的任务,是把候选痕迹的特征向量转成大模型能够阅读和理解的自然语言陈述。这里的关键不是“翻译”,而是“结构化约束”。

一开始我们尝试过让视觉模型直接输出自由文本,效果非常离谱,生成的描述经常和真实特征对不上。后来学到一个教训:输出格式必须用模板框死,宁可牺牲一些自然度,也要保证可靠。

实际操作时,每种类型的候选痕迹都有对应的描述模板,比如光照矛盾类模板就是:在[位置A]观察到光照方向与[位置B]不一致,估计方向角差值为[角度]度。数字伪影类模板是:在[位置C]检测到周期性噪声模式,频率集中在[区间],疑似重采样痕迹。视觉模型只需要填空,不负责创造句式。

最终转录模块输出一个结构化的JSON列表,大致长这样:

{ "evidence_count": 3, "evidence_list": [ { "id": "E1", "type": "semantic_conflict", "location": "left_eye_region", "description": "左眼区域反光方向角为45度,右眼区域反光方向角为10度,差值35度", "severity": "high" }, { "id": "E2", "type": "digital_artifact", "location": "face_boundary_left", "description": "检测到周期性网格状噪声,疑似拼接混合边界", "severity": "medium" }, { "id": "E3", "type": "semantic_conflict", "location": "nose_shadow", "description": "鼻翼阴影投射方向与全局光照方向冲突", "severity": "medium" } ] }

这样的结构化文本进入推理模块后,大模型不需要“意会”视觉特征,直接基于明确描述做推理即可。幻觉的几率大幅下降。

3.4 推理决策模块:从证据到结论

推理决策模块基于通用大语言模型实现。输入是证据陈述列表加一段固定任务指令,输出包括最终判定(真实/伪造)、判定依据的证据编号、以及每一步的推理说明。

提示词的编写有讲究。我们明确要求模型遵守三条规则:第一,只能引用输入列表中存在的证据,禁止自行补充外部线索;第二,对每条证据先说明它的含义,再评估它对结论的支持强度;第三,如果证据之间存在矛盾,比如一条指向真实、一条指向伪造,必须明说,不能选择性忽略。

推理引擎生成的过程大致是:先梳理每一条证据的含义,然后按证据强度排序,再综合给出结论。比如对于前面例子里的三条证据,模型会输出:E1和E3表明光照物理规则被破坏,指向外部渲染合成;E2表明存在拼接操作痕迹,与生成后混合的预期一致;最终判定为伪造,置信度根据内部校准为0.91。

置信度这里多说一句:我们没有直接用语言模型的token概率,而是额外训练了一个小型校准头,输入是推理链的中间状态,输出是校准后的置信度。实测下来比原始概率可靠得多。

3.5 为什么不走端到端路线

在设计架构时,团队内部也认真争论过要不要做端到端训练:视觉特征直接送入大模型,让模型自己学会解读特征。这个方向有吸引力,但被我们否掉了,主要有三个原因。

第一是可控性。端到端系统一旦输出不合理,你很难定位问题出在视觉特征提取环节还是推理环节。模块解耦后,哪个模块出错一目了然。第二是数据效率。端到端训练需要大量“视频-伪造类型-证据标注”三元组数据,这种数据极难获取。而模块化后,视觉模块可以用合成数据训练,推理模块可以用规则构造的伪证据模拟数据训练,数据需求大幅下降。第三是部署灵活性。内容平台的业务场景变化很快,今天要查换脸,明天可能查声音伪造,模块化允许只替换部分模块就适配新任务。

4. 可解释输出设计:从“概率值”到“法医鉴定报告”

4.1 报告结构:结论、证据列表、推理链和风险提示

既然目标是让审核员敢用、能用,输出的形式就不能是一段自由文本,得是一份结构化的检测报告。我们参考质检报告和司法鉴定意见书的格式,把输出固定为四段式:结论摘要、证据列表、推理链说明、风险提示。

结论摘要在最前面,一句话说明检测结果和置信度,比如“判定为深度伪造,置信度0.91,建议人工复核”。证据列表逐条列出模型观察到的异常痕迹,每条对应一个解释。推理链说明把这些证据串起来,解释为什么这些迹象指向伪造。风险提示则说明本次检测的边界条件,比如“输入视频经过两次转码,部分高频痕迹可能被削弱,结论置信度相应下调”。

风险提示这个设计在最初版本里没有,是跟客户对需求时他们主动提出的。审核业务中,模型如果自信地给一个错误结论,造成的麻烦远大于模型说“我不确定”。所以后来我们在生成逻辑里加入了一个规则:如果检测到的证据数量少于两条,或者证据之间存在明显矛盾,模型默认输出“证据不足,建议人工复核”,而不是硬给一个判定。

4.2 证据可视化:文本和位置怎么对齐

光有文字描述还不够,审核员需要知道“左眼反光不一致”具体在画面哪个位置。我们在系统中做了一个可视化的证据锚定功能。

实现思路是:证据转录模块在生成结构化证据时,同时输出异常区域在原始画面上的边界框或热力掩码。前端拿到坐标之后,直接在视频帧上画框,框的颜色按证据类型区分:蓝色边界框表示拼接伪影,橙色表示光照矛盾,绿色表示几何异常。点击某个框,侧边栏就展示对应的证据描述。

这里有一个细节值得分享:要让热力图和文本描述对齐,不能在推理阶段才做,必须在证据转录阶段就把两者绑定。如果转录模块分别输出文本和掩码,模型很容易出现文字说的是眼睛、掩码画的是耳朵这种错位。我们的做法是让掩码作为结构化证据的一个字段,参与文本生成时的条件约束,从根本上避免错位。

4.3 让大模型“不乱编证据”的几种做法

大模型推理最常见的翻车现场就是生成玄幻论证:引用了输入列表中根本不存在的证据,或者把一条无关证据说得头头是道。为了解决这个问题,我们叠加了三道防线。

第一道是受限生成。在推理引擎的生成过程中,使用前缀约束,强制模型只能引用输入JSON中给定的证据编号E1、E2、E3。当模型试图引用不存在的E5时,生成逻辑直接拦截并纠正。这个策略在工程上实现简单,效果却立竿见影。

第二道是质量分级措辞。每条证据在转录阶段已经标注了severity字段,推理模块被要求根据严重程度选用不同强度的措辞:high级别才能用“强烈指向”这种表述,medium只能写“为判断提供支持”,low必须写成“无法构成有效判断”。这避免了模型把弱证据无限放大。

第三道是拒绝机制。当证据列表中冲突明显、难以形成统一结论时,模型被明确允许输出“证据不足,无法做出可靠判定”。我们在微调阶段专门构造了大量冲突样本,让模型学会在矛盾面前“住嘴”,而不是强行找个说法。

4.4 实战反馈:审核员的处理效率和数据

这套报告形式落地到客户侧之后,效果可以量化。我们找了几位内容审核人员做了一组对照实测:一批待审核的违规疑似视频,一半用传统方案(只给概率值),一半用带证据报告的新方案。

结果,采用证据报告后,人工审核平均决策时间从原来的每单约5分钟缩短到2分钟左右,同时审核结论和模型结论的一致度从81%提升到了94%。更重要的是,审核员的主观反馈中,“知道该重点看哪里”和“理由可以被上级复核”成了出现频率最高的两个词。对我们来说,这比论文里的准确率数字更有说服力。

5. 泛化能力验证:跨手法、跨数据集、跨扰动三组实验

5.1 实验设计的核心思路:刻意制造域错位

泛化性能的验证思路很直接:让模型在训练阶段见到的伪造样本和测试阶段的伪造样本尽可能不重叠。我们设计了严格的三组实验:跨伪造手法测试、跨数据集测试、跨扰动鲁棒性测试。数据准备上,训练集合里使用的伪造样本只来自两类生成器,测试集则选择了完全不同的生成器。这样能避免“同源数据沾光”的嫌疑。

模型层面,视觉感知模块用了基于卷积和Transformer的混合骨干网络,推理模块使用指令微调后的通用大语言模型。对照组选了三个有代表性的baseline:一个纯监督分类模型、一个基于频域特征的检测器、一个大模型直接做图文二分类的方案。

实验配置上,我们所有准确率指标都采用相同的后处理策略:置信度低于0.5的样本判为真实,高于0.5判为伪造,“证据不足”样本视为预测错误。这样可以剔除拒绝判断带来的虚假提升。

5.2 跨伪造手法泛化:从GAN到扩散再到神经渲染

第一组实验,训练数据只用GAN系生成器产出的伪造人脸,测试数据包括扩散模型生成人脸、神经辐射场渲染人脸、传统图像编辑软件手工拼接人脸。结果如下表(内部测试集平均):

方法GAN(同源)扩散模型神经渲染手工拼接
纯监督分类92.6%74.3%68.1%71.2%
频域特征检测90.1%77.8%70.6%69.5%
大模型图文二分类89.4%79.2%72.0%74.8%
ForenThink91.8%88.5%85.3%87.6%

可以看到,ForenThink在同源GAN数据上并没有比baseline高出多少,但在跨手法的三个测试集上优势非常明显。原因也不难理解:传统方法识别的是某种生成器的“脸谱”,而ForenThink追踪的是伪造过程留下的“指纹”,指纹在不同生成器之间是通用的。

5.3 跨数据源与真实退化环境:压缩、重缩放、画质损失

第二组实验模拟真实互联网传播链路。我们拿在数据集A上训练好的模型,直接去测试完全独立采集的数据集B和C。这两份数据里的人脸身份、拍摄设备、光照条件都不一样,还额外加了视频转码处理:一次H.264再压缩、分辨率从1080P降到720P、再叠加一次社交媒体平台的水印和重新编码。

这组实验的普遍规律是所有方法都掉点,但掉幅差异很大。baseline模型在压缩面前几乎失去判别能力,最差的从88%掉到了61%。ForenThink表现相对平稳,在两个数据集上分别从90.6%掉到83.9%、从89.8%掉到82.4%。进一步分析发现,损失的性能主要来自底层数字伪影类型证据在压缩后变得不明显,而光照矛盾、几何异常这类语义证据在压缩后依然稳健。这个结果反过来验证了我们最初对证据类型分层的判断:跨扰动场景下,语义类证据比数字类证据可靠得多。

5.4 消融实验:证据链到底贡献了多少

最后是消融实验,重点回答两个问题:去掉证据转录模块会怎样?去掉推理模块会怎样?

第一个变体是去掉转录模块,直接把视觉特征接入标题模型做多模态分类。这个变体性能下降了7到10个点,而且生成的解释经常跳跃,审核员普遍反映“看不懂”。第二个变体是保留转录模块、去掉推理模块,改为用规则匹配方式做判定,性能下降5到8个点,虽然解释是有了,但灵活度不足,遇到复杂组合证据时判错率高。

结论很清楚:转录和推理两个环节缺一不可。转录保证了视觉信息不失真地进入语言空间,推理保证了多条证据被合理加权综合。这条消融实验还有一个意外收获:它让我们意识到,追求“多模态端到端”不一定是检测任务的最优解,先转成结构化的中间表示,再交给语言模型,反而是更可靠、更可控的路径。

6. 工程落地的经验与坑:训练、推理、评估的实操笔记

6.1 推理延迟怎么压下来:线索数量控制是首要手段

实验室里跑通只是第一步,落到线上系统还得考虑单条视频的检测耗时。初版系统一次检测要遍历32条候选痕迹,经过转录再送到大模型推理,单人脸视频单帧耗时接近2.8秒,线上完全不可接受。

我们做了三轮优化。第一轮是线索数量控制:把候选痕迹上限从32条降到10条,按检测置信度从高到低截断。实测准确率几乎没掉,但推理时间降到了1.1秒。原因是证据少了,写给大模型的上下文短了,生成步数大幅减少。第二轮是模型量化:推理模块换成4比特量化版本,单次生成耗时再降约40%,代价是长文本生成质量轻微下降,但在我们控制输出长度的场景下几乎不可感知。第三轮是早期退出策略:对于证据强烈指向真实或伪造的简单样本,直接走轻量分类器输出结论,不惊动大模型。这一轮把简单样本的平均处理时间压到了0.2秒以内,系统整体的p95延迟最终控制在1.5秒左右。

6.2 证据标签从哪来:合成数据加人工复核的半自动流程

做这套框架初期,最缺的不是真假标签,而是证据标签——我们需要知道一段视频里“哪块区域是什么类型的异常”。公开数据集基本没有这种标注,全靠人工穷举不现实,而且证据类型定义也不统一。

我们的做法是半自动构造。第一步,用多类生成器生成大量伪造样本,同时保留生成过程参数,比如用了哪个生成器、做了局部拼接还是整体重渲染。根据生成方式可以自动推导出一些确定性证据:局部拼接必然产生混合边界区域,重渲染必然破坏光照一致性。第二步,让视觉感知模型在合成数据上预测证据位置,和真实生成参数做比对,筛选出预测结果稳定可靠的特征类型,只保留这些类型的证据模板。第三步,请有图像鉴定经验的人员对随机抽样的标注样本进行复核,修正描述模板里措辞不准确的地方。这套流程跑完后,我们积累了一批质量颇高的证据级训练数据,写作框架的可靠性基本盘就是在这里奠定的。

6.3 评估别只看准确率:补上证据正确率和推理链一致性

准确率只能回答“判定对不对”,回答不了“解释靠不靠谱”。一个模型可能结论正确,但给出的理由是瞎编的——我们迭代过程中确实遇到过不少这种“歪打正着”。所以在内部评估体系中,我们在传统准确率、精确率、召回率之外,新增了两个指标。

第一个是证据正确率:人工检查生成报告中的所有证据项,按“完全正确”“部分正确”“错误”三档打分,完全正确和部分正确计入正确率。第二个是推理链一致性:检查每一步推理是否基于上一步的结果,是否有自相矛盾或者跳跃。这两个指标不需要额外标注,直接抽小批量样本人工评估即可。实测下来,经常出现准确率提升但证据正确率下降的情况,这种版本我们一律不发布。只有两个指标同时达标的模型,才具备可解释检测的合格姿势。

6.4 我们踩过的三个坑,按严重程度排序

第一个坑是线索幻觉。初版推理模块经常给出一条完全不存在于证据列表里的“重大发现”,比如“额头区域存在明显的纹理异常”,但看回原始掩码,那里干干净净。我们花了不少时间排查,最后发现是转录模块在构造JSON时机选了过短的下文,导致推理模型被自己对“伪造人脸应该长什么样”的先验带跑了。采用受限生成强制引用后,这种现象大幅减少。

第二个坑是提示词过拟合。我们发现推理模型对提示词非常敏感,一个词换掉结果就变。我同事有一次把“伪造”替换成“篡改”,跨数据集准确率掉了将近5个点。后来做了提示词鲁棒性测试,每次发布前用几组同义改写版本跑一遍,取最差结果作为性能下限,防止线上出现措辞波动导致服务不稳定。

第三个坑是多模态对齐漂移。在联合微调视觉感知模块和推理模块时,视觉特征分布会发生偏移,导致转录模块输出的描述方向和真实图像的内容逐渐脱节。这个问题通过降低联合微调的学习率、冻结视觉骨干的大部分层解决了。给我们最大的教训是:模块化系统在联调时,改动一个模块前先想想它对上游特征的依赖,别盲目拉通训练。

整套ForenThink框架从想法到落地,我最大的感受是:深度伪造检测的真正瓶颈已经不在分类精度——至少对当前几类主流生成方法是这样——而在于如何让机器给出的判断经得起追问和复核。当模型输出的质量分级证据和人类审核员的工作方式合拍时,它的价值会比单纯高两个百分点的准确率大得多。后面这个方向我们还会继续推,比如把视频时序证据也纳入证据链、引入主动对抗样本生成来持续考验推理引擎的边界,但核心原则不会变:先讲清楚理由,再给结论。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询