本书简洁且全面地介绍了现代神经网络、人工智能和深度学习技术,专门为软件工程师和数据科学家设计。它是另外两本著作Deep Learning with Keras[1]和TensorFlow 1x Deep Learning Cookbook[2]的延续。
本书目标
本书对过去几年中深度学习技术的演进做了概括,并给出了用Python写的数十种可运行的深度神经网络代码,它们都是用基于类Keras[1] API的模块化深度网络库TensorFlow 20实现的。
本书将循序渐进地介绍有监督学习算法,包括简单线性回归、经典多层感知器,以及更为复杂的深度卷积网络和生成对抗网络。本书还涵盖无监督学习算法,包括自编码器和生成网络,并对循环网络和长短期记忆网络进行详细解释。此外,本书还会对深度强化学习进行全面介绍,并涵盖深度学习加速器(GPU和TPU)、云开发以及在桌面系统、云服务、移动设备/物联网(IoT)和浏览器上的多环境部署。
实际应用包括将文本分类为预定义类别、语法分析、语义分析、文本合成以及词性标注。书中我们还会探讨图像处理,包括手写数字图像识别、图像分类以及具有相关图像注释的高级对象识别。
声音分析包括识别来自多个扬声器的离散语音。本书还介绍使用自编码器和GAN生成图像,使用强化学习技术构建能够自主学习的深度Q学习网络。实验是本书的精髓。每个网络都增加了多种变体,这些变体通过更改输入参数、网络形状、损失函数和优化算法来逐步提高学习性能。本书还提供在CPU、GPU和TPU上进行训练的对比。本书将介绍新领域AutoML,在该领域中,我们将学习如何高效和自动地构建深度学习模型。第15章专门介绍机器学习相关的数学知识。
机器学习、人工智能和深度学习寒武纪爆炸
人工智能(Artificial Intelligence,AI)为本书讨论的所有内容奠定了基础。机器学习(Machine Learning,ML)是AI的一个分支,而深度学习(Deep Learning,DL)又是ML中的一个子集。下面简要讨论本书中经常出现的这三个概念。
AI表示机器模仿人类通常表现出的智能行为的任何活动。更正式地说,这是一个研究领域,机器旨在复制认知能力,例如学习行为、与环境的主动交互、推理和演绎、计算机视觉、语音识别、问题求解、知识表示和感知。AI建立在计算机科学、数学和统计学以及心理学和其他研究人类行为的科学的基础上。建立AI有多种策略。在20世纪70年代和20世纪80年代,“专家”系统变得非常流行。这些系统的目标是通过用大量手动定义的if-then规则表示知识来解决复杂的问题。这种方法适用于非常特定的领域中的小问题,但无法扩展到较大的问题和多领域中。后来,AI越来越关注基于统计的方法。
ML是AI的一个子学科,它专注于教授计算机如何对特定任务进行学习而无须编程。ML背后的关键思想是可以创建从数据中学习并做出预测的算法。ML有三类:
有监督学习,向机器提供输入数据及期望输出,目的是从这些训练实例中学习,以使机器可以对从未见过的数据做出有意义的预测。
无监督学习,仅向机器提供输入数据,机器随后必须自己寻找一些有意义的结构,而无须外部监督或输入。
增强学习,机器充当代理,与环境交互。如果机器的行为符合要求,就会有“奖励”;否则,就会受到“惩罚”。机器试图通过学习相应地发展其行为来最大化奖励。
DL在2012年席卷全球。在那一年,ImageNet 2012挑战赛[3]发起,其目的是使用大型手工标记数据集的子集来预测照片的内容。名为AlexNet[4]的深度学习模型达到了153%的top-5错误率,这与早前的结果相比有了显著改进。根据《经济学人》 [5]的说法,“突然之间,人们开始关注深度学习,不仅是在AI社区内部,而且是整个技术行业。” 自2012年以来,我们看到了对ImageNet图像进行分类的多个模型的持续进展[5](见图1),错误率低于2%,优于51%的预计人为错误率。
那仅仅是开始。如今,DL技术已成功应用于异构领域,包括但不限于医疗保健、环境工程、绿色能源、计算机视觉、文本分析、多媒体、金融、零售、游戏、模拟、工业、机器人技术和自动驾驶汽车。在每一个领域中,DL技术都可以以一定的准确度解决问题,而这是以前的方法无法实现的。
毫无疑问,人们对DL的兴趣也在增加。有报告[9]显示,“每20分钟就会有新的ML论文发表。机器学习论文的增长率约为每月35%,每年50%”。在过去的三年中,我们好像生活在DL的寒武纪大爆炸中,arXiv上论文数量的增长速度超过了摩尔定律(见图2)。正如评论所说:“这使你感到人们相信这是计算的未来价值的来源。”
图1 ImageNet 2012上不同的深度学习模型实现的top-5准确度
图2 arXiv上ML论文数量似乎比摩尔定律增长更快(源自:https://wwwkdnuggetscom/2018/12/deep-learning-major-advances-reviewhtml)
arXiv是电子预印本的存储库,预印本尚未进行完整的同行评审。
深度学习模型的复杂性也在增加。ResNet-50是一种图像识别模型(参见第4章和第5章),具有约2600万个参数。每个参数都是用于微调模型的权重。Transformer、gpt-1、bert和gpt-2[7]都是自然语言处理模型(参见第8章),具备在文本上执行各种任务