菜单

深度学习基础

相关源文件

深度学习基础概述了作为所有现代深度学习系统构建块的核心概念、组件和技术。本页涵盖了从业人员在深入研究特定模型架构或高级训练技术等更专门的主题之前需要理解的关键要素。有关这些概念背后的数学细节,请参阅数学基础,有关特定模型架构,请参阅CNN 架构RNN 架构Transformer 架构

深度学习系统的核心组件

深度学习系统由几个相互关联的组件组成,它们协同工作以从数据中学习模式。这些组件构成了构建有效的深度学习解决方案的基础。

来源:chapter_introduction/index.md94-105 chapter_introduction/index.md155-169

数据:学习的基础

数据是所有机器学习系统的基础。深度学习模型需要大量数据才能有效地学习模式。数据的质量、数量和表示方式会显著影响模型性能。

使用张量表示数据

在深度学习中,数据通常表示为张量——多维数组,它们将向量和矩阵推广到更高维度。ndarray(或Tensor)类提供了用于存储和操作这些数组的基本数据结构。

来源:chapter_preliminaries/ndarray.md8-16 chapter_preliminaries/linear-algebra.md8-13

关键的张量运算包括

  1. 逐元素运算:独立地将函数应用于每个元素
  2. 线性代数运算:矩阵乘法、点积等。
  3. 广播:自动扩展维度以进行兼容的操作
  4. 索引和切片:访问和修改特定元素

来源:chapter_preliminaries/ndarray.md63-102 chapter_preliminaries/ndarray.md254-276

数据预处理

原始数据通常需要预处理才能有效地用于训练深度学习模型。常见的预处理步骤包括

  1. 处理缺失值:插补或删除
  2. 特征归一化:将特征缩放到可比范围
  3. 分类编码:将分类变量转换为数值形式
  4. 数据增强:通过转换创建额外的训练样本

来源:chapter_preliminaries/pandas.md44-74

模型:网络架构

深度学习模型由神经元层组成,这些层通过一系列操作转换输入数据。模型的架构定义了这些层如何排列和连接。

来源:chapter_introduction/index.md147-153

从神经元到网络

深度学习模型的基本构建块是人工神经元,它

  1. 接受多个输入,每个输入都有关联的权重
  2. 计算加权和加上偏置项
  3. 对结果应用非线性激活函数

网络通过将多个神经元连接成层来形成,数据从输入层流经隐藏层到达输出层。

来源:chapter_introduction/index.md597-604

训练:从数据中学习

训练深度学习模型涉及找到最小化损失函数的最佳参数(权重和偏置)。损失函数衡量模型预测与实际目标之间的差异。

来源:chapter_introduction/index.md184-191 chapter_preliminaries/autograd.md8-13

自动微分

高效训练的关键组件是自动微分,它能自动计算参数相对于损失函数的梯度。这使得在无需手动推导和实现导数的情况下,即可使用基于梯度的优化算法。

来源:chapter_preliminaries/autograd.md15-135

优化算法

优化算法根据计算出的梯度更新模型参数,以最小化损失函数。最基本的算法是梯度下降,它沿着损失函数最陡峭的下降方向更新参数。

常见的变体包括

  1. 随机梯度下降 (SGD):使用在小批量数据上计算出的梯度更新参数
  2. 动量:通过累积过去的梯度来加速收敛
  3. Adam:为不同参数提供自适应学习率

来源:chapter_introduction/index.md186-191

学习范式

深度学习包含几种学习范式,每种都适用于不同类型的问题和数据可用性。

来源:chapter_introduction/index.md200-229 chapter_introduction/index.md456-557

监督学习

在监督学习中,模型在标记数据上进行训练,其中每个示例都与目标输出配对。模型通过最小化其预测与真实目标之间的差异来学习将输入映射到输出。

常见的监督学习任务包括

  1. 分类:预测离散类别标签(例如,图像分类)
  2. 回归:预测连续值(例如,房屋价格预测)
  3. 序列学习:预测序列数据的输出(例如,时间序列预测)

来源:chapter_introduction/index.md202-229 chapter_introduction/index.md387-447

无监督学习

无监督学习涉及在没有显式目标标签的数据上训练模型。模型旨在发现数据中的模式、结构或表示。

常见的无监督学习任务包括

  1. 聚类:将相似的样本分组
  2. 降维:寻找数据的低维表示
  3. 生成模型:学习生成与训练数据相似的新样本

来源:chapter_introduction/index.md456-472

强化学习

强化学习涉及训练智能体通过与环境交互来做出决策序列。智能体学习随着时间的推移最大化累积奖励。

强化学习的关键组成部分包括

  1. 状态:环境的表示
  2. 动作:智能体做出的决策
  3. 奖励:指示动作质量的反馈信号
  4. 策略:将状态映射到动作的策略

来源:chapter_introduction/index.md506-557

深度学习的计算工具

深度学习依赖高效的计算工具来处理大规模数据和复杂模型。现代深度学习框架通过高级 API 提供这些工具。

来源:chapter_introduction/index.md653-660

张量运算和自动微分

现代深度学习框架提供了高效的张量运算和自动微分实现,这对于构建和训练神经网络至关重要。

张量运算支持高效的数据操作,而自动微分则可以高效计算训练深度学习模型所需的梯度。

代码库在其 d2l 包中实现了这些基础,该包在多个框架(PyTorch、MXNet、TensorFlow 和 PaddlePaddle)之间提供统一的 API。

来源:chapter_preliminaries/ndarray.md8-16 chapter_preliminaries/autograd.md8-13

深度学习中的概率与统计

概率论为深度学习的许多方面提供了数学基础,包括

  1. 模型不确定性:表示模型预测中的不确定性
  2. 概率模型:输出概率分布的模型
  3. 信息论:用于定义损失函数的概念(例如,交叉熵)
  4. 采样与蒙特卡洛方法:近似积分和期望的技术

来源: chapter_preliminaries/probability.md4-39

随机变量与分布

随机变量表示不确定的结果,而概率分布描述了不同结果的可能性。这些概念是处理不确定性的深度学习模型的基础。

主要概念包括

  1. 概率分布:为事件分配概率的数学函数
  2. 随机变量:其值取决于随机事件结果的变量
  3. 期望与方差:分布中衡量集中趋势和离散程度的指标

来源: chapter_preliminaries/probability.md252-301

数学基础

深度学习依赖于几个数学领域,主要包括:

  1. 线性代数:用于表示和操作数据及模型参数
  2. 微积分:用于通过基于梯度的优化方法来优化模型参数
  3. 概率论:用于建模不确定性和定义目标函数

来源: chapter_preliminaries/calculus.md12-23 chapter_preliminaries/linear-algebra.md8-16

优化微积分

微积分提供了深度学习中优化的数学基础。关键概念包括:

  1. 导数:函数相对于其输入的改变率
  2. 梯度:偏导数向量,指示最陡峭上升的方向
  3. 链式法则:用于计算复合函数导数的规则

这些概念使得使用基于梯度的优化算法来训练深度学习模型成为可能。

来源: chapter_preliminaries/calculus.md31-48 chapter_preliminaries/calculus.md277-296

总结

深度学习基础提供了开发和理解高级神经网络模型的基本构建块。这些基础包括:

  1. 数据表示:使用张量来表示和操作数据
  2. 模型架构:设计人工神经元网络
  3. 训练算法:使用优化技术从数据中学习
  4. 学习范式:根据数据可用性和问题结构的不同学习方法
  5. 计算工具:能够高效实现的框架和库

理解这些基础知识对于有效地将深度学习应用于实际问题以及通过研究和创新推动该领域的发展至关重要。

来源: chapter_introduction/index.md733-737