选自StatsBot
作者:Anton Karazeev
机器之心编译
参与:乾树、黄小天
生成对抗网络(GAN)是一类在无监督学习中使用的神经网络,其有助于解决按文本生成图像、提高图片分辨率、药物匹配、检索特定模式的图片等任务。Statsbot 小组邀请数据科学家 Anton Karazeev 通过日常生活实例深入浅出地介绍 GAN 原理及其应用。
生成对抗网络由 Ian Goodfellow 于 2014 年提出。GAN 不是神经网络应用在无监督学习中的唯一途径,还有玻尔兹曼机(Geoffrey Hinton 和 Terry Sejnowski,1985)和自动解码器(Dana H. Ballard,1987)。三者皆致力于通过学习恒等函数 f(x)= x 从数据中提取特征,且都依赖马尔可夫链来训练或生成样本。
GAN 设计之初衷就是避免使用马尔可夫链,因为后者的计算成本很高。相对于玻尔兹曼机的另一个优点是 GAN 的限制要少得多(只有几个概率分布适用于马尔可夫链抽样)。
在本文中,我们将讲述 GAN 的基本原理及最流行的现实应用。
GAN 原理
让我们用一个比喻解释 GAN 的原理吧。
假设你想买块好表。但是从未买过表的你很可能难辨真假;买表的经验可以免被奸商欺骗。当你开始将大多数手表标记为假表(当然是被骗之后),卖家将开始「生产」更逼真的山寨表。这个例子形象地解释了 GAN 的基本原理:判别器网络(手表买家)和生成器网络(生产假表的卖家)。
两个网络相互博弈。GAN 允许生成逼真的物体(例如图像)。生成器出于压力被迫生成看似真实的样本,判别器学习分辨生成样本和真实样本。
判别算法和生成算法有何不同?简单地说:判别算法学习类之间的边界(如判别器做的那样),而生成算法学习类的分布(如生成器做的那样)。
如果你准备深入了解 GAN
想要学习生成器的分布,应该定义数据 x 的参数 p_g,以及输入噪声变量 p_z(z)的分布。然后 G(z,θ_g)将 z 从潜在空间 Z 映射到数据空间,D(x,θ_d)输出单个标量——一个 x 来自真实数据而不是 p_g 的概率。
训练判别器以最大化正确标注实际数据和生成样本的概率。训练生成器用于最小化 log(1-D(G(z)))。换句话说,尽量减少判别器得出正确答案的概率。
可以将这样的训练任务看作具有值函数 V(G,D)的极大极小博弈:
换句话说,生成器努力生成判别器难以辨认的图像,判别器也愈加聪明,以免被生成器欺骗。
「对抗训练是继切片面包之后最酷的事情。」- Yann LeCun
当判别器不能区分 p_g 和 p_data,即 D(x,θ_d)= 1/2 时,训练过程停止。达成生成器与判别器之间判定误差的平衡。
历史档案图像检索
一个有趣的 GAN 应用实例是在「Prize Papers」中检索相似标记,Prize Papers 是海洋史上最具价值的档案之一。对抗网络使得处理这些具有历史意义的文件更加容易,这些文件还包括海上扣留船只是否合法的信息。
每个查询到的记录都包含商家标记的样例——商家属性的唯一标识,类似于象形文字的草图样符号。
我们应该获得每个标记的特征表示,但是应用常规机器学习和深度学习方法(包括卷积神经网络)存在一些问题:
它们需要大量标注图像;
商标没有标注;
标记无法从数据集分割出去。
这种新方法显示了如何使用 GAN 从商标的图像中提取和学习特征。在学习每个标记的表征之后,就可以在扫描文档上按图形搜索。
将文本翻译成图像
其他研究人员表明,使用自然语言的描述属性生成相应的图像是可行的。文本转换成图像的方法可以说明生成模型模拟真实数据样本的性能。
图片生成的主要问题在于图像分布是多模态的。例如,有太多的例子完美契合文本描述的内容。GAN 有助于解决这一问题。
我们来考虑以下任务:将蓝色输入点映射到绿色输出点(绿点可能是蓝点的输出)。这个红色箭头表示预测的误差,也意味着经过一段时间后,蓝点将被映射到绿点的平均值——这一精确映射将会模糊我们试图预测的图像。
GAN 不直接使用输入和输出对。相反,它们学习如何给输入和输出配对。
下面是从文本描述中生成图像的示例:
用于训练 GAN 的数据集:
Caltech-UCSD-200-2011 是一个具有 200 种鸟类照片、总数为 11,788 的图像数据集。
Oxford-102 花数据集由 102 个花的类别组成,每个类别包含 40 到 258 张图片不等。
药物匹配
当其它研究员应用 GAN 处理图片和视频时,Insilico Medicine 的研究人员提出了一种运用 GAN 进行药物匹配的方法。
我们的目标是训练生成器,以尽可能精确地从一个药物数据库中对现有药物进行按病取药的操作。
经过训练后,可以使用生成器获得一种以前不可治愈的疾病的药方,并使用判别器确定生成的药方是否治愈了特定疾病。
肿瘤分子生物学的应用
Insilico Medicine 另一个研究表明,产生一组按参数定义的新抗癌分子的管道。其目的是预测具有抗癌作用的药物反应和化合物。
研究人员提出了一个基于现有生化数据的用于识别和生成新化合物的对抗自编码器(AAE)模型。
「据我们所知,这是 GAN 技术在挖掘癌症药物领域的首个应用。」- 研究人员说。
数据库中有许多可用的生物化学数据,如癌细胞系百科全书(CCLE)、肿瘤药物敏感基因学(GDSC)和 NCI-60 癌细胞系。所有这些都包含针对癌症的不同药物实验的筛选数据。
对抗自编码器以药物浓度和指纹作为输入并使用生长抑制率数据进行训练(GI,显示治疗后癌细胞的数量减少情况)。
分子指纹在计算机中有一个固定的位数表示,每一位代表某些特征的保留状态。
隐藏层由 5 个神经元组成,其中一个负责 GI(癌细胞抑制率),另外 4 个由正态分布判别。因此,一个回归项被添加到编码器代价函数中。此外,编码器只能将相同的指纹映射到相同的潜在向量,这一过程独立于通过额外的流形代价集中输入。
经过训练,网络可以从期望的分布中生成分子,并使用 GI 神经元作为输出化合物的微调器。
这项工作的成果如下:已训练 AAE 模型预测得到的化合物已被证明是抗癌药物,和需接受抗癌活性化合物实验验证的新药物。
「我们的研究结果表明,本文提出的 AAE 模型使用深度生成模型显著提高了特定抗癌能力和新分子的开发效率。」
结论
无监督学习是人工智能的下一个蓝海,我们正朝着这一方向迈进。
生成对抗网络可以应用于许多领域,从生成图像到预测药物,所以不要害怕失败。我们相信 GAN 有助于建立一个更好的机器学习的未来。
原文链接:https://blog.statsbot.co/generative-adversarial-networks-gans-engine-and-applications-f96291965b47
本文为机器之心编译,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):[email protected]
投稿或寻求报道:[email protected]
广告&商务合作:[email protected]