# 深度学习
在上一章我们学到深度神经网络通常要比浅的网络更难训练。这真是太糟了,因为我们有理由相信,如果我们可以训练深的网络,那么它们要比浅的网络强力很多。虽然上一章的消息让人很沮丧,但我们不会因此而停下脚步。在这一章,我们要开发一些可以用来训练深的神经网络的技术,并在实践中应用它们。我们也将开阔视野,短暂的回顾下最近应用深度网络领域的进展,如图片识别,语音识别,还有其他应用。我们还将对未来的神经网络和人工智能进行简要的推测。
这一章很长。我们大体浏览一下,帮你做下指引。这些章节都是很松散的,所以如果你对神经网络的一些基础很熟悉的话,建议你可以跳过去看一些你感兴趣的。
这一章主要是来介绍一种被广泛运用的深度网络:深度卷积网络。我们将通过一个详细的例子——代码和所有东西——用卷积网络来解决从MNIST数据集中分类手写数字的问题:
我们将通过之前书中解决这个问题时用的浅层网络来开始对卷积网络进行描述。通过许多次迭代,我们将构建出越来越强大的网络。我们将探索许多强大的技术:卷积,池化,使用GPU来做比浅层网络更多的训练,训练数据的算法扩展(用来减少过拟合),使用dropout技术(也是用来减少过拟合),使用集成的网络,还有其他一些技术。结果就是将得到一个接近人类水平的系统。当然,那10,000张MNIST训练图片——训练过程中是不会看的!——我们的系统将正确分出9,967个。这里我们挑出33张没有正确分类的。注意正确的分类是在右上;我们的程序的分类是在右下:
这里很多即使让人来分类也很难。例如,考虑下最上面那行的第三张图片。对于我来说它更像是“9”,而不是“8” 这个官方分类。我们的网络也认为它是一个“9”。这类“错误”至少是可以理解的,甚至值得赞赏。我们在结束对图像识别的讨论时,会做一个使用神经网络(尤其是卷积网络)做图像识别的最近有着重大进展的纵览。
这一章的剩余部分从一个广阔但不详尽的角度来讨论深度学习。我们将短暂纵览神经网络的其他模型,如循环神经网络和长短期记忆单元,还有这些模型是怎样被用来解决语音识别,自然语言处理和其他领域问题的。还有我们将推测神经网络和深度学习的未来,范围从像注意力驱动的用户界面的想法,到深度学习在人工智能中的角色。
这一章是以书中之前章节为基础的,使用并整合了诸如反向传播,正则化,softmax函数等想法。尽管这样,读这一章你也无需去把前面所有的章节全都仔细的看一遍。然而看下第一章,了解神经网络的基础还是很有裨益的。当我用第2到5章内容的时候,如果需要我会提供链接,这样你可以自己去熟悉一下。
需要注意这一章做不到的一些事情。它不是最新最伟大的神经网络库的教程。我们也不会去训练最前沿的几十层网络。可以说,我们主要是来理解深度神经网络背后的一些核心理论,并简单地应用它们,到容易去理解的MNIST问题中。换句话说:这一章不会把你带到前沿。更确切地说,本文和早期章节的目的是关注基本原理,从而使您能够理解当前的大部分工作。