点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
GAN自从诞生以来,一路升级,功能越来越强。
这种强大的方法走过了怎样的进化之路?
GAN的诞生和构架
GAN诞生在2014年,Ian Goodfellow和他的同事发表了名为生成性对抗网络Generative Adversarial Nets的论文。
GAN的构架从此奠定。
它由生成器generators 和 判别器discriminators两部分组成,以无人监督的方式运行。
生成器抓取数据并产生新的合成样本,混入原始数据中,一起送给判别器,判别器区分哪些是原始数据,哪些是后来合成的。这一过程反复进行,直到判别器无法以超过50%准确度从合成样本中分辨出真实样本。
在实践中,GAN的构架也带来一些缺陷。
首先,同时训练生成器和判别器与生俱来的不稳定性。每次参数更新后,需要优化的问题性质都会发生变化,因此模型内部的参数值会振荡或不稳定。更严重的情况是,生成器崩溃,吐出一大堆看起来同类的样本。
其次,生成器和判别器还有互相压倒的风险。如果生成器太精确,就会去利用判别器的弱点钻空子,而不是靠生成更逼真的图片来欺骗判别器;如果判别器太精确,就会阻碍生成器的收敛过程。
最后,缺乏训练数据,也会影响到GAN在语义方面的发展,
不过,英特尔AI实验室的高级主管Hanlin Tang 表示,正在出现的新兴技术可以应对这些局限。他提出了两种方法,一是将多个判别器放入一个模型中,并根据特定数据进行微调。二是喂给判别器密集的嵌入表示,或者数据的数字表示。这样它们可以有更多的信息,来从中提取。
GNN的应用:从图片到语音
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
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~