书:Deep Learning


这本书的引言内容还是相当丰富的,里面谈到了很多有趣的问题。作者首先对深度学习的基本概念做了解释。对AI来说,能够形式化描述的问题是容易解决的,而对人类来说更直觉性的问题不易解决。深度学习(deep learning)让计算机能够从经验中学习,并通过层次化概念的形式来理解世界,通过构建较简单概念的方法来学习复杂概念。由于概念的层次很多,我们称之为深度学习。

下面是深度学习产生的动机。之前有一些AI项目尝试过用形式语言描述现实世界的知识,但都不是很成功;这说明AI系统需要具备从原始数据中提取模式,即自己获取知识的能力:这一能力被称为机器学习(machine learning)。这些简单的机器学习算法的表现在很大程度上依赖于它们获得的数据的表示(representation),表示的每条信息称为一个特征(feature)。但是对很多任务来说,找到合适的特征是很难的。

对这一问题的解决方法之一是,不仅仅学习从表示到输出的映射,也学习表示本身。这一方法被称为表示学习(representation learning)。学习到的表示通常比直接设计表示的表现更好。这也使得AI系统能迅速适应新的任务。

在设计特征或用于学习特征的算法的时候,我们的目标通常是将解释变化因素的特征(或数据的概念和抽象)相互分开。但很多因素会同时影响每一个数据,所以直接提取这些抽象因素是很难的。而深度学习通过其他较简单的表示来表达复杂表示,解决了表示学习中的这一核心问题。

刚才说的是,深度学习让计算机通过较简单的概念构建复杂的概念。对深度学习的另一种解释是,“深度”使得电脑能够学习一个多步程序。每一层表示都可以被看成是电脑的内存在并行执行完一系列指令后的内存状态。

目前主要的两种度量模型深度的方式:

  • 计算流程图中的最长路径
  • 概念描述图的深度

总的来说,深度学习是一种机器学习,是一种能够使计算机系统从经验和数据中得到提高的技术。

According to the authors of this book, machine learning is the only viable approach to building AI systems that can operate in complicated, real-world environments.

不同AI系统的相同部分

1.1 本书面向的读者

  • 正在学习深度学习的学生
  • 缺乏统计背景的软件工程师

本书主要内容

1.2 深度学习的历史潮流

几个关键趋势:

  • 有很长的历史,曾经有很多名字,这反应了不同的哲学视角
  • 训练数据量越多,深度学习的用处就越大
  • 计算机软硬件水平提高后,深度学习的模型也变大了
  • 深度学习解决的问题的复杂性和准确度都在不断提高

1.2.1 神经网络的众多名称和命运变迁

  • 1940-1960:控制论(cybernetics)
  • 1980-1990:联结主义(connectionsim)
  • 2006-:深度学习

控制论,神经科学和现代深度学习

最早的一些学习算法模拟的是生物学习。例子包括包括简单线性模型、McCulloch-Pitts神经元和随机梯度下降法。由于线性模型有很多局限性,这导致批评者对受生物学启发的学习产生了抵触。

这种深度学习的神经科学(生物学)视角主要受到以下两点的启发:

  • 大脑具有智慧,所以创造人工智能的直接方法就是对大脑进行逆向工程
  • 这些学习模型除了能够解决工程问题外,还能为理解大脑提供一些帮助

这些想法目前仍有意义,但深度学习已经超越了这一视角,而是采用学习多层次组合这一原理。目前神经科学仍是深度学习研究者灵感的重要来源,但已经不再是这个领域重要的部分了。主要问题是我们目前没有足够的关于大脑的知识。

神经科学已经通过实验表明,哺乳动物的大脑可以使用单一算法解决很多不同任务,这说明了单一深度学习算法能够解决不同任务的理由;但我们对生物的实际学习算法还没有什么了解。现在大部分神经网络的基础是整流线性单元(rectified linear unit),这一单元受到了实际神经元的启发,但和实际神经元的功能并不完全相同。

以及,深度学习的目标不是理解大脑如何在算法层面上工作,那是计算神经科学

联结主义,认知科学

联结主义来自认知科学,它的基本思想是,把很多简单的计算单元连接在一起,就可以获得智能。这场运动为今天的深度学习留下了很多关键概念:

  1. 分布式表示(distributed representation):系统的每一个输入都应该由多个特征表示,且每个特征都应该和多个输入的表示相关。(见15章)
  2. 反向传播算法(back-propagation algorithm)
  3. 长短期记忆(long short-term memory,LSTM)网络

到1990年代中期,神经网络的进展放缓,而核方法和图模型开始有较好的结果,这使得神经网络的受欢迎程度降低了。

“深度学习”

在2006年,研究发现,贪婪逐层预训练(greedy layer-wise pretraining)方法可以用于有效地训练各种神经网络,并能够系统地帮助提高在测试样例上的泛化能力。“深度学习”这一术语强调,研究者现在可以训练比以往深得多的神经网络了,并说明了“深度”的理论意义。

1.2.2 越来越大的数据量

调整一个深度学习算法,使它获得良好的性能是需要一些技巧的。但是,当训练数据增加,训练所需的技巧就减少了。在大数据时代,机器学习变得简单多了。

在2016年,一个粗略的经验法则是,一个监督深度学习算法在每类数据有5000个标注样本时可以达到较好的表现,在数据集总的大小至少为1000万时可以达到或超过人类的表现。

1.2.3 越来越大的模型

联结主义认为,当很多神经元一起工作的时候,动物会变得聪明。事实上,生物神经元的连接并不是非常稠密;我们的机器学习模型每个神经元的连接数量已经和哺乳动物大脑在同一个数量级上了。但神经网络的总神经元数量仍然很小,目前比青蛙的神经系统还要更简单。

1.2.4 越来越高的准确度、复杂性和对现实的影响

深度学习在对象识别、语音识别、行人检测和图像分割等领域都取得了较大的成功。神经网络可以解决的问题的复杂性也提高了,比如机器翻译。

深度学习还在强化学习中进行了拓展。强化学习(reinforcement learning):一个自主的智能体在没有人类操作员的指导下,自己通过试错来学习执行一项任务。

深度学习已被用于许多顶级技术公司;它所使用的软件也在不断发展。

深度学习也为其他学科提供了帮助。神经科学家可以从对象识别的卷积神经网络中学习到一个图像处理的模型。而且深度学习可以帮助别的学科处理大量数据,并给出有用的预测。