前言
AI 系统需要具备自己获取知识的能力,即从原始数据中提取模式的能力。这种能力被称为机器学习(machine learning)。
引入机器学习使计算机能够解决涉及现实世界知识的问题,并能作出看似主观的决策。比如,一个被称为逻辑回归(logistic regression)的简单机器学习算法可以决定是否建议剖腹产 (Mor-Yosef et al., 1990)。而同样是简单机器学习算法的朴素贝叶斯(naive Bayes)则可以区分垃圾电子邮件和合法电子邮件。
这些简单的机器学习算法的性能在很大程度上依赖于给定数据的表示(repre-sentation)。
然而,对于许多任务来说,我们很难知道应该提取哪些特征。例如,假设我们想编写一个程序来检测照片中的车。我们知道,汽车有轮子,所以我们可能会想用车轮的存在与否作为特征。不幸的是,我们难以准确地根据像素值来描述车轮看上去像什么。虽然车轮具有简单的几何形状,但它的图像可能会因场景而异,如落在车轮上的阴影、太阳照亮的车轮的金属零件、汽车的挡泥板或者遮挡的车轮一部分的前景物体等等。
解决这个问题的途径之一是使用机器学习来发掘表示本身,而不仅仅把表示映射到输出。这种方法我们称之为表示学习(representation learning)。
在许多现实的人工智能应用中,困难主要源于多个变差因素同时影响着我们能够观察到的每一个数据。比如,在一张包含红色汽车的图片中,其单个像素在夜间可能会非常接近黑色。汽车轮廓的形状取决于视角。大多数应用需要我们理清变差因素并忽略我们不关心的因素。
深度学习(deep learning)通过其他较简单的表示来表达复杂表示,解决了表示学习中的核心问题。
深度学习模型的典型例子是前馈深度网络或多层感知机(multilayer perceptron, MLP)。多层感知机仅仅是一个将一组输入值映射到输出值的数学函数。该函数由许多较简单的函数复合而成。我们可以认为不同数学函数的每一次应用都为输入提供了新的表示。
深度学习是一种表示学习,也是一种机器学习,可以用于许多(但不是全部)AI 方法。
深度学习的进步也严重依赖于软件基础架构的进展。软件库如 Theano (Bergstra et al., 2010a; Bastien et al., 2012a)、PyLearn2 (Goodfellow et al., 2013e)、Torch (Col-lobert et al., 2011b)、DistBelief (Dean et al., 2012)、Caffe (Jia, 2013)、MXNet (Chen et al., 2015) 和 TensorFlow (Abadi et al., 2015) 都能支持重要的研究项目或商业产品。
总之,深度学习是机器学习的一种方法。在过去几十年的发展中,它大量借鉴了我们关于人脑、统计学和应用数学的知识。近年来,得益于更强大的计算机、更大的数据集和能够训练更深网络的技术,深度学习的普及性和实用性都有了极大的发展。未来几年充满了进一步提高深度学习并将它带到新领域的挑战和机遇。
Ref
- 深度学习(Deep Learning)
- 英文版地址http://www.deeplearningbook.org/