生成|深度伪造(Deepfake)原理分析及实战

生成|深度伪造(Deepfake)原理分析及实战
文章插图
前言众所周知,人工智能正迎来第三次发展浪潮,它既给社会发展带来了巨大机遇,同时也带来了诸多风险,人工智能对国家安全的影响已成为世界各国的重要关切和研究议程。作为人工智能深度学习领域的一个分支,Deepfake(深度伪造)技术在近几年迅速兴起,为国家间的政治抹黑、军事欺骗、经济犯罪甚至恐怖主义行动等提供了新工具,给政治安全、经济安全、社会安全、国民安全等国家安全领域带来了诸多风险。
本文会首先介绍Deepfake的相关背景及技术特点,然后以实战为导向详细介绍Deepfake的一种典型生成方案,最后会给出常用的防御(检测)策略。
Deepfake背景深度伪造一词译自英文“Deepfake”(“deep learning”和“fake”的组合), 最初源于一个名为“deepfakes”的Reddit社交网站用户, 该用户于2017年12月在 Reddit 社交网站上发布了将斯嘉丽·约翰逊等女演员的面孔映射至色情表演者身上的伪造视频。
Deepfake目前在国际上并没有公认的统一定义, 美国在其发布的《2018 年恶意伪造禁令法 案》中将“deep fake”定义为“以某种方式使合理的观察者错误地将其视为个人真实言语或行为的真实记录的方式创建或更改的视听记录”, 其中“视听记录”即指图像、视频和语音等数字内容。本文就采用这一定义,并针对“视听记录”中的视频领域的技术进行分析及实战。
视频伪造视频伪造是Deepfake技术最为主要的代表,制作假视频的技术也被业界称为人工智能换脸技术(AI face swap)。其核心原理是利用生成对抗网络或者卷积神经网络等算法将目标对象的面部“嫁接”到被模仿对象上。由于视频是连续的图片组成,因此只需要把每一张图片中的脸替换,就能得到变脸的新视频。具体而言,首先将模仿对象的视频逐帧转化成大量图片,然后将目标模仿对象面部替换成目标对象面部。最后,将替换完成的图片重新合成为假视频,而深度学习技术可以使这一过程实现自动化。
随着深度学习技术的发展,自动编码器、生成对抗网络等技术逐渐被应用到深度伪造中。
自动编码器
自动编码器是神经网络的一种,其基本思想就是直接使用一层或者多层的神经网络对输入数据进行映射,得到输出向量,作为从输入数据提取出的特征。基本的自编码器模型是一个简单的三层神经网络结构:一个输入层、一个隐藏层和一个输出层。其中输出层和输入层具有相同的维数。自动编码器本质上是一种数据压缩算法,其中数据的压缩和解压缩函数是数据相关的、有损的、从样本中自动学习。目前自编码器的主要用途就是降维、去噪和图像生成。
生成|深度伪造(Deepfake)原理分析及实战
文章插图
在应用于Deepfake的情况下输入视频帧,并编码。这意味着它将从中收集的信息转换成一些低维的潜在空间表示。这个潜在的表示包含关键特征的信息,如面部特征和身体姿势的视频帧。通俗地说,其中有关于脸在做什么的信息,是微笑还是眨眼等等。自动编码器的解码器将图像从潜在表示中恢复出来,用于给网络学习。
生成对抗网络
生成对抗网络是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。该方法由伊恩·古德费洛等人于2014年提出。生成对抗网络由一个生成网络与一个判别网络组成。生成网络从潜在空间(latent space)中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。