0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入浅出学人工智能神经网络:GAN原理与应用入门介绍

m3Fp_almosthuma 来源:机器之心编译 作者:佚名 2017-08-25 09:47 次阅读
生成对抗网络(GAN)是一类在无监督学习中使用的神经网络,其有助于解决按文本生成图像、提高图片分辨率、药物匹配、检索特定模式的图片等任务。Statsbot小组邀请数据科学家AntonKarazeev通过日常生活实例深入浅出地介绍GAN原理及其应用。

生成对抗网络由IanGoodfellow于2014年提出。GAN不是神经网络应用在无监督学习中的唯一途径,还有玻尔兹曼机(GeoffreyHinton和TerrySejnowski,1985)和自动解码器(DanaH.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)的极大极小博弈:

换句话说,生成器努力生成判别器难以辨认的图像,判别器也愈加聪明,以免被生成器欺骗。

「对抗训练是继切片面包之后最酷的事情。」-YannLeCun

当判别器不能区分p_g和p_data,即D(x,θ_d)=1/2时,训练过程停止。达成生成器与判别器之间判定误差的平衡。

历史档案图像检索

一个有趣的GAN应用实例是在「PrizePapers」中检索相似标记,PrizePapers是海洋史上最具价值的档案之一。对抗网络使得处理这些具有历史意义的文件更加容易,这些文件还包括海上扣留船只是否合法的信息

每个查询到的记录都包含商家标记的样例——商家属性的唯一标识,类似于象形文字的草图样符号。

我们应该获得每个标记的特征表示,但是应用常规机器学习和深度学习方法(包括卷积神经网络)存在一些问题:

  • 它们需要大量标注图像;

  • 商标没有标注;

  • 标记无法从数据集分割出去。

这种新方法显示了如何使用GAN从商标的图像中提取和学习特征。在学习每个标记的表征之后,就可以在扫描文档上按图形搜索。

将文本翻译成图像

其他研究人员表明,使用自然语言的描述属性生成相应的图像是可行的。文本转换成图像的方法可以说明生成模型模拟真实数据样本的性能。

图片生成的主要问题在于图像分布是多模态的。例如,有太多的例子完美契合文本描述的内容。GAN有助于解决这一问题。

我们来考虑以下任务:将蓝色输入点映射到绿色输出点(绿点可能是蓝点的输出)。这个红色箭头表示预测的误差,也意味着经过一段时间后,蓝点将被映射到绿点的平均值——这一精确映射将会模糊我们试图预测的图像。

GAN不直接使用输入和输出对。相反,它们学习如何给输入和输出配对。

下面是从文本描述中生成图像的示例:

用于训练GAN的数据集:

  • Caltech-UCSD-200-2011是一个具有200种鸟类照片、总数为11,788的图像数据集。

  • Oxford-102花数据集由102个花的类别组成,每个类别包含40到258张图片不等。

药物匹配

当其它研究员应用GAN处理图片和视频时,InsilicoMedicine的研究人员提出了一种运用GAN进行药物匹配的方法。

我们的目标是训练生成器,以尽可能精确地从一个药物数据库中对现有药物进行按病取药的操作。

经过训练后,可以使用生成器获得一种以前不可治愈的疾病的药方,并使用判别器确定生成的药方是否治愈了特定疾病。

肿瘤分子生物学的应用

InsilicoMedicine另一个研究表明,产生一组按参数定义的新抗癌分子的管道。其目的是预测具有抗癌作用的药物反应和化合物。

研究人员提出了一个基于现有生化数据的用于识别和生成新化合物的对抗自编码器(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

本文为机器之心编译,转载请联系本公众号获得授权

?------------------------------------------------

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4717

    浏览量

    99996
  • 人工智能
    +关注

    关注

    1787

    文章

    46060

    浏览量

    234949

原文标题:深入浅出:GAN原理与应用入门介绍

文章出处:【微信号:almosthuman2014,微信公众号:机器之心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【书籍评测活动NO.44】AI for Science:人工智能驱动科学创新

    活的世界? 编辑推荐 《AI for Science:人工智能驱动科学创新》聚焦于人工智能与材料科学、生命科学、电子科学、能源科学、环境科学五大领域的交叉融合,通过深入浅出的语言和诸多实际
    发表于 09-09 13:54

    BP神经网络人工神经网络的区别

    BP神经网络人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中一个基础且重要的话题。本文将从定义、结构、算法、应用及
    的头像 发表于 07-10 15:20 374次阅读

    人工神经网络的案例分析

    人工神经网络(Artificial Neural Network, ANN)作为深度学习领域的重要分支,自20世纪80年代以来一直是人工智能领域的研究热点。其灵感来源于生物神经网络,通
    的头像 发表于 07-08 18:20 482次阅读

    人工神经网络模型的分类有哪些

    详细介绍人工神经网络的分类,包括前馈神经网络、卷积神经网络、循环神经网络、深度神经网络、生成对抗
    的头像 发表于 07-05 09:13 439次阅读

    人工智能神经网络系统的特点

    人工智能神经网络系统是一种模拟人脑神经网络结构和功能的计算模型,具有高度的自适应性、学习能力和泛化能力。本文将介绍人工智能神经网络系统的特点
    的头像 发表于 07-04 09:42 261次阅读

    人工智能人工神经网络有什么区别

    人工智能(Artificial Intelligence,简称AI)和人工神经网络(Artificial Neural Network,简称ANN)是两个密切相关但又有所区别的概念。 定义和起源
    的头像 发表于 07-04 09:39 297次阅读

    人工智能神经网络的结构是什么

    人工智能神经网络是一种模拟人脑神经网络的计算模型,其结构和功能非常复杂。 引言 人工智能神经网络是一种模拟人脑
    的头像 发表于 07-04 09:37 263次阅读

    人工智能神经网络的工作原理是什么

    人工智能神经网络的工作原理是一个复杂且深入的话题,涉及到多个领域的知识,包括数学、计算机科学、生物学等。 神经网络的基本概念 神经网络是一种
    的头像 发表于 07-04 09:35 261次阅读

    人工智能神经网络芯片的介绍

    人工智能神经网络芯片是一类专门为深度学习和神经网络算法设计的处理器。它们具有高性能、低功耗、可扩展等特点,广泛应用于图像识别、语音识别、自然语言处理等领域。以下是关于人工智能
    的头像 发表于 07-04 09:33 334次阅读

    神经网络人工智能的关系是什么

    神经网络人工智能的关系是密不可分的。神经网络人工智能的一种重要实现方式,而人工智能则是神经网络
    的头像 发表于 07-03 10:25 461次阅读

    人工神经网络的模型及其应用有哪些

    人工神经网络已经发展成为机器学习和人工智能领域的重要技术之一。本文将详细介绍人工神经网络的模型及其应用。 引言
    的头像 发表于 07-02 10:04 380次阅读

    神经网络人工智能的关系

    化时代的到来。本文旨在深入探讨神经网络人工智能之间的关系,通过分点表示和归纳,结合相关数字和信息,为读者提供全面的视角。
    的头像 发表于 07-01 14:23 239次阅读

    神经元与神经网络的区别与联系

    人工智能和机器学习的领域中,神经元和神经网络是两个至关重要的概念。虽然它们都与人脑中的神经系统有着密切的联系,但在实际应用和理论研究中,它们各自扮演着不同的角色。本文旨在
    的头像 发表于 07-01 11:50 497次阅读

    javascript深入浅出介绍

    JavaScript是一种广泛使用的脚本语言,用于开发互联网应用程序。它非常受欢迎,因为它可以用于网页开发,服务器端开发以及移动应用程序开发。本文将深入浅出介绍JavaScript的各个方面,包括
    的头像 发表于 12-03 11:09 5.7w次阅读

    javascript深入浅出

    JavaScript是一种广泛使用的编程语言,常用于Web开发。下面是对JavaScript的深入浅出的解释: JavaScript简介 JavaScript是一种解释型、动态类型、基于原型的语言
    的头像 发表于 11-16 10:34 2115次阅读