引言

你能看出这张照片中面部的共同点吗?

这些人都不是真实存在的!这些面部图像都是由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的五大有趣应用的更多相关文章

  1. Geometric GAN

    目录 概 主要内容 McGAN 结合SVM 训练 训练 理论分析 证明 Jae Hyun Lim, Jong Chul Ye, Geometric GAN. 概 很有趣, GAN的训练过程可以分成 寻 ...

  2. GAN

    GAN(Generative Adversarial Nets),产生式对抗网络 存在问题: 1.无法表示数据分布 2.速度 3.resolution太小,大了无语义信息 4.无reference 5 ...

  3. 大数据应用:五大地区喜新厌旧游戏APP类别之比较与分析

    今天,我们来分享点不一样的资讯.....游戏APP之喜新厌旧排行榜!! 前阵子笔者开发了一套系统可以用来收集亚洲五大地区上架APP的每日排名信息,希望观察出五大地区在APP上的喜好和使用程度之间的相异 ...

  4. Java程序员需要注意的五大Docker误区

    Docker现在很火,容器技术看上不无所不能,但这实际上是一种误解,不要被炒作出来的泡沫迷住双眼,本文抛去炒作,理性地从Java程序员的角度,列举出Docker目前的五大误区,帮助你更好地理解Dock ...

  5. 从一篇ICLR'2017被拒论文谈起:行走在GAN的Latent Space

    同步自我的知乎专栏文章:https://zhuanlan.zhihu.com/p/32135185 从Slerp说起 ICLR'2017的投稿里,有一篇很有意思但被拒掉的投稿<Sampling ...

  6. GAN︱生成模型学习笔记(运行机制、NLP结合难点、应用案例、相关Paper)

    我对GAN"生成对抗网络"(Generative Adversarial Networks)的看法: 前几天在公开课听了新加坡国立大学[机器学习与视觉实验室]负责人冯佳时博士在[硬 ...

  7. GAN 转

    生成式对抗网络(GAN)是近年来大热的深度学习模型.最近正好有空看了这方面的一些论文,跑了一个GAN的代码,于是写了这篇文章来介绍一下GAN. 本文主要分为三个部分: 介绍原始的GAN的原理 同样非常 ...

  8. [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述

    Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...

  9. 生成式对抗网络(GAN)实战——书法字体生成练习赛

    https://www.tinymind.cn/competitions/ai 生成式对抗网络(GAN)是近年来大热的深度学习模型. 目前GAN最常使用的场景就是图像生成,作为一种优秀的生成式模型,G ...

随机推荐

  1. 《深入理解 Java 虚拟机》读书笔记:类文件结构

    正文 一.无关性的基石 1.两种无关性 平台无关性: Java 程序的运行不受计算机平台的限制,"一次编写,到处运行". 语言无关性: Java 虚拟机只与 Class 文件关联, ...

  2. 浅谈了解JDBC

    目录 前言 作用 JDBC的架构 步骤 JDBC常见的关键字解释 前言 Java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.J ...

  3. 无线个人区域网WPAN

    无线个人区域网WPAN (Wireless Personal Area Network) 1.1.概述 在个人工作地方把属于个人使用的电子设备用无线技术连接起来自组网络,不需要使用接入点 AP. 整个 ...

  4. python 写入 execl 文件 之 xlwt 模块

    1. xlwt 安装 pip install xlwt 2. xlwt 操作, 代码 #!/usr/bin/env python3 import xlwt # 只能创建 新的 excel 文件 # 1 ...

  5. MVC06

    1.校验机制 我们可以在Model中使用属性进行校验 using System; using System.ComponentModel.DataAnnotations; using System.D ...

  6. VMware Workstation 虚拟机的安装及kali Linux 的安装

    要用到虚拟机了,Windows平台的虚拟机现在主要用的是VMWare 和VirtuualBox了.VirtualBox作为一款免费的软件,用着还行.笔者这里主要介绍VMware的安装和使用 . 下载: ...

  7. 基础JavaScript练习(一)总结

    任务目的 在上一任务基础上继续JavaScript的体验 接触一下JavaScript中的高级选择器 学习JavaScript中的数组对象遍历.读写.排序等操作 学习简单的字符串处理操作 任务描述 参 ...

  8. 一文快速入门Shell脚本_了解Sheel脚本基本命令

    通过代码和注释的形式,列举了shell的基础操作,快速入门.shell在线编辑器 注释 单行用#号:多行::<<' 多行注释... '.:<<a 多行注释... a.:< ...

  9. 使用openxml提取word中的文本和图片并转为Html

    使用openxml提取word中的文本和图片 使用 openXml 提取 word 中的 Text 和 Drawing 使用 openXml 将 word 中的文本和图片转为Html 使用 openX ...

  10. 关于vue-cli3打包时遇到Cannot assign to read only property 'exports' of object '#<Object>'问题的解决方法。

    vue-cli3打包时遇到Cannot assign to read only property 'exports' of object '#<Object>'问题的解决方法. 大致是说, ...