在人工智能的深度学习中,算法是核心。GAN(生成对抗网络),作为一个神奇的也是最强大的深度学习算法之一,其发明的过程非常有意思,而效果却是想象不到的有效。本文深入浅出为您讲解GAN。
是谁发明了GAN?效果如何?
2014年的一个晚上,伊恩-古德费洛与几个朋友出去庆祝,当时他们要求他协助完成一个项目,即计算机可以自行生成图像。
他在思考了一段时间后发明了一个想法。如果将两个神经网络对立起来会怎样?他的同伴们很怀疑,所以他决定回家后试一试。古德费罗几个小时,然后测试了他的软件。从第一次尝试就获得了成功。
那天晚上,他构建了现在被称为GAN的东西,即 "生成对抗网络"。该算法在深度学习领域引起了极大的兴趣,因为这个算法,伊恩已经成为一个人工智能的超级明星。
介绍
GAN 或生成对抗网络是一种基于深度学习的生成建模方法。
生成式建模是一项无监督的机器学习任务,需要自动检测和学习传入数据中的模式,以便该模型可用于生成与原始数据无法区分的新假副本。
你肯定已经知道 GAN 的应用,因为它们在年轻人中很受欢迎。
示例 1
生成新数据: GAN 能够在没有足够的数据开始时生成新数据。“这个人不存在”是一个网站,它生成的人脸是假的,但你感觉不到,因为它们太逼真了。
示例 2
通过实时绘画生成图像: NVIDIA Canvas 是一个绘画程序,它使用人工智能从简单的笔触创建风景图像。
示例 3
将现实生活中的图像转换为艺术:使用 GAN,您可以教您的计算机将您选择的照片转换为狗、涂鸦、辛普森,反之亦然!
GAN如何工作?
GAN 由卷积神经网络 (CNN)组成。它是人工智能的一个分支,是一种用于图像识别和处理的人工神经网络,专门用于处理像素数据。
GAN 算法由 2 个相互竞争的神经网络组成:一个生成器和一个鉴别器。GAN 的工作是一个涉及造假者和调查员的游戏,他们在其中相互竞争(这由 GAN 中的 A 描述,它代表对抗性,意思是反对)。造假者是我们的制造者,调查者是我们的鉴别者。
鉴别器的工作是识别给定的数据是真实的还是人造的。因此,它只是一个二进制分类器,输出 1 为真,0 为假。
生成器的工作要困难得多。它使用随机向量并尝试重新生成看起来像输入(真实)数据的数据。
这是一场零和游戏,这意味着总是有赢家,也总是有输家。生成器制作一个伪造的副本来欺骗鉴别器。如果鉴别器无法区分生成器的真实输入和虚假输入,则生成器获胜并且不会对其算法进行任何更改。而自从鉴别器丢失后,它会自行更改其算法。这就是为什么这个 GAN 被称为无监督机器学习任务的原因。
显然,生成器算法更难训练,因为它需要处理数千个像素,而鉴别器只需给出输出是真还是假的最终判断。
更多人工智能与深度学习方面的算法可以关注我们或者联系作者(微信同名)。