一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡,已开源

作者: 栗子 晓查 2020-03-09 09:54:44

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

AI造出的假图片恐怕很难再骗过AI了。

连英伟达本月刚上线的StyleGAN2也被攻破了。即使是人眼都分辨看不出来假脸图片,还是可以被AI正确鉴别。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

最新研究发现,只要用让AI学会鉴别某一只GAN生成的假图片,它就掌握了鉴别各种假图的能力。

不论是GAN生成的,Deepfake的,超分辨率的,还是怎样得来的,只要是AI合成图片,都可以拿一个通用的模型检测出来。

尽管各种CNN的原理架构完全不同,但是并不影响检测器发现造假的通病。

只要做好适当的预处理和后处理,以及适当的数据扩增,便可以鉴定图片是真是假,不论训练集里有没有那只AI的作品。

这就是Adobe和UC伯克利的科学家们发表的新成果。

有网友表示,如果他们把这项研究用来参加Kaggle的假脸识别大赛,那么将有可能获得最高50万美元奖金。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源
一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

然而他们并没有,而是先在ArXiv公布了预印本,并且还被CVPR 2020收录。

最近,他们甚至将论文代码在GitHub上开源,还提供了训练后的权重供读者下载。

造出7万多张假图

要考验AI鉴别假货的能力,论文的第一作者、来自伯克利的学生Wang Sheng-Yu用11种模型生成了不同的图片,涵盖了各种CNN架构、数据集和损失。

所有这些模型都具有上采样卷积结构,通过一系列卷积运算和放大操作来生成图像,这是CNN生成图像最常见的设计。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

有ProGAN、StyleGAN、BigGAN、BigGAN、GauGAN等等,这些GAN各有特色。

ProGAN和StyleGAN为每个类别训练不同的网络;StyleGAN将较大的像素噪声注入模型,引入高频细节;BigGAN具有整体式的类条件结构;进行图像转换的GauGAN、CycleGAN、StarGAN。

除了GAN以外,还有其他处理图片的神经网络:

  • 直接优化感知损失 ,无需对抗训练的级联细化网络(CRN);
  • 条件图像转换模型隐式最大似然估计(IMLE);
  • 改善低光照曝光不足的SITD模型;
  • 超分辨率模型,即二阶注意力网络(SAN);
  • 用于换脸的的开源DeepFake工具faceswap。
一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

主流图片处理CNN模型应有尽有。他们总共造出了7万多张“假图”。

虽然生成这些图片所用的算法大相径庭、风格迥异,但是总有会有一些固有缺陷,这里面既有CNN本身的问题,也有GAN的局限性。

这是因为常见的CNN生成的内容降低了图片的表征能力,而这些工作大部分集中在网络执行上采样和下采样的方式上。下采样是将图像压缩,上采样是将图像插值到更大的分辨率上。

之前,Azulay和Weiss等人的研究表明,表明卷积网络忽略了经典的采样定理,而跨步卷积(strided convolutions)操作减少了平移不变性,导致很小的偏移也会造成输出的极大波动。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

另外,朱俊彦团队发表在ICCV 2019上的论文表明,GAN的生成能力有限,并分析了预训练GAN无法生成的图像结构。

今年7月,哥伦比亚大学的Zhang Xu等人进一步发现了GAN的“通病”,常见GAN中包含的上采样组件会引起伪像。

他们从理论上证明了,这些伪像在频域中表现为频谱的复制,这在频谱图上表现十分明显。

比如同样是一张马的图片,真实照片的信号主要集中在中心区域,而GAN生成的图像,频谱图上出现了四个小点。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

因此他们提出了一种基于频谱而不是像素的分类器模型,在分辨假图像上达到了最先进的性能。

而Wang同学发现,不仅是GAN,其他的CNN在生成图像时,也会在频谱图中观察到周期性的图案。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

训练AI辨别真伪

刚才生成的数据集,包含了11个模型生成的假图。

不过,真假分类器并不是用这个大合集来训练的。

真正的训练集里,只有英伟达ProGAN这一个模型的作品,这是关键。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源
 ProGAN过往作品展

团队说,只选一个模型的作品用来训练,是因为这样的做法更能适应现实任务:

现实世界里,数据多样性永远是未知的,你不知道自己训练出的AI需要泛化到怎样的数据上。所以,干脆就用一种模型生成的图像来训练,专注于帮AI提升泛化能力。

而其他模型生成的作品,都是测试泛化能力用的。

(如果用很多模型的假图来训练,泛化任务就变得简单了,很难观察出泛化能力有多强。)

具体说来,真假分类器是个基于ResNet-50的网络,先在ImageNet上做了预训练,然后用ProGAN的作品做二分类训练。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

 ProGAN原理

不过,训练集不是一只ProGAN的作品。团队用了20只ProGAN,每只负责生成LSUN数据集里的一个类别。一只ProGAN得到3.6万张训练用图,200张验证用图,一半是生成的假图,一半是真图。

把20只ProGAN的成果加在一起,训练集有72万张,验证集有4000张

为了把单一数据集的训练成果,推广到其他的数据集上,团队用了自己的方法:

最重要的就是数据扩增。先把所有图像左右翻转,然后用高斯模糊,JPEG压缩,以及模糊+JPEG这些手段来处理图像。

扩增手段并不特别,重点是让数据扩增以后处理的形式出现。团队说,这种做法带来了惊人的泛化效果 (详见后文) 。

训练好了就来看看成果吧。

明辨真伪

研究人员主要是用平均精度 (Average Precision) 这个指标,来衡量分类器的表现。

在多个不同的CNN模型生成的图片集里,ProGAN训练出的分类器都得到了不错的泛化:

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

几乎所有测试集,AP分值都在90以上。只在StyleGAN的分值略低,是88.2。

不论是GAN,还是不用对抗训练、只优化感知损失的模型、还是超分辨率模型,还是Deepfake的作品,全部能够泛化。

团队还分别测试了不同因素对泛化能力产生的影响:

一是,数据扩增对泛化能力有所提升。比如,StyleGAN从96.3提升到99.6,BigGAN从72.2提升到88.2,GauGAN从67.0提升到98.1等等。更直观的表格如下,左边是没有扩增:

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

另外,数据扩增也让分类器更加鲁棒了。

二是,数据多样性也对泛化能力有提升。还记得当时ProGAN生成了LSUN数据集里20个类别的图片吧。大体上看,用越多类别的图像来训练,得到的成绩就越好:

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

然后,再来试想一下,这时候如果突然有个新模型被开发出来,AI也能适应么?

这里,团队用了刚出炉没多久的英伟达StyleGAN2,发现分类器依然可以良好地泛化:

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

最后,还有一个问题。

AI识别假图,和人类用肉眼判断的机制一样么?

团队用了一个“Fakeness (假度) ”分值,来表示AI眼里一张图有多假。AI觉得越假,分值越高。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

实验结果是,在大部分数据集里,AI眼里的假度,和人类眼里的假度,并没有明显的相关性。

只在BigGAN和StarGAN两个数据集上,假度分值越高时,能看到越明显的瑕疵。

更多数据集上没有这样的表现,说明分类器很有可能更倾向于学习低层的缺陷,而肉眼看到的瑕疵可能更偏向于高层

安装使用

说完了论文,下面我们就可以去GitHub上体验一下这个模型的厉害了。

论文源代码基于PyTorch框架,需要安装NVIDIA GPU才能运行,因为项目依赖于CUDA。

首先将项目克隆到本地,安装依赖项。

  1. pip install -r requirements.txt 

考虑到训练成本巨大,作者还提供权重和测试集下载,由于这些文件存放在Dropbox上不便国内用户下载,在我们公众号中回复CNN即可获得国内网盘地址。

下载完成后将这两个文件移动到weights目录下。

然后我们就可以用来判别图像的真假了:

  1. # Model weights need to be downloaded. 
  2. python demo.py examples/real.png weights/blur_jpg_prob0.1.pth 
  3. python demo.py examples/fake.png weights/blur_jpg_prob0.1.pth 

如果你有能力造出一个自己的GAN,还可以用它来检测你模型的造假能力。

  1. # Run evaluation script. Model weights need to be downloaded. 
  2. python eval.py 

作者就用它鉴别了13种CNN模型制造的图片,证明了它的泛化能力。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

闪闪发光作者团

这篇文章的第一作者是来自加州大学伯克利分校的Wang Sheng-Yu,他现在是伯克利人工智能研究实验室(BAIR)的一名研究生,在鉴别假图上是个好手。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

今年他和Adobe合作的另一篇论文Detecting Photoshopped Faces by Scripting Photoshop,可以发现照片是否经过PS瘦脸美颜的操作,而且还能恢复“照骗”之前的模样。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

这篇的另一名作者Richard Zhang与Wang同学在上面的文章中也有合作,2018年之前他在伯克利攻读博士学位,毕业后进入Adobe工作。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

这篇文章的通讯作者Alexei Efros,他曾是朱俊彦的导师,本文提到的CycleGAN正是出自朱俊彦博士之手。Alexei现在是加州大学伯克利分校计算机系教授,此前曾在CMU机器人学院任教9年。

一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 已开源

传送门

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

源代码:https://github.com/peterwang512/CNNDetection

AI 数据 人工智能
上一篇:该不该给人脸识别热潮“降降温”? 下一篇:用“小AI”解决人工智能的“大”烦恼
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

人工智能辅助下社交媒体营销人员的十大戒律

如果我告诉你,在社交媒体中使用人工智能工具(并正确地使用)能够增强每名用户的消费者旅程,从而留下更多的用户,且留存时间更长,会怎么样呢?

读芯术 ·  1天前
2020~2030:人工智能将占据主导地位的十年

AntWorks预测,在未来十年中,很难找到一个没有利用AI来智能地自动化业务流程的行业。在所有行业中都有无数的AI用例,这是我们对2020年及以后的预测。

CDA数据分析师 ·  1天前
AI人工智能在2020年的7个发展趋势

随着对其他AI应用程序需求的增长,企业将需要投资有助于其加快数据科学流程的技术。然而:实施和优化机器学习模型只是数据科学挑战的一部分。

CDA数据分析师 ·  3天前
物联网和机器人如何协同工作

很显然,机器人和物联网是两个完全不同的领域。但是,毫无疑问,它们正在协同工作,因为彼此都在帮助对方发展和创新。

iothome ·  3天前
腾讯和清华发表新基建领域最新成果:数据中心电池设备AI诊断服务

近日,腾讯数据中心与清华大学自动化系智网中心团队的贾庆山老师合作论文被第21届IFAC国际自动控制世界大会录取。

佚名 ·  3天前
哈工大造出柔性机器人,人造肌肉能和象鼻一样灵活了!

近日,国际著名期刊 Soft Robotics 刊登了哈尔滨工业大学冷劲松教授团队与美国马里兰大学 Norman M. Wereley 教授团队的共同研究成果,题为 Novel Bending and Helical Extensile/Contractile Pneumatic Artificial Muscles Inspired by Elephant Trunk(受象鼻启发的新型弯曲螺旋可伸展/收缩气动人工肌肉)。

付静 ·  3天前
机器人警察正在将虚幻变成现实

配备了人工智能、计算机视觉、物联网和其他先进技术的机器人警察可以帮助维护法律和秩序,并确保社区安全。

iothome ·  4天前
宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫

随手拍张照片,顺势转换为宫崎骏、新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用。

肖清、思 ·  4天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载