Advertisement

生成对抗网络和对抗神经网络_生成对抗网络简介

阅读量:

生成对抗网络和对抗神经网络

如果您最近一直在关注人工智能(AI)新闻媒体,则可能听说过Google的顶级AI人物之一Ian Goodfellow于三月份移居了Apple 。 Goodfellow在2017年被麻省理工学院评为35岁以下创新者之一,在2019年被 外交政策杂志评为100位全球思想家之一。他还被称为机器学习概念之父,称为生成对抗网络(GAN) 。 Facebook AI主管Yann LeCun表示,GAN是“过去10年机器学习中最有趣的想法”。

几乎每个人都知道机器学习领域现在有多热。 Google正在做机器学习。 亚马逊正在进行机器学习。 Facebook正在进行机器学习。 星球上的每个公司都想对机器学习有所作为。 美国商人,投资者(包括在《 鲨鱼坦克》 真人秀中)和达拉斯小牛NBA球队的老板马克·库班(Mark Cuban)最近表示, 每个人都应该学习机器学习

如果机器学习是我们应该学习的东西,而GAN是机器学习中最热门的想法,那么可以肯定的是,更多地了解GAN是个好主意。

互联网上有很多有趣的文章,视频和其他学习材料可以解释GAN。 本文是GAN和一些开源项目和资源的非常入门的指南,您可以在其中扩展您对GAN和机器学习的知识。

如果您想快速入门,我强烈建议您从斯坦福大学在YouTube上有关生成模型的讲座开始。 同样,Ian Goodfellow的原始论文“ Generative Adversarial Networks ”也可以PDF格式下载。 否则,请继续阅读一些背景信息以及其他对您有帮助的工具和资源。

统计分类模型

在学习GAN之前,重要的是要了解广泛用于机器学习和统计的统计分类模型之间的差异。 在统计分类中,这是一个研究领域,旨在确定一组类别中新观察结果的位置,其中有两个主要模型: 判别 模型和 生成 模型。 判别模型属于 监督学习 ,生成模型属于非 监督学习。 斯坦福大学演讲的这张幻灯片解释了两者的区别:

Difference between Supervised and Unsupervised Learning

判别模型

区分模型尝试根据 从新项目中发现的特征识别特定新项目在类别中的位置。 例如,假设我们要创建一个非常简单的区分模型系统,该系统将给定的对话分配给特定的电影类别,在这种情况下,是否来自电影 《复仇者联盟》。 这是一行示例对话:

“他是复仇者联盟的一员, 该组织将尽一切力量确保世界安全**。Loki** 最好提防。”

我们预先定义的“复仇者联盟”关键字组可以包括“复仇者联盟”和“ Loki”。 我们的判别模型算法将尝试匹配给定文本中与 “复仇者联盟” 相关的关键字,并报告在0.0到1.0之间的概率,其中接近1的数字表示最有可能来自 “复仇者联盟” 的对话, 接近0的数字表明事实并非如此。

这是判别模型的一个非常简单的示例,但是您可能会明白。 您可以看到,区分模型在 很大程度上取决于预定义类别的质量, 但是仅作了一些假设。

生成模型

生成模型不是通过标记数据而是通过尝试 从特定数据集中获取一些见识来工作。 如果您还记得高中时可能学过的高斯分布,则可能马上就想到了。
Example of Gaussian Distribution

例如,假设这是一班100名学生的期末考试成绩列表。

  • 10名学生达到80%或以上
  • 80名学生获得70%至80%
  • 10名学生的分数达到或低于70%

根据这些数据,我们可以推断出大多数学生在70年代得分。 此洞察力基于特定数据集的统计分布。 如果我们看到其他模式,也可以收集该数据并进行其他推断。

您可能听说过的生成模型包括高斯混合模型,贝叶斯模型,隐马尔可夫模型和变异编码器模型。 GAN也属于生成模型,但有所不同。

GAN的模型

GAN试图 通过生成模型 随机生成数据,然后使判别模型对数据进行评估并使用结果来改善下一个输出,从而 将区分模型和生成模型 进行 组合

这是GAN的简化视图:
Simplified GAN model

GAN的实际实现要比这复杂得多,但这是一个总的想法。

理解GAN的最简单方法是考虑一个场景,其中侦探和伪造者正在玩重复性的猜谜游戏,其中伪造者试图制造100美元的钞票的伪造品,而侦探则判断每个物品是真品还是假品。 这是这种情况的假设对话:

造假者: “这100美元看起来像真钱吗?”
侦探: “不!那看上去根本不是一张真正的100美元钞票。”
伪造者 (持有一种新设计):“这张100美元的钞票看起来像真钱吗?”
侦探: “那更好,但仍不如真实。”
伪造者 (持有设计的变体):“现在呢?”
侦探: “那很接近,但仍然不像真实。”
伪造者 (持有另一个变种):“这应该像真实的,对吧?”
侦探: “是的!那非常接近!”

好。 因此,侦探实际上是犯罪分子。 在这个例子中,伪造者是产生者,而侦探是鉴别者。 随着游戏的反复进行,伪造货币与真实货币相似的可能性可能会越来越高。

假冒伪劣侦探示例与GAN之间的主要区别在于GAN的主要目的不是创建一个只有一个答案的100%实际输出。 相反,您可以将GAN视为某种 超级创意引擎 ,它可以生成许多意外的输出,这些输出既可以使您感到惊讶,又可以满足您的好奇心和期望。

机器学习

在开始使用GAN之前,您需要一些有关机器学习及其背后的数学知识的背景知识。

如果您不熟悉机器学习,则可以免费使用Goodfellow的 Deep Learning 教科书 ,也可以根据需要通过其网站上的Amazon链接购买印刷版。

您还可以在YouTube上观看斯坦福大学有关用于视觉识别的卷积神经网络的讲座。

但是,开始进行机器学习的最佳方法可能是通过大规模开放式在线课程(MOOC)上免费课程,例如:

既然数据科学对机器学习有所帮助,请了解Kaggle ,这是最著名的数据科学家和机器学习者在线社区

您还将希望熟悉最受欢迎的机器学习工具:

另外,请务必查看有关机器学习的其他Opensource.com文章:

GAN入门

现在,我们了解了有关机器学习和GAN的一些基础知识,您可能已经准备好开始使用GAN。 首先,根据BSD 3-条款“ New”或“ Revised”许可在GitHub上访问Goodwell的原始GAN代码

GAN也有几种变体:

您可以使用GAN的方式

GAN有无限可能的用例,但以下是人们尝试过的一些方法:

您使用过GAN吗? 您还有其他资源要分享吗? 如果是这样,请在评论中留下注释。

翻译自: https://opensource.com/article/19/4/introduction-generative-adversarial-networks

生成对抗网络和对抗神经网络

全部评论 (0)

还没有任何评论哟~