笔者参与了Datawhale 2024 年 AI 夏令营第二期 的学习活动( “ 多模态方向 ”方向),基于蚂蚁集团举办的 “外滩大会-全球Deepfake攻防挑战赛” 开展的实践学习.今天这篇博客主要介绍一下赛事背景和第一次baseline提交.
赛题背景
随着人工智能技术的迅猛发展,深度伪造技术(Deepfake)正成为数字世界中的一把双刃剑。这项技术不仅为创意内容的生成提供了新的可能性,同时也对数字安全构成了前所未有的挑战。Deepfake技术可以通过人工智能算法生成高度逼真的图像、视频和音频内容,这些内容看起来与真实的毫无二致。然而,这也意味着虚假信息、欺诈行为和隐私侵害等问题变得更加严重和复杂。
为了应对这一挑战,我们举办了“外滩大会 - 全球Deepfake攻防挑战赛”。该挑战赛旨在邀请全球的参与者开发、测试和改进更加准确、有效和创新的检测模型,以应对各种类型的Deepfake攻击。这些模型将在真实世界的场景中进行测试,从而推动创新防御策略的发展,提高Deepfake识别的准确性。此次挑战赛不仅是对技术的比拼,更是对全球数字安全的一次重要贡献。我们期待着通过这次比赛,能够激发更多的创新思维和技术突破,共同应对Deepfake带来的安全威胁,保护数字世界的安全与真实性。
赛题任务
在这个赛道中,比赛任务是判断一张人脸图像是否为Deepfake图像,并输出其为Deepfake图像的概率评分。参赛者需要开发和优化检测模型,以应对多样化的Deepfake生成技术和复杂的应用场景,从而提升Deepfake图像检测的准确性和鲁棒性。
赛题数据集
训练集和验证集已经发布。训练集的标签文件train_label.txt用于训练模型,而验证集的标签文件val_label.txt仅用于模型调优。例如,在train_label.txt或val_label.txt中,每行包含两部分,由逗号分隔。第一部分是文件名(后缀为.mp4),第二部分是真实值。目标值为1表示深度伪造音视频,目标值为0表示真实的人脸音视频。
以下是train_label.txt和val_label.txt的样本:
train_label.txt
video_name,target
96b04c80704f02cb426076b3f624b69e.mp4,0
16fe4cf5ae8b3928c968a5d11e870360.mp4,1
…
val_label.txt
video_name,target
f859cb3510c69513d5c57c6934bc9968.mp4,0
50ae26b3f3ea85babb2f9dde840830e2.mp4,1
…
如果您希望提交此阶段的预测结果,可以在系统中提交验证集的预测分数文件prediction.csv,我们将在线反馈结果。文件中的每一行包含两部分,由逗号分隔。第一部分是视频文件名,第二部分是模型预测对应的深度伪造分数(即样本属于深度伪造视频的概率值)。请参考下面的提交模板:
prediction.csv
video_name,score
658042526e6d0c199adc7bfeb1f7c888.mp4,0.123456
a20cf2d7dea580d0affc4d85c9932479.mp4,0.123456
…
完整的prediction.csv文件也可以从数据浏览器中获取。请注意,提交验证结果的目的是帮助参赛者了解评估指标的工作原理,并确保您的离线评估指标与在线评估指标相同。请不要将验证的真实值提交到验证排行榜。
第二阶段
在第一阶段之后,我们将在第二阶段发布公共测试集。参与者需要在系统中提交测试集的预测分数文件prediction_test.csv,我们将实时在线反馈测试分数结果。
第三阶段
在第二阶段结束后,前30名队伍将晋级到第三阶段。在这一阶段,参赛者需要提交代码docker和技术报告。Docker要求包括原始训练代码和测试API(函数输入为图像路径,输出为模型预测的Deepfake评分)。主办方将检查并重新运行算法代码,以重现训练过程和测试结果。
评价指标
评估指标
比赛的性能评估主要使用ROC曲线下的AUC(Area under the ROC Curve)作为指标。AUC的取值范围通常在0.5到1之间。若AUC指标不能区分排名,则会使用TPR@FPR=1E-3作为辅助参考。
相关公式:
真阳性率 (TPR):
TPR = TP / (TP + FN)
假阳性率 (FPR):
FPR = FP / (FP + TN)
其中:
- TP:攻击样本被正确识别为攻击;
- TN:真实样本被正确识别为真实;
- FP:真实样本被错误识别为攻击;
- FN:攻击样本被错误识别为真实。
评估规则
-
验证结果每天限提交5次。测试结果每天限提交2次。
-
提交结果后,组委会将审核参赛队伍提交的结果,并邀请参赛队伍提供代码、技术方案等。最终排名将基于选手提交的测试集分数、我们在隐藏测试集上重现的测试集分数和技术报告,权重分别为0.2、0.6和0.2。
-
技术报告将由相关领域的专家根据以下方面进行评估:
- 创新性:技术创新和应用创新,创造性的解决方案;
- 通用性:未知攻击防御能力、跨数据集适应性、抗干扰鲁棒性、对抗攻击与防御能力;
- 实用性:可扩展性、运行速度、迭代成本;
- 可解释性:可以捕获、分析和反馈攻击线索。
-
如出现平分情况,评审团团长将决定一等奖、二等奖、三等奖和优秀奖的最终入围名单。
其他要求
- 仅允许提交单个模型,有效网络参数不得超过200M(使用thop工具统计模型参数)。
- 决赛入围者必须提交Docker格式的训练和测试原始代码,包括技术报告。
- 为公平比较算法性能,本次比赛不允许使用任何额外的数据集,仅允许使用ImageNet1K训练预模型。
- 基于发布的训练集生成的扩展样本(通过数据增强/Deepfake工具)可以用于训练,但这些工具需在第三阶段提交以供重现。
- 最终排名不仅取决于选手提交的公共测试集分数,还取决于审核后的最终测试集分数和技术报告。因此,第二阶段的排名在第三阶段可能会有所变化。
- 如果参赛者未能遵守上述比赛规定,比赛结果将视为无效。
- 如果参赛者未能在规定时间内提交Docker代码和技术报告,将无法参加性能评估。
Deepfake是什么?
Deepfake是一种使用人工智能技术生成的伪造媒体,特别是视频和音频,它们看起来或听起来非常真实,但实际上是由计算机生成的。这种技术通常涉及到深度学习算法,特别是生成对抗网络(GANs),它们能够学习真实数据的特征,并生成新的、逼真的数据.
Deepfake技术虽然在多个领域展现出其创新潜力,但其滥用也带来了一系列严重的危害。在政治领域,Deepfake可能被用来制造假新闻或操纵舆论,影响选举结果和政治稳定。经济上,它可能破坏企业形象,引发市场恐慌,甚至操纵股市。法律体系也面临挑战,因为伪造的证据可能误导司法判断。此外,深度伪造技术还可能加剧身份盗窃的风险,成为恐怖分子的新工具,煽动暴力和社会动荡,威胁国家安全。
深度伪造技术通常可以分为四个主流研究方向:
- 面部交换专注于在两个人的图像之间执行身份交换;
- 面部重演强调转移源运动和姿态;
- 说话面部生成专注于在角色生成中实现口型与文本内容的自然匹配;
- 面部属性编辑旨在修改目标图像的特定面部属性;
baseline主要步骤
baseline的具体链接为:www.kaggle.com/code/finlay…
- 数据准备:使用Pandas库读取训练集和验证集的标签,并将图片路径与标签结合,以便于后续处理。
- 定义生成MEL频谱图的函数:
generate_mel_spectrogram函数用于从视频文件中提取音频,并生成MEL频谱图,然后将其转换为图像格式。 - 定义训练、验证和预测函数:
train、validate和predict函数分别用于模型的训练、在验证集上评估模型性能以及生成预测结果。 - 模型初始化和训练:初始化
resnet18模型,并使用Adam优化器和交叉熵损失函数进行训练。训练过程中使用了学习率调度器,并在每个epoch结束时在验证集上评估模型性能。 - 保存最佳模型:在验证过程中,如果模型的性能超过了之前的最佳性能,则保存模型的权重。
- 生成预测结果:使用训练好的模型对验证集进行预测,并将预测结果保存到
submit.csv文件中。 - 提交结果:最后,代码将预测的分数与原始的提交模板合并,并保存为最终的提交文件。 具体细节请查阅:datawhaler.feishu.cn/wiki/MhpDw8…
baseline提交结果
baseline可以直接在kaggle上借助平台提供的算力运行(本地似乎也跑不了,哈哈哈哈哈). 具体的提交步骤,请查阅:datawhaler.feishu.cn/wiki/B6rvwm…
完成提交后平台给出了分数.
感悟
这是笔者第一次参与多模态相关赛事.笔者通过比赛第一次接触到Deepfake及其检测的相关细节.通过baseline的运行与精读,笔者对于深度学习的理解更加深入,能够更熟练的应用平台算力进行模型训练,实践能力得到进一步提升.希望后面可以进一步上分.
参考
www.kaggle.com/competition… datawhaler.feishu.cn/wiki/B6rvwm…