能生成Deepfake也能诊断癌症,GAN与恶的距离
作者:CQITer小编 时间:2019-07-09 16:32
编译:栾红叶、张大笔茹、小七
但是它的爆火不仅是由于这个技术出神入化的好用,还因为由他催生的相关应用导致了各种伦理道德问题。
多受关注的当然是Deepfake(深度伪造),这款操作容易且效果完美的换脸应用,让人们谈“GAN”色变。

朱茵的脸被换成了杨幂
而近期,Deepfake甚至有了升级版,走红网络的一键生成裸照软件DeepNude,只要输入一张完整的女性图片就可自动生成相应的裸照,由于广泛传播而造成了预料之外的后果,开发者最终将APP下架。

被一键脱衣的霉霉
相关技术引发了一系列社会后果,并且引发了政府立法部门的重视。2019年6月13日,美国众议院情报委员会召开关于人工智能深度伪造的听证会,公开谈论了深度伪造技术对国家、社会和个人的风险及防范和应对措施。
让人嗤之以鼻的同时,真正的研究者们也在用GAN推动人类社会的发展。据《MIT科技评论》报道,吕贝克大学研究人员近期刚刚利用deepfake背后同样的技术,合成了与真实影像无异的医学图像,解决了没有足够的训练数据的问题,而这些图像将可以用于训练AI通过X光影像发现不同的癌症。
那么,技术本身就存在原罪么?又是哪里出了错呢?
让我们回到GAN诞生的那天,从头回顾这一让人又爱又恨的技术发展的前世今生。
GAN的诞生故事:一场酒后的奇思妙想
时间拉回到2014年的一晚,Ian Goodfellow和一个刚刚毕业的博士生一起喝酒庆祝。在蒙特利尔一个酒吧,一些朋友希望他能帮忙看看手头上一个棘手的项目:计算机如何自己生成图片。
研究人员已经使用了神经网络(模拟人脑的神经元网络的一种算法),作为生成模型来创造合理的新数据。但结果往往不尽人意。计算机生成的人脸图像通常不是模糊不清,就是缺耳少鼻。
Ian Goodfellow朋友们提出的方案是对那些组成图片的元素进行复杂的统计分析以帮助机器自己生成图片。这需要进行大量的数据运算,Ian Goodfellow告诉他们这根本行不通。
边喝啤酒边思考问题时,他突然有了一个想法。如果让两个神经网络相互对抗会出现什么结果呢?他的朋友对此持怀疑态度。
当他回到家,他女朋友已经熟睡,他决定马上实验自己的想法。那天他一直写代码写到凌晨,然后进行测试。第一次运行就成功了!
那天晚上他提出的方法现在叫做GAN,即生成对抗网络(generative adversarial network)。

Goodfellow自己可能没想到这个领域会发展得如此迅速,GAN的应用会如此广泛。
下面我们先来看几张照片。

如果你没有亲眼看到我去过的地方,那就可以认为这些照片完全是假的。
当然,我并不是说这些都是ps的或者CGI编辑过的,无论Nvidia称他们的新技术是如何了得,那也只是图片,不是真实的世界。
也就是说,这些图像完全是用GPU计算层层叠加,并且通过烧钱生成的。
能够做出这些东西的算法就是对抗生成网络,对于那些刚开始学习机器学习的人而言,编写GAN是一个漫长的旅途。在过去的几年中,基于对抗生成网络应用的创新越来越多,甚至比Facebook上发生的隐私丑闻还多。

2014年以来GANs不断进行改进才有了如今的成就,但是要一项一项来回顾这个过程,就像是要重新看一遍长达八季的“权力的游戏”,非常漫长。所以,在此我将仅仅重温这些年来GAN研究中一些酷炫成果背后的关键思想。
我不准备详细解释转置卷积(transposed convolutions)和瓦瑟斯坦距离(Wasserstein distance)等概念。相反,我将提供一些我觉得比较好的资源链接,你可以使用这些资源快速了解这些概念,这样你就可以看到它们在算法中是如何使用的。
下文的阅读需要你掌握深度学习的基础知识,并且知道卷积神经网络的工作原理,否则读起来可能会有点难度。
鉴于此,先上一张GAN发展路线图:

GAN路线图
图中的过程我们将在下文一步一步地讲解。让我们先来看看内容大纲吧。
GAN:Generative Adversarial Networks
DCGAN:Deep Convolutional Generative Adversarial Network
CGAN:Conditional Generative Adversarial Network
CycleGAN
CoGAN:Coupled Generative Adversarial Networks
ProGAN:Progressive growing of Generative Adversarial Networks
WGAN:Wasserstein Generative Adversarial Networks
SAGAN:Self-Attention Generative Adversarial Networks
BigGAN:Big Generative Adversarial Networks
StyleGAN:Style-based Generative Adversarial Networks
GAN:Generative Adversarial Networks




