深度学习:2016年的进展综述及2017年的预测-程序员宅基地

技术标签: 人工智能  设计模式  嵌入式  

本文综合了Pablo的博客和Carlos E.Perez的博客,经作者授权,由InfoQ中文站社区编辑刘志勇编译整理并分享。

深度学习在机器学习领域中一直是核心话题,在过去几年和2016年也是如此。在本文中将阐述我们认为该领域中最有贡献(或最有潜力)的进展,以及组织和社区如何确保这些强大的技术对所有人都有利。

历史上研究人员所努力的主要挑战之一是无监督学习 。我们认为2016年对于这一领域来说是一个伟大的一年,主要是因为在生成模型上进行了大量工作。

此外,自然地与机器交流的能力也是梦想目标之一,并且诸如Google和Facebook之类的巨人已经提出了几种方法。在这方面,2016年所有关于自然语言处理(Natural Language Processing,NLP)问题的创新,是实现这一目标的关键。

无监督学习

无监督学习是指从原始数据中提取模式和结构,无需额外信息的任务,而不是需要标签的监督学习。

对于这个问题,使用神经网络的经典方法是自动编码器(autoencoders)。基本版本由多层感知器(Multilayer Perceptron,MLP)组成,其中输入和输出层具有相同的尺寸大小,并训练较小的隐藏层以恢复输入。一旦训练完毕,从隐藏层的输出对应于可用于聚类、维数降低、改进监督分类甚至用于数据压缩的数据表示。

生成式对抗网络(GAN)

近年来出现了基于生成模型的新方法。所谓生成式对抗网络,它能够解决模型无监督学习的问题。GAN是一场真正的革命,这种研究带来了深远的影响。在这个演示视频中,Yann LeCun(深度学习的创始人之一)说,GAN在过去20年里,是机器学习最重要的思想。

虽然生成式对抗网络早在2014年由Ian Goodfellow提出,但直到2016年,GAN才开始显示出真正的潜力。改进的技术帮助培训和改善体系架构(深卷积GAN),据介绍,今年已经修正了以前的一些局限性。新的应用程序(我们稍后列出其中的一些)展现了它们的强大和灵活性。

直观的想法

想象一下,一个有抱负的画家,想做艺术赝品(G),还有人想通过鉴定画作来谋生(D)。你首先给D展示了一些毕加索的画作。然后G制作赝品,试图欺骗D,使其相信是毕加索的原作。有时候会得逞。然而,当D开始熟悉更多毕加索风格(学习更多的样本),G就越来越更难欺骗D,所以他必须做得更好。随着这个过程的持续,不仅D能够很好地分辨出哪个是毕加索的风格,哪个不是;而且G也能得以提高仿毕加索绘画的能力。这就是背后GAN的设想。

技术上来说,GAN由两个网络之间的持续推动(因此“对抗”):一个生成器(generator,G)和一个辨别器(discriminatory,D)。给定一组训练示例(如图像),我们可以想像,有一个底层分布 (x)来管理它们。使用GAN,G将产生输出,并且D将判断它们是否来自训练集合的相同分布。

G将从一些噪声z开始,因此生成的图像是G(z)。D从分布(实际)和伪造的(从G)采用图像和它们进行分类:D(x)和D(G(Z))。


GAN如何工作。

D和G都在同时学习,并且一旦G被训练成它知道足够多的关于训练样本的分布,它可以产生新的样本,有着非常相似的属性: 


由GAN生成的图像。

这些图像由CIFAR-10训练的GAN产生。如果你注意到细节,你可以看到它们确实不是真正的对象。但是,有些东西抓住了某些特征,使它们可以从远处来看很像真实的东西。

InfoGAN

最近的发展已经将GAN的想法不仅扩展到近似数据分布,还扩展到语义有解的学习、数据的有用向量表示。这些期望的向量表示需要捕获丰富的信息(与自动编码器中相同),并且也需要是可解释的,意味着我们可以区分部分向量,这些部分有助于在生成的输出中的特定类型的形状变换。

OpenAI研究人员在8月提出的InfoGAN模型解决了这个问题。简而言之,InfoGAN能够生成包含有关在无人监督的方式数据集信息表示。InfoGAN能够以无监督的方式生成包含有关数据集信息的表示。例如,当应用于MNIST数据集时,它能够推断数字的类型(1,2,3,...),所生成样本的旋转和宽度,而不需要手动标记数据。

有条件的GAN

GAN的另一扩展是称为条件GAN(cGAN)的一类模型。这些模型能够考虑外部信息(类标签、文本、另一幅图像)来生成样本,使用它来强制G生成特定类型的输出。最近浮出水面的一些应用有:

  • 文字到图像

采用文本描述(由字符级CNN或LSTM编码为向量)作为外部信息,并基于此生成图像。参见Generative Adversarial Text to Image Synthesis (Jun 2016) 。 

  • 图像到图像

将输入图像映射到输出图像。参见 Image-to-Image Translation with Conditional Adversarial Nets (Nov 2016)。

  • 超分辨率技术

它采取降低采样的图像(细节较少),生成器尝试将它们复原接近更自然的未经删减压缩的原本。只要看过CSI的任何人都知道我们在说什么:)

参见Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network (Nov 2016)。


你可以在Ian Goodfellow的演讲中查看关于生成模型的更多信息。

 

自然语言处理

为了能够与机器进行流畅的对话,首先需要解决几个问题:文本理解问答机器翻译

文本的理解

Salesforce MetaMind已经构建了一个名为联合许可任务(Joint Many-Tasks,JMT)的新模型,目标是创建一个能够学习五个常见NLP任务的模型:

词性标记

将词性分配给每个词,例如名词、动词、形容词。

分块

也称为浅层句法分析。涉及一系列任务,比如寻找名词或动词组。

依存句法分析

识别单词之间的句法关系(例如修饰名词的形容词)。

语义相关性

测量两个句子之间的语义距离。结果是实值分数。

文本蕴涵

确定前提语句是否需要假设句子。可能的类:蕴涵、矛盾和中性。

这种模式背后的魔力是,终端到终端的可训练性(end-to-end trainable)。这意味着它允许不同层之间的协作,从而改进低层任务(不太复杂的任务),以及来自更高层(更复杂的任务)的结果。与旧的想法相比,这是一个新的想法,它只能使用低级别来改进高级别的想法,但不是相反。结果是,这个模型实现了除了POS标记(从第二位开始)之外的所有现有技术的结果。

问答

MetaMind还为问答的问题提出了一个称为动态协同网络(Dynamic Coattention Network,DCN)的新模型,它建立在一个非常直观的想法上。

想象一下,我要给你一个长文本,并问你一些问题。你是否希望首先阅读文本,然后再问问题;或者在实际开始阅读文本之前给出问题?当然,提前知道什么问题将是一个条件,所以你知道该注意什么。如果没有,你必须同样重视和跟踪每一个细节和依赖关系,以涵盖所有可能的未来问题。

DCN做同样的事情。首先,它生成文档的内部表示,以其试图回答的问题为条件,然后开始迭代收敛到最终答案的可能答案列表。

机器翻译

九月份,Google展示了一种称为Google神经机器翻译(Google Neural Machine Translation,GNMT)的翻译服务所使用的新模型。这种模型是为每对语言(如中文-英语)单独训练。

11月宣布了一个新的GNMT版本。它更进了一步,训练能够在多对语言之间翻译的单个模型。与先前模型的唯一区别是,现在GNMT采用指定目标语言的新输入。它也使零翻译(zero-shot translation)得以能用,意味着它能够翻译一对它没有训练过的语言。

GNMT结果表明,在多对语言上训练它比在单对训练更好,表明它能够将“翻译知识”从一个语言对转移到另一个语言对。

社区

为了讨论机器学习的未来,并确保这些令人印象深刻的技术得到正确使用,有利于社区,一些公司和企业家创造了非盈利性的合作伙伴关系。

OpenAI是一个非盈利组织,旨在与研究和行业社区合作,并免费向公众发布结果。它创建于2015年年底,并于2016年开始提供第一个成果(像InfoGAN这样的出版物、像Universe这样的平台和像这样的会议)。其背后的动机是确保尽可能多的人得到AI技术,避免出现AI超级大国。

在另一方面,Amazon、DeepMind、Google、Facebook、IBM和Microsoft签署了AI合作协议。目标旨在提高公众对该领域的理解,提供最佳实践并开发一个开放平台以进行讨论和参与。

另一个值得强调的方面是研究界的开放性。您不仅可以免费找到像Arxiv(或Arxiv-Sanity)这样的网站上的任何出版物,也可以使用同样的代码重复他们的实验。一个有用的工具是GitXiv,它将Arxiv文档与其开源项目存储库相链接。

开源工具无处不在(正如我们在MLconf SF blogpost发布的十大工具所强调的)。它们由研究人员和公司使用和创建。以下是2016年深度学习最受欢迎的工具列表:

  • TensorFlow (Google出品);

  • Keras (François Chollet出品);

  • CNTK(Microsoft出品);

  • MXNET(分布式深度机器学习社区出品,适用于Amazon);

  • Theano (Université de Montréal出品);

  • Torch(Ronan Collobert、Koray Kavukcuoglu、Clement Farabet出品,广泛应用于Facebook)。

2016年的总结

现在是机器学习发展最好的时机。正如你所见,今年特别令人兴奋,研究正在迅速发展,以致很难跟上最新进展的步伐。我们生活在AI已经民主化的时代,真的很幸运!

 

 

 

2017年十大预测

接下来,就是Carlos E. Perez对深度学习的2017年十大预测,让我们不妨看一看。有兴趣的话,可以在一年之后回顾这篇文章,看看这十大预测有多少准确命中:)

1.硬件将加速一倍摩尔定律(即2017年2倍)

如果你跟踪Nvidia和Intel的发展,这当然是显而易见的。Nvidia将在整个2017年占据主导地位,只因为他们拥有最丰富的深度学习生态系统。没有头脑健全的人会跳到另一个平台,除非味深度学习开发了足够的生态系统。Intel Xeon Phi的解决方案胎死腹中,等Nervana芯片进入市场后,性能将在2017年中期赶上Nvidia。

Intel的FPGA解决方案可能只是因为经济性而被云提供商采纳。功耗是需要减少的第一个变量。Intel的Nervana芯片可能会在2017年年中时达到30万亿次浮点运算。这是我的猜测,因为现在Nvidia已经达到了20万亿次浮点运算。我打赌2018年之前,Intel不会产生重大影响。Intel可能拥有的唯一的王牌是3D XPoint技术。这将有助于改善整个硬件堆栈,但不一定是核心加速器能力,考虑到GPU加速器的使用HBM2堆叠的芯片性能的原因。

Amazon已经宣布他们的云实例基于FPGA。这是基于Xilinx UltraScale +技术,在单个实例上提供6,800个DSP片和64 GB内存。然而,令人印象深刻的是产品的I/O绑定不提供HBM版本的UltraScale。与Nvidia、Intel甚至AMD相比,较低的内存带宽解决方案可能会让开发人员暂停投资更复杂的开发过程(即VHDL,Verilog等)。

最近新闻报道,AMD公司发布了新的AMD Instinct line of Deep Learning accelerators。这些规格与Nvidia硬件相比具有极强的竞争力。这次发行计划2017年初上市。这可能有充足的时间,使AMD Rockm软件成熟。但是,在AMD实际提供解决方案之前,不要期望从Nvidia进行大规模迁移。

2.卷积网络(CNN)将主导,RNN/LSTM将会被淘汰。

CNN将是深度学习系统中流行的基本模型。具有其经常性配置和嵌入式存储器节点的RNN和LSTM将用得更少、更简单,因为它们将不具备基于CNN的解决方案的竞争性。就像GOTO在编程世界中消失一样,我估计RNN/LSTM的命运也如此。

可微分的内存网络会更加普遍。这只是一个自然结果或架构,其中内存将从核心节点中提取出来,并且只作为与计算机制分离的组件。我认为我们不需要刻意去忘却,输入和输出门的LSTM,可以取代辅助可微型存储器。我们已经看到有关模块化LSTM解耦存储器的对话(参见Augmented Memory RNN)。

3.设计师将退出调整,取而代之的是依靠元学习

当我开始深度学习之旅时,我曾经认为优化算法,特别是那些二次优化算法将会带来巨大的改进。今天,显而易见,深度学习为你学习优化算法。这样做的一个主要原因是元学习能够基于其领域自适应地优化其学习。进一步与此相关的是反向传播的替代算法是否将开始出现并实践。

4.强化学习只会变得更有创造力

对现实的观察总是不完美。有很多问题,SGD不适用。这就使得任何实际部署的深度学习系统将需要某种形式的强化学习成为至关重要。除此之外,我们将在很多地方看到强化学习在深度学习训练中使用。例如,元学习将大量启用强化学习。

5.对抗和合作学习将是王道

在过去,我们使用单解析目标函数的单片式深度学习系统。在新的世界,我期望看到具有两个或更多个网络的系统合作或竞争以获得可能不是分析形式的最优解决方案。参见 “Game Theory reveals the future of Deep Learning”。2017年,将有很多尝试管理非平衡态(non-equilibrium)上下文的研究。

6.预测学习和无监督学习不会取得很大进展

“预测学习”是Yann LeCun提出的新流行语,取代了更常见的术语“无监督学习”。目前还不清楚这个新的术语是否可以更广泛地采用。问题是,预测学习是否会在2017年取得长足进步。

如果阅读过“5 Capabilities of Deep Learning Intelligence”,你将会觉得预测学习是一些完全未知的能力。预测学习就像宇宙的暗物质一样,我们知道它是存在的,但不知道如何观察到它。

7.学习迁移导致工业化

Andrew Ng认为这点很重要,我也这么认为!

8.更多应用程序将使用深度学习作为组件

我们在2016年已经看到这一点,深度学习在更大的搜索算法中用作函数评估组件。AlphaGo在其价值和政策评估中采用深度学习。Google的Gmail自动回复系统将深度学习与定向搜索结合使用。我期待看到涌现更多的混合算法,而不是新的端到端训练的深度学习系统。

9.设计模式将越来越多地被采纳

深度学习只是需要概念结构的复杂领域之一。尽管所有涉及到高等数学,有大量文字叙述和模糊的概念,最好不是由正规严谨的方法来捕获,而是提供一个业已证明在其他复杂的领域(如软件开发)有效的方法。我预测,从业者将最终“获得”关于深度学习和设计模式。

10.工程将超越理论

研究人员的背景和他们所使用的数学工具,将会滋生他们研究方法中的偏见。深度学习系统和无监督学习系统可能是我们从未遇到的这些新事物。因此,没有证据表明我们的传统分析工具将帮助解开深度学习实际如何工作的谜团。在物理学中有很多动态系统,仍然困惑了几十年,我看到了与动态学习系统相同的情况。

然而,尽管我们缺乏对基本原理的理解,这种情况并不会阻止更高级的应用程序工程。深度学习就像生物技术或基因工程。我们创造了模拟学习机,但我们不知道他们是如何工作的,这并不妨碍任何人进行创新。

 
转自:http://url.cn/42TUKE9
 

转载于:https://www.cnblogs.com/payton/p/6182183.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34200628/article/details/92843276

智能推荐

Docker 快速上手学习入门教程_docker菜鸟教程-程序员宅基地

文章浏览阅读2.5w次,点赞6次,收藏50次。官方解释是,docker 容器是机器上的沙盒进程,它与主机上的所有其他进程隔离。所以容器只是操作系统中被隔离开来的一个进程,所谓的容器化,其实也只是对操作系统进行欺骗的一种语法糖。_docker菜鸟教程

电脑技巧:Windows系统原版纯净软件必备的两个网站_msdn我告诉你-程序员宅基地

文章浏览阅读5.7k次,点赞3次,收藏14次。该如何避免的,今天小编给大家推荐两个下载Windows系统官方软件的资源网站,可以杜绝软件捆绑等行为。该站提供了丰富的Windows官方技术资源,比较重要的有MSDN技术资源文档库、官方工具和资源、应用程序、开发人员工具(Visual Studio 、SQLServer等等)、系统镜像、设计人员工具等。总的来说,这两个都是非常优秀的Windows系统镜像资源站,提供了丰富的Windows系统镜像资源,并且保证了资源的纯净和安全性,有需要的朋友可以去了解一下。这个非常实用的资源网站的创建者是国内的一个网友。_msdn我告诉你

vue2封装对话框el-dialog组件_<el-dialog 封装成组件 vue2-程序员宅基地

文章浏览阅读1.2k次。vue2封装对话框el-dialog组件_

MFC 文本框换行_c++ mfc同一框内输入二行怎么换行-程序员宅基地

文章浏览阅读4.7k次,点赞5次,收藏6次。MFC 文本框换行 标签: it mfc 文本框1.将Multiline属性设置为True2.换行是使用"\r\n" (宽字符串为L"\r\n")3.如果需要编辑并且按Enter键换行,还要将 Want Return 设置为 True4.如果需要垂直滚动条的话将Vertical Scroll属性设置为True,需要水平滚动条的话将Horizontal Scroll属性设_c++ mfc同一框内输入二行怎么换行

redis-desktop-manager无法连接redis-server的解决方法_redis-server doesn't support auth command or ismis-程序员宅基地

文章浏览阅读832次。检查Linux是否是否开启所需端口,默认为6379,若未打开,将其开启:以root用户执行iptables -I INPUT -p tcp --dport 6379 -j ACCEPT如果还是未能解决,修改redis.conf,修改主机地址:bind 192.168.85.**;然后使用该配置文件,重新启动Redis服务./redis-server redis.conf..._redis-server doesn't support auth command or ismisconfigured. try

实验四 数据选择器及其应用-程序员宅基地

文章浏览阅读4.9k次。济大数电实验报告_数据选择器及其应用

随便推点

灰色预测模型matlab_MATLAB实战|基于灰色预测河南省社会消费品零售总额预测-程序员宅基地

文章浏览阅读236次。1研究内容消费在生产中占据十分重要的地位,是生产的最终目的和动力,是保持省内经济稳定快速发展的核心要素。预测河南省社会消费品零售总额,是进行宏观经济调控和消费体制改变创新的基础,是河南省内人民对美好的全面和谐社会的追求的要求,保持河南省经济稳定和可持续发展具有重要意义。本文建立灰色预测模型,利用MATLAB软件,预测出2019年~2023年河南省社会消费品零售总额预测值分别为21881...._灰色预测模型用什么软件

log4qt-程序员宅基地

文章浏览阅读1.2k次。12.4-在Qt中使用Log4Qt输出Log文件,看这一篇就足够了一、为啥要使用第三方Log库,而不用平台自带的Log库二、Log4j系列库的功能介绍与基本概念三、Log4Qt库的基本介绍四、将Log4qt组装成为一个单独模块五、使用配置文件的方式配置Log4Qt六、使用代码的方式配置Log4Qt七、在Qt工程中引入Log4Qt库模块的方法八、获取示例中的源代码一、为啥要使用第三方Log库,而不用平台自带的Log库首先要说明的是,在平时开发和调试中开发平台自带的“打印输出”已经足够了。但_log4qt

100种思维模型之全局观思维模型-67_计算机中对于全局观的-程序员宅基地

文章浏览阅读786次。全局观思维模型,一个教我们由点到线,由线到面,再由面到体,不断的放大格局去思考问题的思维模型。_计算机中对于全局观的

线程间控制之CountDownLatch和CyclicBarrier使用介绍_countdownluach于cyclicbarrier的用法-程序员宅基地

文章浏览阅读330次。一、CountDownLatch介绍CountDownLatch采用减法计算;是一个同步辅助工具类和CyclicBarrier类功能类似,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。二、CountDownLatch俩种应用场景: 场景一:所有线程在等待开始信号(startSignal.await()),主流程发出开始信号通知,既执行startSignal.countDown()方法后;所有线程才开始执行;每个线程执行完发出做完信号,既执行do..._countdownluach于cyclicbarrier的用法

自动化监控系统Prometheus&Grafana_-自动化监控系统prometheus&grafana实战-程序员宅基地

文章浏览阅读508次。Prometheus 算是一个全能型选手,原生支持容器监控,当然监控传统应用也不是吃干饭的,所以就是容器和非容器他都支持,所有的监控系统都具备这个流程,_-自动化监控系统prometheus&grafana实战

React 组件封装之 Search 搜索_react search-程序员宅基地

文章浏览阅读4.7k次。输入关键字,可以通过键盘的搜索按钮完成搜索功能。_react search