人有多大胆,GAN有多高产 | AI创作利器演变全过程
赖可 发自 凹非寺量子位 报道 | 公众号 QbitAI
GAN自从诞生以来,一路升级,功能越来越强。
这种强大的方法走过了怎样的进化之路?
GAN的诞生和构架
GAN诞生在2014年,Ian Goodfellow和他的同事发表了名为生成性对抗网络Generative Adversarial Nets的论文。
GAN的构架从此奠定。
它由生成器generators 和 判别器discriminators两部分组成,以无人监督的方式运行。
生成器抓取数据并产生新的合成样本,混入原始数据中,一起送给判别器,判别器区分哪些是原始数据,哪些是后来合成的。这一过程反复进行,直到判别器无法以超过50%准确度从合成样本中分辨出真实样本。
在实践中,GAN的构架也带来一些缺陷。
首先,同时训练生成器和判别器与生俱来的不稳定性。每次参数更新后,需要优化的问题性质都会发生变化,因此模型内部的参数值会振荡或不稳定。更严重的情况是,生成器崩溃,吐出一大堆看起来同类的样本。
其次,生成器和判别器还有互相压倒的风险。如果生成器太精确,就会去利用判别器的弱点钻空子,而不是靠生成更逼真的图片来欺骗判别器;如果判别器太精确,就会阻碍生成器的收敛过程。
最后,缺乏训练数据,也会影响到GAN在语义方面的发展,
不过,英特尔AI实验室的高级主管Hanlin Tang 表示,正在出现的新兴技术可以应对这些局限。他提出了两种方法,一是将多个判别器放入一个模型中,并根据特定数据进行微调。二是喂给判别器密集的嵌入表示,或者数据的数字表示。这样它们可以有更多的信息,来从中提取。
GAN的应用:从图片到语音
1、图像
GAN最有常见和有名的应用是合成以假乱真的图像。
比如英伟达的Style GAN,可以把人物B的脸部特征迁移到人物A上。
详细介绍可以戳:
这些假脸实在太逼真了!英伟达造出新一代GAN,生成壁纸级高清大图毫无破绽
除了人脸,还可以进行其它对象之间的迁移。卡内基·梅隆大学的科学家开发了出了Recycle-GAN ,它能把一个视频或照片的内容传到另一个上。
比如人脸和动画脸:
或者让一朵花模仿另一朵开的姿势:
2、视频
从图片前进一步,就是视频。Deepmind开发了DVD-GAN
原始数据集是从Youtube上收集的50万张10秒长的高分辨率视频,最终可以生成256 x 256像素视频,最长能有48帧。
3、音乐
除了可以来制作照片,GAN还可以用来作曲。
亚马逊的deepcomposer键盘的原理和GAN一致。
输入一个简单的旋律,生成器根据随机数据创建样本,判别器进行区分。两者反复改进,最终就会生成一段乐曲。
Demo试听可戳:1行代码就能跑个量子计算!AWS年度巨献:还有3种超牛硬件随你挑 | 狄拉克孙子点赞
4、语音
GAN在语音上的应用并不多,谷歌和帝国理工学院的研究者一起研发了GAN-TTS ,这个系统运用GAN,将文本转为自然真实的语音。
这个系统里有10个辨别器,一部分负责判别输出的语音和文本是否一致,另外一部分只关注语音是否真实自然。
5、检测垃圾评论
想解决网上有人用机器刷虚假评论的问题。有研究者开发 spamGAN来检测网上的垃圾评论。
spamFAN采用半监督学习的技术,其中将未标记的数据与少量标记的数据结合使用。
在使用10%的标记数据进行训练时,准确性达到了71%至86%。
GAN的未来:如何精细控制
尽管GAN已经取得了很多的进步,英特尔实验室的Hanlin Tang 表示,现在依旧处于早期。
GAN 仍然缺少非常精细的控制,这是一个很大的挑战。
在计算方面,也有研究人员尝试轻型模型。
IBM多模式算法和引擎小组的研究人员Youssef Mroueh正在和同事一起开发小型GAN,用来减少训练时间和内存使用。
它们想努力实现的是,如果生成器太精确,就会去利用判别器的弱点钻空子,而不是靠生成更逼真的图片来欺骗生成器;如果判别器太精确,就会阻碍生成器的收敛过程
如果不用那么多的计算量,不做那么多麻烦的事情,应该怎么改变模型。这就是他们现在努力的方向。
参考资料:https://venturebeat.com/2019/12/26/gan-generative-adversarial-network-explainer-ai-machine-learning/
https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf
- 看「菊纹」,知疾病,这个智能马桶,知道你下半身的所有秘密2020-04-12
- 这拖拉机你能开算我输:美国少女“揭秘”现代拖拉机驾驶室2020-05-05
- 英伟达上线游戏云服务平台GeForce Now,每月4.99美元2020-02-05
- 史上最大“云办公”实验开始,你参加了吗?2020-02-04