What is Deep Learning?(什么是深度学习?)

What is Deep Learning?

原文地址:https://machinelearningmastery.com/what-is-deep-learning/

原文作者:Jason Brownlee

译者微博:@从流域到海域

译者博客:blog.csdn.net/solo95

什么是深度学习?

深度学习是机器学习的一个子领域,研究受人工神经网络的大脑的结构和功能启发而创造的算法。

如果刚刚开始深度学习的领域,或者刚刚有一些神经网络方面的经验,您可能会感到困惑。最初我也很困惑,在20世纪90年代和21世纪初学习和使用神经网络的许多同事和朋友也是如此。

这个领域的领导者和专家对深度学习是什么有着深刻的理解,这些具体而细致的观点为深度学习提供了大量的信息。

在这篇文章中,您将通过听取该领域的专家和领导者的意见,深入了解深度学习。

让我们进入深度学习的世界。

什么是深度学习?

Kiran Foster的照片,保留一些权利

深度学习是大型神经网络

创建Coursera并兼任百度研究首席科学家的Andrew Ng早已正式成立Google Brain,并最终在大量的Google服务中实现了深度学习技术的产品化。

(Andrew Ng, 吴恩达, 斯坦福大学副教授,人工智能和机器学习领域顶级权威之一,Coursera创始人, 曾任百度首席科学家,2017年退出百度,同年10月出任Woebot董事长,他在斯坦福教授的机器学习课程视频是国内很多人的入门教材,译者注)

他已经讲了诸多关于深度学习的内容,从他那里开始学习是一个很好的选择。

在早期对深度学习的讨论中,Andrew在传统的人工神经网络的背景下描述了深度学习。在2013年的一个题为“ 深度学习,自主学习和无监督特征学习 ”的演讲中,他将深度学习的概念描述为:

使用大脑模拟器,寄希望于:优化学习算法,并使其更易于使用。
在机器学习和AI方面取得革命性的进步。
我相信这是我们走向真正AI的秘籍(best shot)

之后他的评价变得更加具体。

根据Andrew所言,深度学习的核心是,我们现在有足够快的计算机和足够的数据来实际训练大型神经网络。在讨论”为什么现在是深度学习大获成功的时代”的ExtractConf 2015上一次题为“ What data scientists should know about deep learning ” 的演讲时,他说道:

我们现在可以拥有的非常大的神经网络,以及有权访问的大量数据。

他还谈到了关于规模的重要一点。当我们构建更大的神经网络并使用越来越多的数据训练它们时,它们的性能将不断提高。这与在性能方面达到稳定水平的其他机器学习技术是有很大区别的。

大多数老一代学习算法使用体验……(他们的)性能会稳定下来…(但)深度学习…是可扩展的第一级算法。随着您向他们提供更多数据,他们的性能会变得越来越好。(深度学习算法的特点是提供用于训练的数据量越大,算法的性能越高,而且是一个随数据量动态变化的过程,译者注)

他在幻灯片中提供了一个很好的动画:

为什么选择深度学习

来自Andrew Ng的幻灯片,保留所有权利。

最后,他清楚地指出,我们在实践中看到的深度学习的好处来自于监督学习。在2015年的ExtractConf谈话中,他评论道:

现在深度学习的价值几乎都是通过监督学习或者在标记数据学习中体现的。

早些时候在2014年斯坦福大学题为“ 深度学习 ” 的演讲中,他提出了类似的评论:

深度学习疯狂取得成功的原因之一是因为它在监督学习方面非常出色.

Andrew经常提到,我们应该并且将会看到更多来自于对无监督学习的跟进所带来的好处,因为这个领域已经成熟到可以处理大量的未标记的可用数据。

[Jeff Dean](https://en.wikipedia.org/wiki/Jeff_Dean_(computer_scientist)是Google Systems and Infrastructure Group部门的一个指导(wizard)和高级研究员,并且参与或可能负责部分Google内部深度学习的扩展和采纳。Jeff参与了Google Brain项目,并开发了大规模的深度学习软件DistBelief和后来的TensorFlow。

在2016年的一个题为“ Deep Learning for Building Intelligent Computer Systems ”的演讲中,他以类似的观点发表了一个评论:深度学习实际上全都是与大型神经网络相关的。

当你听到“深度学习”这个词时,只要想想一个大的深层神经网络。“深”特指的是层数,所以这种流行的术语在报刊上被采用。我通常认为它们是深度神经网络。

他几次发表了这个演讲,并且在同一个演讲中更改过多次的一组幻灯片中,他强调了神经网络的可扩展性,表明结果随着更多的数据和更大的模型而变得更好,而这又需要更多的计算来训练。

使用更多的数据,更大的模型,更多的计算得到更好的结果

幻灯片by Jeff Dean],保留所有权利。

深度学习是分层次的特征学习

除了可扩展性之外,深度学习模型的另一个经常被提及的好处是它们能够执行在原始数据中进行的自动特征提取(也称为特征学习

Yoshua Bengio是深度学习的另一个领导者,尽管他们起初对大型神经网络能够实现的自动特征学习非常感兴趣。

他描述了深度学习在”使用特征学习去发现和学习好的表现特征(representations)”方面的算法能力。他在2012年发表的题为“ Deep Learning of Representations for Unsupervised and Transfer Learning ”的论文中评论道:

(这里的学习好的表现特征如何理解?举个例子,小明同学表现得很好,我们应该学习他表现得很好的地方,我没有在中文找到合适的词来表达,译者注 )

深度学习算法试图利用输入分布中的未知结构,来发掘好的表现特征(representations),通常发生在多个层次上,具有用低级的特征定义的高级特征。

他在2009年的题为“ Learning deep architectures for AI ”的技术报告中详细阐述了深度学习的观点,他强调了特征学习中层次结构的重要性。

深度学习方法的目标是通过由低层次特征组合而构成的高层次特征来学习特征层次结构。在抽象的多个层次上的自主学习功能可以使一个系统(主动)去学习将输入直接映射到输出的复杂功能,而不必完全依赖人工制定的特征。

在即将出版的由Ian Goodfellow和Aaron Courville共同撰写的题为“ 深度学习 ”的书中,他们根据模型的”深”度来定义深度学习。

概念的层次结构使计算机能够通过构建简单的概念来学习复杂的概念。如果我们绘制一个图表来展示这些概念是如何构建在一起的,那么这个图形就会很深,有很多层次。因此,我们把这种方法称为AI深度学习。

这是一本重要的书,一段时间之后很可能会成为这个领域的决定性资源。本书继续将多层感知器描述为深度学习领域的一种算法,给出了深度学习包含人工神经网络的思想。

深度学习模型的典型例子是前馈(feedforward)深度网络或多层感知器(MLP)。

Peter Norvig是Google的研究主管,他因为他的人工智能教科书“ 人工智能:现代方法 ” 而闻名。

他在2016年发表的一篇题为“ Deep Learning and Understandability versus Software Engineering and Verification ”的演讲中,以与Yoshua非常相似的方式定义了深度学习,重点在于使用更深层网络结构所允许的抽象能力。

任何一种学习方式,在你所形成的表现特征有几个抽象层次,而不是直接的从输出到输出

为什么称之为“深度学习”?

为什么不只是“人工神经网络”?

Geoffrey Hinton是人工神经网络领域的先驱,并联合发表了用于训练多层感知器网络的反向传播算法的第一篇论文。

他可能已经开始引入“ ” 的措辞来描述大型人工神经网络的发展。

他在2006年合著了一篇题为“ A Fast Learning Algorithm for Deep Belief Nets ”的论文,其中描述了一种“”深度”(就像在许多分层网络中)训练受限Boltzmann机的方法。

使用先前补充的经验,我们推导出一种快速,贪婪的算法,可以一次一层来进行深度学习的,定向的信念网络(belief netwoirk, 贝叶斯网络的别称),前提是前两层构成一个无向的联想记忆(层)。

在本文和相关论文中Geoff在无向深层网络(课题)上合著了题为“ “Deep Boltzmann Machines” ”的论文,被社区广泛接受(现引用数百次),因为它们是对网络进行逐层贪婪训练的成功例子,允许在前馈网络中有更多层。

在Since中有一篇名为“ Reducing the Dimensionality of Data with Neural Networks ”的合著的文章中,他们坚持使用与”深度”(“deep”)相同的描述来描述他们开发的网络,这些网络跟之前相比有更多的层。

我们描述了用来初始化权重的一个高效方法,这个方法允许深度自动编码器网络学习低维(low-dimensional)代码,这比把主要组件分析作为降低数据维度的工具要好得多。

在同一篇文章中,他们提出了一个有趣的评论,这个评论与Andrew Ng关于最近计算能力增加以及访问大型数据集的评论有关,当大规模使用时释放了神经网络的未开发能力。

自20世纪80年代以来,通过深度自动编码器的反向传播对非线性降维非常有效,前提是计算机速度足够快,数据集足够大,初始权重足够接近,就可以很好地解决问题。现在所有三个条件都已经满足。

Geoff 在2016年与皇家学会的一次“ Deep Learning ” 的演讲中评论到,“深度信念网络”是2006年深度学习的开始,而这一深度学习的第一波成功应用是2009年有关语音识别的“ Acoustic Modeling using Deep Belief Networks “,实现了最先进的成果。

正是这些成功使得语音识别和神经网络社区受到关注,使用“深度”作为与以前的神经网络技术的区分点,可能导致名称的改变。

在皇家学会的演讲中深度学习的描述恰恰就是反向传播的,正如你期望的那样。有趣的是,他提出了四个原因:上个世纪90年代,反向传播(“深度学习”)并没有起飞。前两点与Andrew Ng的评论相符,数据集太小,电脑(运算)太慢。

1986年实际上错在什么地方?

幻灯片由Geoff Hinton,保留所有权利。

深度学习作为跨领域的可扩展学习

深度学习在模拟输入(甚至输出)的问题领域内胜出。这意味着,它们不是表格格式的少量部分,而是像素数据构成的图像,文本数据的文档或音频数据的文件。

Yann LeCun是Facebook Research的总监,网络架构之父,擅长于图像数据中的物体识别, 这被称作卷积神经网络(CNN)。这种技术看起来很成功,因为像多层感知器前馈神经网络一样,该技术可以随着数据和模型大小而变化,并且可以用反向传播来训练。

这使他将深度学习的定义为开发非常巨大的CNN,这在照片中的物体识别方面取得了巨大的成功。

Lawrence Livermore 2016年在国家实验室的一次题为Accelerating Understanding: Deep Learning, Intelligent Applications, and GPUs演讲中他将深度学习简单描述为学习分层次的表现特征,并将其定义为构建物体识别系统的可扩展方法:

深入的学习是一个模块的管道,所有这些都是可训练的…(之所以称之为)深度,因为在识别对象的过程中有多个阶段,所有这些阶段都是训练的一部分。

深度学习=学习分层次表现特征

幻灯片 by Yann LeCun,保留所有权利。

Jurgen Schmidhuber是另一种流行的算法的发明者,该算法就像MLPs和CNNs一样随着模型的大小和数据集大小缩放(扩展),可用反向传播进行训练,但是针对学习序列化数据而不是特定的数据,被称为Long Short-Term Memory Network (LSTM), ,循环神经网络的一种。

我们确实在“深度学习”这个字眼上看到一些疑惑。他在2014年发表的题为“ Deep Learning in Neural Networks: An Overview ”的文章中评论了该领域的命名问题以及深度学习与浅层学习的区别。他还有趣地描述了问题复杂性的深度,而不是用来解决问题的模型。

关于”浅层学习到底在哪里结束,深度学习又从哪里开始?”,专家的讨论尚未对这个问题作出确凿的回应。…,我只是为了这个概述的而定义:深度> 10的问题需要非常深度的学习。

Demis HassabisDeepMind的创始人,后来被Google收购。DeepMind将深度学习技术与强化学习结合在一起,突破了玩游戏等复杂学习问题,在”玩Atari游戏”和用Alpha Go”玩围棋游戏”中都有出众的表现。

为了与命名保持一致,他们把他们的新技术称为Deep Q-Network,将Deep Learning与Q-Learning相结合。他们还列举了更广泛的“深化强化学习”的研究领域。

他们2015年在Nature上发表的题为“ Human-level control through deep reinforcement learning ”的论文中评论了深层神经网络在他们取得的突破中的重要作用,并强调了对层次抽象的需求。

为此,我们开发了一种能够将强化学习与一类被称为深度神经网络的人工神经网络相结合的新型智能体 - deep Q-network(DQN)。值得注意的是,最近在深度神经网络方面取得的进展,其中使用几层节点逐渐构建更加抽象的数据表现特征,使得人工神经网络能够直接从原始感官数据中学习诸如物体类别的概念。

最后,在该领域的一篇决定性文章中,Yann LeCun,Yoshua Bengio和Geoffrey Hinton在Nature上发表了一篇名为“ Deep Learing ”的论文。其中,他们以一个清晰的深度学习的定义作为开头,突出了多层次的方法。

深度学习允许由多个处理层组成的计算模型来学习具有多个抽象级别的数据特征表示。

后来,多层次的方法使用特征表示(representation)的学习和抽象来描述。

深度学习方法是具有多个特征表示层次(representation)的特征表示(representation)学习方法,通过组合简单但非线性的模块来获得,每个模块将一个层次上的表示(从原始输入开始)转换为更高一些的抽象层次上的表示。…深度学习的关键方面是这些功能层不是由人类工程师设计的:他们是通过使用通用的学习程序从数据中学习的。

这是一个很好的和通用的描述,可以很容易地描述大多数人工神经网络算法。这也是一个好消息。

概要

在这篇文章中,你发现深度学习只是在更多的数据上的进行的、需要更大的计算机(指计算能力)的非常大的神经网络。

虽然Hinton及其合作者早期发表的方法侧重于贪婪分层训练和像自动编码器这样的无监督方法,但现代最先进的深度学习集中于使用反向传播算法训练深度(有许多分层)的神经网络模型。最流行的技术是:

  • 多层感知器网络。
  • 卷积神经网络。
  • 长期短期记忆递归神经网络。

我希望这已经清楚了什么是深度学习,以及它如何在一个统一的框架下融合在一起。

如果您有任何关于深度学习的问题或关于此文的问题,请在下面的评论中提出您的问题,我将尽我所能来回答他们。

在深度学习中对自己的进展感到沮丧?

如果你可以在几分钟内开发网络呢?

…只需要几行Python

了解如何在我的新电子书:使用Python的深度学习

它涵盖了自学教程端到端项目,如:

多层感知器卷积网循环神经网络,以及更多…

最后把深度学习带进你自己的项目

跳过学术部分。只有结果。

点击了解更多

展开阅读全文

没有更多推荐了,返回首页