GAN的五大有趣应用
引言
你能看出这张照片中面部的共同点吗?
这些人都不是真实存在的!这些面部图像都是由GAN技术生成的。
“GAN”这个词是由Ian Goodfellow在2014年提出的,但相关概念早在1990年就存在了(Jürgen Schmidhuber开创),在Goodfellow发出这个方向的论文之后才开始普及。从那以后,GAN就一直不断发展!
实际上,GAN无处不在。数据科学家和深度学习研究者使用这项技术来生成逼真的图像,改变面部表情,创建游戏场景,可视化设计,甚至生成令人惊叹的艺术作品!最近有关AI生成艺术作品的新闻就是GAN的成果:
在本文中,我们将介绍五个流行且有趣的GAN应用。你可能遇到过其中一些但没有注意到它们是如何工作的。另外提供了每个GAN应用的链接,可以查看研究一下。
GAN 介绍GAN 的应用图像编辑安全相关生成数据注意力预测3D对象生成总结
GAN 介绍
我们了解了 GAN 可以做些什么。但它们是怎样运行的?这个强大的算法下面发生了什么?用一个流行的例子来理解这一点。
有一个伪造者(创造假艺术品)和一个负责检测这些假艺术品的检查者。
这个伪造者的任务模仿著名艺术家(如达芬奇)的原创绘画。如果他将这项工作作为原始艺术作品,伪造者可能会赚很多钱。
另一方面,检查员的任务是抓住这些伪造者。他应该怎么做?检查员知道真实艺术家独特的特点以及伪造者绘画的特点。检查者将这些已知的特点应用于当前的绘画,检查它是否真实。
这场伪造者与检查员的比赛不断进行,最终会成为世界级的检查员,还有世界级的伪造者。
现在将伪造者和检查者都看做机器人,当你同时训练伪造者和检查者,那你手上就有一个画家!这基本上就是GAN的工作原理。
GAN 的应用
我们已经对GAN的工作方式有了直观的认识,是时候深入研究目前常用的GAN有趣应用了。
图像编辑
大多数的图像编辑软件都缺少很大的灵活性对图片进行创造性的改变。例如通过改变某个年轻人的发型,使他变成一个90岁的人的外表。目前的图像编辑软件无法做到这一点。但是使用GAN,我们可以重建图像并彻底改变外表。
这篇论文展示了这一前沿应用。
另一个类似的应用是从图片中去除雨滴的纹理。下面是该论文中的图像:
安全相关
人工智能的兴起对大多数行业来说都是有好处的。但真正令人担忧的是人工智能革命和网络威胁,即使是深层神经网络也容易被黑客入侵。
对工业应用的持续关注后,发现它们应该对网络攻击具有鲁棒性,因为生产线上有很多机密信息。事实证明,GAN在这方面提供了巨大的帮助,直接解决了“对抗性攻击”的问题。
这些对抗性攻击使用各种技术来欺骗深度学习模型。GAN的使用使现有的深度学习模型更加健壮。可以通过创建更多的假例子并训练模型来识别它们。非常聪明。
还有一种名为SSGAN的技术用来对图像进行隐写分析并检测有害编码。
生成数据
谁不想获得更多的数据来训练深度学习模型?某在些领域获取数据是很有必要的,特别是在需要有训练数据的有监督学习算法领域。医疗行业正是这样的领域。
GAN 再次发威,因为它可以生成用于监督训练的虚假数据。就是这样!你就知道下次怎样获取更多的数据。
例如,这篇论文讨论了通过GAN创建逼真的眼睛图像数据来训练深度学习算法。
注意力预测
当我们观察一幅图像时倾向于关注某一特定部分而不是整幅图像。这被称为注意力,是人类重要的特征。预先了解一个人的确切位置对于公司来说肯定是一个有用的功能,因为可以更好地优化定位他们的产品。比游戏设计师可以专注于游戏的某一部分,增强它的功能使其更有吸引力。
这篇论文探讨了这个技术,作者尝试使用GAN识别图像中最吸引人的部分。
3D对象生成
GAN 在游戏行业也很受欢迎。
为了给玩家一种逼真的感觉,游戏设计师花费无数个小时创建3D头像和背景。创建3D模型需要付出很多努力。用 GAN 来生成3D对象会看起来不真实吗?观看下面这个视频可能就会相信GAN的强大功能,它们使整个过程自动化。
这里有一份开源代码,如果你有兴趣可以试一试。
总结
在研究中已经发表了很多的 GAN 应用。希望上面介绍的 GAN 的应用可以对你有所启发,也许你可以创造自己的 GAN!如果有任何想法或建议,欢迎在做出评论。
欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/
欢迎关注PyTorch官方中文教程站:
http://pytorch.panchuang.net/
GAN的五大有趣应用的更多相关文章
- Geometric GAN
目录 概 主要内容 McGAN 结合SVM 训练 训练 理论分析 证明 Jae Hyun Lim, Jong Chul Ye, Geometric GAN. 概 很有趣, GAN的训练过程可以分成 寻 ...
- GAN
GAN(Generative Adversarial Nets),产生式对抗网络 存在问题: 1.无法表示数据分布 2.速度 3.resolution太小,大了无语义信息 4.无reference 5 ...
- 大数据应用:五大地区喜新厌旧游戏APP类别之比较与分析
今天,我们来分享点不一样的资讯.....游戏APP之喜新厌旧排行榜!! 前阵子笔者开发了一套系统可以用来收集亚洲五大地区上架APP的每日排名信息,希望观察出五大地区在APP上的喜好和使用程度之间的相异 ...
- Java程序员需要注意的五大Docker误区
Docker现在很火,容器技术看上不无所不能,但这实际上是一种误解,不要被炒作出来的泡沫迷住双眼,本文抛去炒作,理性地从Java程序员的角度,列举出Docker目前的五大误区,帮助你更好地理解Dock ...
- 从一篇ICLR'2017被拒论文谈起:行走在GAN的Latent Space
同步自我的知乎专栏文章:https://zhuanlan.zhihu.com/p/32135185 从Slerp说起 ICLR'2017的投稿里,有一篇很有意思但被拒掉的投稿<Sampling ...
- GAN︱生成模型学习笔记(运行机制、NLP结合难点、应用案例、相关Paper)
我对GAN"生成对抗网络"(Generative Adversarial Networks)的看法: 前几天在公开课听了新加坡国立大学[机器学习与视觉实验室]负责人冯佳时博士在[硬 ...
- GAN 转
生成式对抗网络(GAN)是近年来大热的深度学习模型.最近正好有空看了这方面的一些论文,跑了一个GAN的代码,于是写了这篇文章来介绍一下GAN. 本文主要分为三个部分: 介绍原始的GAN的原理 同样非常 ...
- [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述
Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...
- 生成式对抗网络(GAN)实战——书法字体生成练习赛
https://www.tinymind.cn/competitions/ai 生成式对抗网络(GAN)是近年来大热的深度学习模型. 目前GAN最常使用的场景就是图像生成,作为一种优秀的生成式模型,G ...
随机推荐
- Java核心技术卷1 第10版 笔记
3.3 数据类型 Java是一种强类型语言.必须为每一个变量声明一种类型.在java中,一共有8终基本类型. 3.3.1 整形 类型 存储需求 取值范围 int 4字节 -2 147 483 648 ...
- 解决vue2.0下IE浏览器白屏问题
公司新开发的项目需要兼容到IE9+ 就在index.html页面加入 <meta http-equiv="X-UA-Compatible" content="IE= ...
- Python基础知识(day1)
day1 1.编码 ASCII码 1字节8位 2^8 = 256 位 万国码 unicode 4字节32位 #浪费空间 UTF-8 对unicode进行压缩 2.注释 单行注释 score = inp ...
- 软件WEB自动化测试工具之智能元素定位
江湖一直有着这么一句名言“天下武功,唯快不破".那么在软件测试领域,自然而然我们会想到软件自动化测试.软件自动化测试的实现自然离不开软件自动化测试工具.软件自动化测试工具是软件自动化的载体, ...
- mysql 学习日记 悲观和乐观锁
理解 悲观锁就是什么事情都是需要小心翼翼,生怕弄错了出大问题, 一般情况下 "增删改" 都是有事务在进行操作的,但是 "查" 是不需要事务操作的, 但是凡事没 ...
- redis 出现(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details
如果在ubuntu安装的redis含端口使用,但是某些时候常常出现 (error) MISCONF Redis is configured to save RDB snapshots, but is ...
- 【06】openlayers 切片图层
创建地图: //OSM图层 let source = new ol.source.OSM() //切片图层tilelayer let layers = new ol.layer.Tile({ sour ...
- C++ 线程添加互斥量
//创建互斥量 HANDLE g_hMutex = NULL; WaitForSingleObject(g_hMutex, INFINITE); ReleaseMutex(g_hMutex);
- anconda添加镜像源
# anaconda 安装镜像源 *** 在使用安装 conda 安装某些包会出现慢或安装失败问题,最有效方法是修改镜 像源为国内镜像源. 之前都选用清华镜像源,但是2019年 ...
- PPP协议(简述)
PPP协议(链路层协议):用于点对点信道.互联网用户通常需要连接到某个ISP(运营商)之后才能接入到互联网,PPP协议是用户计算机和ISP(运营商)进行通信时所使用的数据链路层协议.该协议可支持同一时 ...