概论

前言

这本书价值不大,只是概念的堆砌。

最好不要读国人写的书。

书籍简介

书名:深度学习与大模型基础

定价:89.0

ISBN:9787301349960

作者:段小手

版次:1

出版时间:2024-06

内容简介

本书以通俗易懂的语言和有趣的插画来解释深度学习中的概念和方法, 生动形象的插图更容易帮助读者理解和记忆。 同时, 书中指导读者将自己的理解制作成短视频, 以加强学习效果。 另外, 书中还指导读者在 Colab 平台上进行实践。

本书内容全面, 从基础的神经网络、 卷积神经网络、 循环神经网络等入门知识, 到深度学习的应用领域如计算机视觉、 自然语言处理等高级主题都有涉及。

本书具有丰富的趣味性、 互动性和实践性, 可以帮助读者更好地理解深度学习知识, 并为未来的职业发展打下坚实的基础。

作者简介

段小手,曾供职于百度、敦煌网、慧聪网、方正集团等知名IT企业。有多年的科技项目管理及开发经验。负责的项目曾获得“国家发改委电子商务示范项目”“中关村现代服务业试点项目”“北京市信息化基础设施提升专项”“北京市外贸公共服务平台”等多项政策支持。著有《用ChatGPT轻松玩转机器学习与深度学习》《深入浅出Python量化交易实战》等著作,在与云南省公安厅合作期间,使用机器学习算法有效将某类案件发案率大幅降低。

正文摘录

第 1 章 绪 论

1. 1 深度学习的前世今生

1. 2 模型复杂度的提升

1. 3 深度学习的名人轶事

第 2 章 深度学习中的线性代数

2. 1 标量、 向量、 矩阵与张量

2. 2 矩阵的运算

2. 3 单位矩阵与逆矩阵

2. 4 线性相关、 生成子空间和范数

在机器学习领域中,L2范数常用于正则化,而L1范数则常用于特征选择,因为它倾向于使一些特征的权重为零,从而达到特征选择的效果。

范数是用来度量向量“大小”或“长度”的函数。设向量空间为 (V)(例如 $\mathbb{R}^n$),范数是映射 $|\cdot|:V\to[0,\infty)$,满足三条性质:

  1. 正定性:对任意 $x\in V$,有 $|x|\ge 0$,且 $|x|=0 \iff x=0$。
  2. 齐次性(正齐次):对任意标量 $\alpha$ 与向量 $x$,有 $|\alpha x| = |\alpha|,|x|$。
  3. 三角不等式:对任意 $x,y\in V$,有 $|x+y| \le |x| + |y|$。

由范数可以定义距离:$d(x,y)=|x-y|$,该函数满足距离的所有性质。


常见的三种范数(含定义与直观解释)

1.1-范数($L^1$ 范数 / 曼哈顿距离)

  • 定义(在 $\mathbb{R}^n$ 上):
    $$ |x|1 = \sum{i=1}^n |x_i|. $$
  • 直观:把各坐标的绝对值加起来,类似在城市街区网格中沿街走到目的地的总路程(曼哈顿距离)。
  • 例子:若 $x=(3,-4,1)$,则 $$ |x|_1 = |3|+|-4|+|1| = 8. $$

2.2-范数($L^2$ 范数 / 欧几里得范数)

  • 定义: $$ |x|2 = \sqrt{\sum{i=1}^n x_i^2}. $$
  • 直观:就是我们平常所说的向量长度或点到原点的直线距离(直角坐标系中的直线距离)。
  • 例子:若 $x=(3,-4,1)$,则 $$ |x|_2 = \sqrt{3^2+(-4)^2+1^2} = \sqrt{26}\approx 5.099. $$

3.无穷范数($L^\infty$ 范数 / 最大范数)

  • 定义: $$ |x|\infty = \max{1\le i\le n} |x_i|. $$
  • 直观:取向量各坐标绝对值中的最大值,可理解为“最坏分量”的大小。
  • 例子:若 $x=(3,-4,1)$,则 $$ |x|_\infty = \max{,|3|,|{-4}|,|1|,} = 4. $$

三种范数的比较(常见不等式)

对于任意 $x\in\mathbb{R}^n$,有以下关系(常用): $$ |x|_\infty \le |x|_2 \le |x|1. $$ 更精确的界(含 $n$ 的因子)为: $$ |x|\infty \le |x|_2 \le |x|_1 \le \sqrt{n},|x|2 \le n,|x|\infty. $$

简要证明(关键步骤):

  • $|x|_2 \le |x|_1$:因为 $|x_i|^2 \le |x_i| \cdot |x_i|$ 且将平方根应用后可用柯西或直接观察求和关系成立。
  • $|x|_\infty \le |x|2$:设 $M=|x|\infty=\max_i |x_i|$,则 $|x|_2^2=\sum_i x_i^2 \ge M^2$,取根号得出结论。

应用与直观图像

  • 在二维平面上,单位球(${x:|x|=1}$)随着范数不同形状不同:
    • $|\cdot|_1$ 的单位球是一个以坐标轴为顶点的菱形(45°旋转的正方形)。
    • $|\cdot|_2$ 的单位球是圆。
    • $|\cdot|_\infty$ 的单位球是与坐标轴平行的正方形。
  • 在机器学习中:
    • $L^1$ 正则化(LASSO)倾向于产生稀疏解(很多系数为 0)。
    • $L^2$ 正则化(岭回归)倾向于惩罚大权重但不强制稀疏。

2. 5 一些特殊类型的矩阵

2. 6 特征分解

2. 7 奇异值分解

什么是 SVD(简明定义)

对任意实矩阵 $A\in\mathbb{R}^{m\times n}$,奇异值分解表示为 $A = U\Sigma V^\top,$ 其中:

  • $U\in\mathbb{R}^{m\times m}$ 是正交矩阵(列为左奇异向量),满足 $U^\top U=I$;
  • $V\in\mathbb{R}^{n\times n}$ 是正交矩阵(列为右奇异向量),满足 $V^\top V=I$;
  • $\Sigma\in\mathbb{R}^{m\times n}$ 是对角矩阵,对角线上是非负的奇异值 $\sigma_1\ge\sigma_2\ge\cdots\ge 0$。

直观上,SVD 把矩阵 $A$ 拆成三个步骤:先按 $V^\top$ 把输入坐标旋转/变换到“主方向”,再按 $\Sigma$ 放缩各主方向(放大或缩小),最后按 $U$ 把结果再旋转到输出坐标系。

为什么重要(几句概括)

  • 提供最优的低秩近似(截断 SVD):用前 $k$ 个最大奇异值与对应向量能得到与原矩阵误差最小的秩-$k$ 近似。
  • 分析数据的主方向与能量分布(类似主成分分析 PCA)。
  • 在压缩、降噪、推荐系统、图像处理等很多实际问题中广泛应用。

生活中的直观类比

  1. 照片压缩(降噪) 想象一张灰度照片可以看成一个矩阵。SVD 把这张图片分解成若干“基础图像”乘以不同重要性的系数(奇异值)。前几个奇异值对应的基础图像捕捉到主要结构(如轮廓、大块光影),而较小的奇异值对应细小纹理或噪声。只保留前面几个分量就能得到肉眼几乎不觉差别但体积更小的图像,即“去噪与压缩”。
  2. 歌曲合成(乐器分离的类比) 想象一段混合的音乐由多种乐器叠加。SVD 类似把混合音分成若干互相独立的“音色成分”与对应强度(奇异值)。前几个成分可能对应主要旋律或几种主乐器,微弱成分对应背景噪声或次要乐器。利用这些成分可以分离或压缩音频(实际音频处理更常用谱分解等方法,但思路相近)。
  3. 推荐系统(电影评分的约简) 用户-电影评分矩阵通常很稀疏且复杂。SVD 可以将评分矩阵近似为用户偏好向量与电影特征向量的乘积(低秩近似),把高维稀疏问题变为低维特征表示,便于预测用户可能喜欢的电影(这是矩阵分解推荐的核心思想)。

简要数学性质(点式)

  • 奇异值 $\sigma_i$ 等于矩阵 $A$ 的算子范数在相应奇异向量方向上的放缩,且 $\sigma_i^2$ 是 $A^\top A$ 的特征值。
  • 截断 SVD 给出的秩-$k$ 矩阵 $A_k = U_k \Sigma_k V_k^\top$ 是使 $|A-A_k|_F$(Frobenius 范数)最小的所有秩-$k$ 矩阵中最佳的。

2. 8 Moore-Penrose 伪逆

Moore–Penrose 伪逆(简要介绍)

Moore–Penrose 伪逆是对矩阵求逆的广义推广,适用于非方阵或不可逆的矩阵。对任意矩阵 $A\in\mathbb{R}^{m\times n}$,其伪逆记为 $A^+$,满足以下四条 Moore–Penrose 条件(Penrose 等式):

  1. $A A^+ A = A$
  2. $A^+ A A^+ = A^+$
  3. $(A A^+)^\top = A A^+$
  4. $(A^+ A)^\top = A^+ A$

这些条件保证伪逆的唯一性与良好代数性质。

构造方法(与 SVD 相关)

若 $A$ 的奇异值分解为 $A = U \Sigma V^\top$,其中 $U\in\mathbb{R}^{m\times m}$、$V\in\mathbb{R}^{n\times n}$ 为正交矩阵,$\Sigma$ 为含奇异值 $\sigma_i\ge0$ 的对角矩阵,则伪逆可以通过 SVD 明确写出: $A^+ = V \Sigma^+ U^\top,$ 其中 $\Sigma^+$ 是将 $\Sigma$ 中非零奇异值取倒数并转置得到的矩阵(对零奇异值对应位置置为 0)。

直观理解与常见用途

  • 直观:伪逆给出一个“最小范数”解。当线性方程组 $Ax=b$ 无解或有无穷多解时,解集可以通过伪逆找到一个最合适的解:
    • 若存在解,则 $x = A^+ b$ 是范数最小的解(即在所有解中 $|x|_2$ 最小)。
    • 若无解,则 $x = A^+ b$ 是使 $|Ax-b|_2$ 最小的最小二乘解(最小残差),同时在这些最小二乘解中具有最小范数。
  • 常用场景:线性最小二乘、信号重建、伪逆求解欠定/超定系统、数值稳定的逆问题求解、数据拟合与回归(含正则化变体)。

简单例子

  • 过定(超定)系统:$m>n$,方程 $Ax=b$ 通常无精确解,伪逆给出最小二乘解 $x=A^+ b$。
  • 欠定系统:$m<n$,方程 $Ax=b$ 可能有无穷多解,伪逆给出其中范数最小的解。

计算注意事项

  • 通过 SVD 计算伪逆在数值上最稳定:对小奇异值可设阈值并将其视为 0(数值截断),以避免放大噪声。
  • 在高维或大数据场景,可结合截断 SVD 或正则化(如岭回归)以提高稳定性和泛化性。

2. 9 迹运算

迹指矩阵主对角线上所有元素之和。

用处:

  1. 跟踪运动物体
  2. 计算协方差矩阵的迹
  3. 计算矩阵不变量入行列式和特征值

2. 10 行列式

2. 11 例子: 主成分分析

使用PCA可以有效地去除数据中的噪声和冗余信息,同时保留原始数据的关键特征。因此,PCA被广泛用于信号处理、图像处理、模式识别、数据压缩等领域。

第 3 章 概率与信息论

3. 1 为什么要使用概率

量化事情发生的可能性

概率在机器学习中有三个方面的核心应用。

  1. 概率模型
  2. 概率推断
  3. 贝叶斯优化

3. 2 随机变量

3. 3 概率分布

概率质量函数

概率密度函数

3. 4 边缘概率

3. 5 条件概率

3. 6 条件概率的链式法则

3. 7 条件独立性

3. 8 期望、 方差和协方差

3. 9 常用概率分布

  1. Bernoulli分布
  2. Multinoulli分布(范畴分布、分类分布)
  3. 正态分布
  4. 指数分布
  5. Dirac分布(单位脉冲函数、Delta函数)
  6. 混合分布

3. 10 常用函数及性质

  1. Sigmoid函数
  2. Softplus函数

3. 11 贝叶斯规则

贝叶斯法则可以用于多个变量之间的条件概率计算,例如在机器学习领域中,常用于分类问题的后验概率计算。

3. 12 信息论中的交叉熵

交叉熵用于度量两个概率分布之间的差异性,交叉熵越小,模型性能越好。

3. 13 结构化概率模型

结构化概率模型是一种用于建模联合分布的统计模型,其中变量之间存在某种结构关系,例如图或树的形式。这种模型通常被用来解决具有复杂依赖关系的问题,如在自然语言处理、计算机视觉和生物信息学等领域的应用。

结构化概率模型可以分为两类:有向图模型和无向图模型。有向图模型使用有向图表示变量之间的依赖关系,并且每个节点仅依赖其父节点,例如贝叶斯网络。无向图模型使用无向图表示变量之间的依赖关系,并且每个节点与其邻居节点相互作用,例如马尔可夫随机场。

结构化概率模型在实际应用中非常有用,因为它能够利用变量之间的结构关系来提高预测准确性和模型解释性。

第 4 章 数值计算

4. 1 上溢和下溢

4. 2 病态条件

4. 3 基于梯度的优化方法

  • 损失函数
  • 梯度下降
  • 牛顿法

4. 4 约束优化

4. 5 实例: 线性最小二乘

第 5 章 机器学习基础

5. 1 什么是机器学习算法

5. 2 模型性能的度量

5. 3 过拟合与欠拟合

5. 4 超参数和交叉验证

超参数不能从训练数据中学习,而需要手动设置。超参数控制了模型的行为和性能,如学习率、正则化系数、损失函数类型等。通常情况下,超参数需要通过试验和交叉验证来进行调整,以找到最优的设置,从而使模型的性能更好。

使用交叉验证来对模型在不同的数据子集上的表现情况进行评估。常用K折交叉验证的方法。

5. 5 最大似然估计

最大似然估计是一种常用的参数估计方法,它通过已知的观测数据来确定模型中参数的值。

5. 6 什么是随机梯度下降

一次只使用一个样本来更新模型

5. 7 贝叶斯统计

5. 8 监督学习算法

  • 概率监督学习
  • 支持向量机
  • 决策树

5. 9 无监督学习算法

  • 降维
  • 聚类
  • 关联规则挖掘

5. 10 促使深度学习发展的挑战

  • 维度灾难:在高维空间中,样本特征变得非常稀疏导致机器学习算法性能下降
  • 局部不变性:模型对输入数据的小变化具有稳定的响应。即使输入数据发生了一些微小的变化,模型的输出也不会发生显著变化。常使用CNN来实现局部不变性。
  • 流形:一种可以用欧几里得空间进行近似的空间。具体而言,流形是一个具有局部欧几里得空间性质的拓扑空间。

第 6 章 深度前馈网络

6. 1 什么是 “前馈”

6. 2 隐藏层

6. 3 输出单元

6. 4 万能近似性质

6. 5 反向传播

第 7 章 深度学习中的正则化

7. 1 参数范数惩罚

7. 2 数据集增强

7. 3 噪声鲁棒性

7. 4 半监督学习

7. 5 多任务学习

7. 6 提前终止

7. 7 参数绑定和参数共享

参数绑定是指我们希望某些参数彼此接近,而参数共享是指我们强制一组参数相等。

7. 8 稀疏表示

稀疏表示是指使用尽可能少的非零元素来表示数据。

作用:

  • 减少特征数量
  • 作为一种正则化形式,通过将参数推为零来简化模型

7. 9 Bagging 和其他集成方法

7. 10 Dropout

7. 11 对抗训练

第 8 章 深度模型中的优化

8. 1 学习和纯优化有什么不同

8. 2 小批量算法

8. 3 基本算法

8. 4 参数初始化策略

  • 随机初始化
  • 零初始化
  • 常数初始化
  • Xavier/Glorot初始化
  • He初始化
  • 预训练初始化

8. 5 自适应学习率算法

  • AdaGrad
  • RMSProp
  • Adam

8. 6 二阶近似方法

  • 共轭梯度
  • BFGS非线性优化算法

8. 7 一些优化策略

  • Batch Normalization——解决内部协变量移位伪问题(输入数据分布发生变化)
  • 坐标下降(Coordinate Descent)——,每次迭代只更新一个坐标轴上的变量,而将其他变量固定
  • 监督预训练——两阶段:预训练和微调

第 9 章 卷积神经网络

9. 1 卷积运算

9. 2 为什么要使用卷积运算

  1. 特征提取
  2. 参数共享
  3. 保持空间结构

9. 3 池化

作用:降低数据的空间尺寸、降低数据量从而降低模型复杂度

分类:

  1. 平均池化:常用于图像分类
  2. 最大池化:常用于提取图像中的边缘、纹理等局部特征

9. 4 基本卷积函数的变体

  1. 膨胀卷积(Dilated Convolution):也被称为空洞卷积,感受野更广阔
  2. 逐点卷积(Pointwise Convolution):也被称为1x1卷积或通道卷积,主要作用:降低通道数、特征融合、非线性变换
  3. 转置卷积(Transposed Convolution):也被称为反卷积,是卷积操作的逆过程,作用:在较小的输出特征图上生成较大的输入特征图,在图像生成、超分辨率重建等任务中非常有用。

9. 5 卷积核的初始化

  1. 随机初始化
  2. Xavier/Glorot初始化:根据输入和输出维度自适应调整初始权重,适用于激活函数是线性的或具有饱和区域的网络层
  3. He初始化:目的是解决梯度消失和梯度爆炸问题

第 10 章 循环神经网络

10. 1 展开计算图

展开计算图是循环神经网络在时间维度上的可视化表示。

10. 2 循环神经网络

10. 3 双向 RNN

10. 4 基于编码-解码的序列到序列架构

10. 5 深度循环网络

10. 6 递归神经网络

递归神经网络(Recursive Neural Network)也是循环神经网络的一种变体,它用于处理树状结构数据的神经网络模型。与传统的前馈神经网络不同,递归神经网络能够从树的节点和它们之间的关系中提取特征,并对整个树进行综合建模。

10. 7 长短期记忆网络

三个关键门控单元:

  • Forget Gate
  • Input Gate
  • Output Gate

10. 8 门控循环单元

  • Update Gate
  • Reset Gate

10. 9 截断梯度

目的:缓解梯度消失或梯度爆炸问题

第 11 章 实践方法论

11. 1 设计流程

11. 2 更多的性能度量方法

11. 3 默认的基准模型

11. 4 要不要收集更多数据

  1. 数据类别不平衡
  2. 数据多样性不足
  3. 领域迁移需求

11. 5 超参数的调节

  1. 网格搜索
  2. 随机搜索(更高效)
  3. 贝叶斯优化

11. 6 模型调试的重要性

第 12 章 应 用

12. 1 大规模深度学习

  • 数据并行
  • 模型并行
  • 模型压缩
    • 权重剪枝(Weight Pruning)
    • 低比特量化(Low-bit Quantization)
    • 网络剪枝(Network Pruning)
    • 参数共享(Parameter Sharing)
    • 蒸馏(Knowledge Distillation)

12. 2 计算机视觉中的预处理

  • 对比度归一化:对比度是指图像中亮度变化的范围,常用方法包括线性拉伸、直方图均衡化、自适应直方图均衡化等
  • 数据增强:常用方法包括随即翻转、随机裁剪、随机旋转、随机缩放、随机亮度对比度和色彩变换、噪声添加

12. 3 语音识别

  • 隐马尔科夫模型
  • 维特比算法

12. 4 自然语言处理

  • n-gram
  • 神经语言模型:典型例子就是RNN和Transformer模型

12. 5 推荐系统

12. 6 知识问答系统

第 13 章 初识大语言模型

13. 1 大语言模型的背景

13. 2 大语言模型的重要性

13. 3 大语言模型的应用场景

13. 4 大语言模型和传统方法的区别

第 14 章 大语言模型原理

14. 1 Transformer 架构

自注意力机制是关键是计算查询(Query)、键(Key)和值(Value)。在处理序列数据时,每个位置都将作为查询,同时也是序列中其他位置的键和值。然后,模型使用这些查询、键和值来计算加权和,生成每个位置的新表示。

多头注意力机制允许模型同时从不同的角度关注输入序列中的信息,从而更好地捕捉序列之间的关系。多头注意力通过学习多组不同的查询、键和值来实现,每组都可以专注于不同的语义特征。

位置编码是为了解决序列中不同位置信息缺失而引入的一个重要组件。

编码器和解码器分别负责整理信息和生成文本。

残差连接旨在帮助解决深层神经网络训练过程中的梯度消失和信息传递问题。

层归一化是一种正则化技术,用于提高训练的稳定性和收敛速度。

14. 2 预训练

14. 3 微调

14. 4 自回归训练

自回归训练用于生成文本或序列数据的模型。在自回归训练中,模型会逐步生成输出序列,每个步骤都依赖前面已经生成的部分,模仿人类生成文本时逐词逐句思考的过程。

自回归训练的关键思想在于,模型在每个时间步生成输出时,都考虑了之前已经生成的部分。这使模型能够捕捉到句子的语法、结构和上下文信息。然而,自回归训练也会导致生成过程较慢,因为模型需要等待前面的词生成后才能进行下一个词的生成。

14. 5 掩码语言模型

掩码语言模型用于学习词语之间的关系和语言表示。它在预训练阶段通过预测文本中一些词语被遮蔽的位置,从而使模型能够理解上下文信息并学习到更丰富的语言知识。

第 15 章 常见的大语言模型

15. 1 GPT 系列模型

15. 2 BERT

15. 3 XLNet

  • 引入排列式语言排序
  • 自回归性能量

第 16 章 大语言模型应用———自然语言生成

16. 1 自动文本生成

16. 2 对话系统和聊天机器人

16. 3 代码和技术文档生成

16. 4 创意内容生成

16. 5 国产优秀大语言模型———文心一言

16. 6 国产优秀大语言模型———讯飞星火认知大模型

后 记

作者建议:

  1. 打下坚实基础
  2. 学以致用
  3. 掌握实际经验
  4. 持续学习和探索
  5. 跨学科思维
  6. 关注伦理和社会影响
  7. 从错误中学习
  8. 保持好奇心