2016年深度学习的主要进展

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。
PabloTue,2016年12月6日,MACHINELEARNING
深度学习一直是机器学习社区的核心主题,在过去几年以及2016年也是如此。在本文中,我们将介绍为推动领域发展做出贡献(或有贡献潜力)的进步,以及组织和社群如何确保这些强大的技术,以下列有益于大众的方式被使用。
研究人员一直以来要努力解决的问题之一是无监督无管理式的学习方式。我们认为2016年对于这一领域来说是伟大的一年,主要是因为对生成模型的大量研究。
此外,实现与机器自然地进行通信也是目标之一,且Google和Facebook之类的大型公司已经提出了一些方法。在这方面,2016年都是关于自然语言处理问题(NLP)的创新,这些创新是实现目标的关键所在。
Unsupervisedlearning(无监督无管理式的学习方式)
无监督学习是指从原始数据中提取模式和结构而无需额外信息的任务,而不是需要标签的监督学习。
处理使用神经网络的这个问题,经典的方法是自动编码器。基本版本包括多层感知器(MLP),其中输入和输出层具有相同的大小,并且训练较小的隐藏层以恢复输入。一旦训练成功,隐藏层的输出,对应可用于聚类,维数降低,改进监督分类甚至可用于数据压缩的数据表示。
GenerativeAdversarialNetworks(GANs)(生成式对抗网络)
最近,出现了基于生成模型的新方法。称为生成式对抗网络,它已经使模型能够处理无监督学习。GAN是一场真正的革命。在本研究中,GAN具有很大的影响,YannLeCun(深度学习的父亲之一)说,GAN是过去20年里机器学习最重要的想法。
虽然IanGoodfellow于2014年才刚刚提出GAN,但是在2016年,GAN已经开始显示其真正的潜力。今年引进的,帮助训练以及更好的体系结构(深卷积GAN)的改进型技术,以及突破了以前的一些局限性,新的应用程序(稍后我们会列举出一些)揭示了GAN的强大性和灵活性。
Theintuitiveidea(直观的想法)
想象一个有志的画家(G),想做艺术伪造,和一个想要通过判断画谋生的人(D)。你首先展示一些毕加索的工作例子。然后G生产绘画,试图每次愚弄D,使他相信他们伪造的艺术是毕加索的原件。有时G能成功愚弄D;然而当D开始更多的学习毕加索风格(看更多的例子),G就很难愚弄D,所以他必须伪造得更好。随着这个过程继续,不仅D很好地分辨出哪个是毕加索的哪个不是的,而且G也十分擅长伪造毕加索的绘画了。这就是GAN背后的思路和想法。
技术上来说,GAN包含两个网络之间的持续相互推动(既对抗):发生器(G)和鉴别器(D)。给定一组训练示例(例如图像),我们可以想象有一个底层分布(x)来管理它们。使用GAN,G将产生输出,并且D将决定它们是否是与训练集合相同的分布。
G将从一些噪声z开始,因此生成的图像是G(z)。D从分布(真实的)和假的发布(从G获取的)来获取图像,并将它们分类:D(x)和D(G(z))。
D和G都在同一时间学习,一旦G足够了解训练样本的分布,它就可以产生新样本,该样本具有非常相似的特性。
这些图像由用CIFAR-10训练的GAN产生。如果你注意看一下细节,你可以看到他们不是真正的实物。但是,他们捕捉到了特定的概念,可以使他们从远处看起来像是真实的。
InfoGAN(信息GAN)
近期的进展已经不仅仅是将GANs想法扩展到了近似数据分布,而且也可以学习可释义有用的向量型数据。这些期望的矢量表示需要捕获丰富的信息(与自动编码器中相同),并且还需要是可解释的,这意味着我们可以区分矢量的部分,这些部分有利于所生成的输出中的特定类型的形状变换。
OpenAI研究人员在8月提出的InfoGAN模型解决了这个问题。简而言之,InfoGAN能够以无监督的方式来表示包含有关数据集的信息。例如,当应用于MNIST数据集时,能够推断所生成样本的数量类型(1,2,3,…),旋转度和宽度,而不需要手动标记数据。
ConditionalGANs(条件GANs)
GAN的另一扩展是称为条件GAN(cGAN)的一类模型。这些模型能够考虑外部信息(类标签,文本,图像)生成样本,使用它强制G生成特定类型的输出。最近出现的一些应用程序是:
·Texttoimage(文字到图像)
采用文本描述(由字符级别CNN或LSTM编码为向量)作为外部信息,并基于此生成图像。见:生成对抗文本到图像合成(2016年6月)。
·imagetoimage(图像到图像)
将输入图像映射到输出图像。请参阅使用条件对抗网格的图像到图像翻译(2016年11月)。
·Superresolution(超分辨率)r
参阅生成式对抗网络查看照片-现实的单图像超分辨率(2016年11月)。
你可以在这篇博客文章或IanGoodfellow的演讲中查看关于生成模型的更多信息。
NaturalLanguageProcessing(自然语言处理)
为了能够与机器进行流畅的通信,需要首先解决几个问题:文本理解,问题回答和机器翻译。
文本理解
SalesforceMetaMind已经构建了一个名为联合许可任务(JMT)的新模型,目标是创建一个能够学习五个常见NLP任务的模型:
词性标记
将词性分配给每个词,例如名词,动词,形容词。
分块
也称为浅解析。涉及一系列任务,如寻找名词或动词组。
依赖性解析
识别单词之间的句法关系(例如修饰名词的形容词)。
语义关联性
测量两个句子之间的语义距离。结果是实值分数。
文本蕴涵
确定前提语句是否需要假设句子。可能的类:蕴涵,矛盾和中立。
这个模型的优势在于它是端到端,可训练的。这意味着它允许不同层之间的协作,从而改进较低层任务(这些任务不复杂),以及较高层(更复杂的任务)的结果。与旧的想法相比,这是一个新的东西,它只能使用低层来改进高级别的想法,而非相反。因此,该模型除了POS标记(出现在第二位置)之外,实现了所有的现有技术。
问题回答
MetaMind还提出了一个称为动态协同网络(DCN)的问题回答新模型,它建立在一个非常直观的想法上。
想象一下,我要给你一个长文本,问你一些问题。您是否希望首先阅读文本,然后再问问题,或者在实际开始阅读文本之前给出问题?当然,提前知道什么问题,这样你就知道该注意什么。如果不知道,你必须同样重视和跟踪每一个细节和依属,以涵盖所有可能的未来问题。
DCN做同样的事情。首先,它生成文档的内部表示,以其试图回答的问题为条件,然后开始迭代收敛到最终可能答案的列表。
机器翻译
9月,Google推出了一种使用称为Google神经机器翻译(GNMT)服务的新模型。这种模型是为每对语言,如中文-英语单独测试。
11月宣布了一个新的GNMT版本。它进一步,训练一个单一的模型使其能够在多对语言之间翻译。与先前模型的唯一区别是,现在GNMT采用指定目标语言的新输入。它也能够翻译没有测试过的的语言。
GNMT结果表明,在多对语言上测试比在单对测试更好,这表明它能够将“翻译知识”从一个语言对转移到另一个语言对。
Community(社会)
一些公司和企业家创造了非盈利性和合作伙伴关系来讨论机器学习的未来,并确保这些技术被正确地利用于社会。
OpenAI是一个非营利组织,旨在与研究和行业社区合作,并免费向公众发布成果。它是在2015年年底创建的,并在2016年开始提供第一个成果(像InfoGAN,平台像Universe和(非)会议性的发布)。其背后的动机是确保AI技术被尽可能多的人所使用,如此也就避免了AI超级大国的产生。
另一方面,亚马逊,DeepMind,谷歌,Facebook,IBM和微软签署了AI合作伙伴关系。目标是提高公众对该领域的了解,并开发一个开放的平台供大家进行讨论和参与。
另一个值得强调的是研究界的开放性。您不仅可以免费在网站上找到任何出版物,如Arxiv(或Arxiv-Sanity),而且您现在还可以使用相同的代码复制他们的实验。这有一个有用的工具GitXiv,它能将Arxiv文档与其开源项目存储库相链接。
开源工具无处不在(正如我们在从MLconfSFblogpost的10个主要介绍中所强调的)。它们由研究人员和公司使用和创建。以下是2016年深受学习最受欢迎的工具列表:
Google的TensorFlow。
Fran?oisChollet的Keras。
微软的CNTK。
分布式(深度)机器学习社区的MXNET。适用于亚马逊。
蒙特利尔大学的Theano。
RonanCollobert,KorayKavukcuoglu,克莱门特Farabet的Torch。被Facebook广泛使用。
FinalThoughts(最后的想法)
现在是为机器学习发展贡献力量的好时机。正如你可以看到的,今年的机器学习进展很大;研究正在迅速进行,但很难跟上最新进展。我们真的很幸运生活在一个人工智能已经民主化的时代。
在Tryolabs,我们正在一些非常有趣的项目中使用这些技术进行工作。我们承诺第一时间告知您我们的发现,并继续与业界和所有感兴趣的开发商分享经验。
我们在这篇文章中回顾了很多,但还有很多其他伟大的发展成果,我们在此无法详尽阐述。如果你觉得我们有错误的地方,请随时在下面进行评论!
更新于(12/07/2016):按HackerNews和/r/MachineLearning对这篇文章的讨论和研究进行更新。他们对于本文有很多有益的贡献!
英文原文:https://tryolabs.com/blog/2016/12/06/major-advancements-deep-learning-2016/译者:qwertyl7