- 设计深度学习系统
- (美)王迟 (美)司徒杰鹏
- 1827字
- 2025-03-13 16:30:20
CHAPTER 1
第1章 深度学习系统介绍
本章涵盖以下内容:
● 深度学习系统的定义
● 产品开发周期,以及深度学习系统如何支持产品开发
● 基本深度学习系统及其组件的概述
● 构建深度学习系统与开发模型之间的区别
本章将为你提供深度学习系统的整体认知模型。我们将回顾一些定义,并提供参考的系统架构设计及其完整示例实现。我们希望这个认知模型能让你了解到那些将在接下来各章节中详细介绍的系统组件是如何融为一个整体的。
在开始本章之前,我们将超越深度学习系统,讨论更大范围的内容,即我们所称的深度学习开发周期。该周期概述了将基于深度学习的产品推向市场所涉及的各种角色和阶段。模型和平台并不是孤立存在的,它们会影响产品管理、市场调研、生产等阶段,同时也会受到各个阶段的影响。我们认为,当工程师了解整个开发周期并知晓每个团队的职责以及各个团队需要做的工作时,就可以设计出更优秀的系统。
在1.2节中,我们将从一个典型系统的示例架构开始讨论深度学习系统设计,该架构可以用于设计你自己的深度学习系统。本节中描述的组件都将用单独的章节进行更深入的探讨。最后,我们将强调开发模型和开发深度学习系统之间的区别。这种区别通常是大家困惑的焦点,因此我们希望尽早澄清这一点。
在读完这个介绍性的章节后,你将对深度学习领域有一个充分的理解。你还能够开始创建自己的深度学习系统设计,并了解现有的设计,以及如何使用和扩展它们,这样你就不必从零开始构建一切了。随着阅读的深入,你将看到所有内容是如何连接在一起,并作为一个深度学习系统相互协作的。
术语解释
在继续本章(以及本书的其余部分)之前,让我们先定义和阐明本书中使用的几个术语。
深度学习与机器学习
深度学习是机器学习的一部分,但它被认为是机器学习的一种进化形式。根据定义,机器学习是应用人工智能的一种方法,其中包括解析数据、从数据中学习,然后将所学应用于做出明智决策的算法。深度学习是一种特殊形式的机器学习,它使用可编程的神经网络作为算法,从数据中学习,并做出准确的决策。
尽管本书的重点在于进述如何构建系统或基础设施以促进深度学习开发(书中所有的示例都是神经网络算法),但我们所讨论的设计和项目开发概念同样适用于机器学习。因此在本书中,我们有时会交替使用深度学习和机器学习这两个术语。例如,本章介绍的深度学习开发周期和第2章介绍的数据管理服务在讨论机器学习的上下文中同样适用。
深度学习用例
深度学习用例是指运用深度学习技术的场景,换句话说,就是你想通过深度学习来解决的问题。例如:
● 聊天机器人:用户可以在客服网站上与虚拟代理进行基于文本的对话。虚拟代理使用深度学习模型理解用户输入的句子,并与用户进行类似真人的对话。
● 自动驾驶汽车:在驾驶员将汽车切换到辅助驾驶模式后,汽车会根据道路标记自动转向。汽车上的多个摄像头使用基于深度学习的计算机视觉技术来捕获标记,从而形成对道路的感知。
模型、预测和推理,以及模型服务
以下是这三个术语的解释:
● 模型:深度学习模型可以被看作是一个可执行的程序,其中包含一个算法(模型架构)和用于进行预测所需的数据。
● 预测和推理:模型预测和模型推理都是指在给定数据的情况下执行模型,以获得一组输出。由于预测和推理这两个术语在模型服务的上下文中被广泛使用,因此在本书中,这两个术语也可以互换使用。
● 模型服务(预测服务):本书将模型服务描述为在Web应用程序中(云端或本地)托管机器学习模型,并允许深度学习应用程序通过API将模型功能集成到其系统中。服务于Web程序的模型通常称为预测服务或模型服务。
深度学习应用程序
深度学习应用程序是一种利用深度学习技术来解决问题的软件。它通常不执行任何计算密集型任务,比如数据处理、深度学习模型训练和模型服务(除了在边缘部署模型,比如自动驾驶汽车等情况下)。例如:
● 聊天机器人应用程序:它提供用户界面或API来接收用户输入的自然语句,对它们进行解释,采取行动,并向用户提供有意义的响应。聊天机器人会根据深度学习系统中计算得到的模型输出(来自模型服务)做出回应和采取行动。
● 自动驾驶软件:它接收多个传感器(如视频摄像头、接近传感器和激光雷达)的输入,通过深度学习模型形成对车辆周围环境的感知,并相应地驾驶车辆。
平台、系统与基础设施
在本书中,深度学习平台、深度学习系统和深度学习基础设施这三个术语的含义相同:它们都指代为构建高效且可扩展的深度学习应用程序提供必要支持的底层系统。我们一般更常用“系统”这个词。
在对术语确立了共识后,让我们正式开始吧!