障眼法修行指南:GAN是怎样一步步学会“骗人”的?
原标题:障眼法修行指南:GAN是怎样一步步学会“骗人”的?
文|脑极体
算法,就像是武林绝学中的“内功”,是计算机领域最重要的基石。不过,算法多了也很麻烦。不断推陈出新的算法是否更新更快更好,大厂各执一词,评价褒贬不一。
没有“内功”,不可能成为高手;“内功”多了,难免走火入魔。
或许搞清楚一种算法是在何时以何种方式何种面貌进化的,能更清晰地理解它的现在和未来。
今天的算法简史,就从火遍整个AI圈的机器学习模型GAN说起。
从传统模型到逼真的GAN2.0,生成算法经历了哪些变化?
生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,作为在无监督学习上最具前景的算法之一,最早是在2014年由学者Ian J. Goodfellow等人提出的。
在GAN所代表的深度学习之前,已经有很多生成模型。但这种模型是从概率统计角度出发的,指的是用于随机生成可观测数据的模型,很难直接描述和建模。让科研人员在遇到了不少挑战。
比如说传统的图像生成模型,将图像表示为一个随机向量,其中每一维都代表一个像素值,然后假设自然场景中的图像都服从一个未知的分布规则,再通过一些观测样本来估计其分布。
显然,这种难以描述和直接建模的生成模型,让科研人员遇到了不少挑战。最为重要的一点是,系统无从判断预测结果的质量。
而原始版GAN(我们称之为GAN1.0),就在深度学习的浪潮下应运而生。
GAN1.0不仅可以利用深层神经网络模拟任意函数的能力,让复杂的分布判断得以被建模,而且增加了判别器。
于是“生成器网络”和“判别器网络”互相博弈,一个不停地捕捉数据产生新样本,一个不停提出质疑和挑战来判断所生成的样本是否真实。通过自我对抗不断改进,最终达到很好的输出结果。
可以说,GAN开启了生成算法的“实用时代”。当然,它并非是十全十美的,针对GAN1.0一些尚未解决的问题,还产生了不少变种算法。
比如Alec Radford et. Al对GAN做了一些架构上的优化,使用超参数和优化器改进之后,可以得到足以乱真的卧室图片。
如果说GAN1.0的生成能力已经令人五体投地,那么最近英伟达研究人员推出的升级版GAN(我们称之为GAN2.0),更是足够让人献上一年份的膝盖。
GAN2.0采用了基于风格的生成器新结构,可以将面部细节分离出来,通过模型进行单独调整,生成的面部图像结果大幅度超越了GAN1.0和其他模型。
之所以如此牛叉,一是因为GAN2.0可以更好地感知图像之间有意义的变化,并对其进行引导,让生成的人脸更逼真,而且还能用于汽车、动物、风景图像的生成。
历史脉络梳理清楚了之后,不难看出,深度学习为更高拟真度的生成算法奠定了基础和可能。而GAN的对抗性及其应用价值,又让图像生成算法成为了一门人人趋之若鹜的神器。
GAN的一小步,图像生成的一大步
那么,GAN模型发展到现在,到底经历了什么样的变化,又从无到有地获得了哪些能力呢?
主要集中在以下几个方面:
1.找重点。
GAN2.0采用的生成器架构,提取的图像风格不再是笔划或颜色空间这种僵硬的数据,而是图像的组成和脸部物理特征等泛属性,因此可以感知到图像之间哪些变化是有意义的(耳朵的形状),哪些特征无需重点关注(衬衫的颜色),因此比例的控制更细腻,生成的效果自然也就越逼真。
2.排除法。
图像中很多随机且不起重要影响的细节,比如毛发、雀斑的具体位置等等,只要符合基本的规则分布,GAN2.0可以自主将一些随机变化剔除。
3.省资源。
GAN2.0可以将完整的特征图像进行缩放,这意味着,在没有明确指导的自主学习环境下,系统能够自行判断使用全局或本地通道,从而大大提高了整体效率。
这背后隐藏着的,正是算法的本源价值——那就是将严谨的科学求证思维,与务实的工程方法相结合,解决问题的一种最佳方案。
版权保护: 本文由 沃派博客-沃派网 编辑,转载请保留链接: http://www.bdice.cn/html/15300.html