---
url: /ai/AI算法基础常识.md
---
#### 一、机器学习核心概念

* **学习范式**：分为监督学习、无监督学习和强化学习。
  * **监督学习**：输入特征和标签，目标是学习函数 f: X → Y，使 f(x) ≈ y。
    * **分类**：输出离散类别（如邮件分类）。
    * **回归**：输出连续数值（如房价预测）。
  * **无监督学习**：仅输入数据，无标签，目标是发现数据的内在结构。
    * **聚类**：将数据分组，组内相似，组间不同。常用算法包括 K-Means、层次聚类、DBSCAN。
    * **降维**：将高维数据映射到低维，常用算法包括 PCA、t-SNE、UMAP。
    * **自编码器**：通过编码器和解码器学习数据的低维表示，用于降维、去噪、特征学习和生成模型。
  * **强化学习**：智能体与环境交互，目标是最大化累积奖励。与监督学习不同，无标签，延迟反馈，序列决策。

* **偏差-方差权衡**：
  * **总误差分解**：E\[(y - ŷ)²] = 偏差² + 方差 + 不可约误差。
  * **高偏差**：模型太简单，无法拟合数据（欠拟合）。
  * **高方差**：模型太复杂，对训练数据敏感（过拟合）。
  * **解决方法**：增加训练数据、正则化、早停、数据增强等。

* **正则化技术**：
  * **L1正则化（Lasso）**：损失函数中加入权重绝对值和，具有稀疏性，用于特征选择。
  * **L2正则化（Ridge）**：损失函数中加入权重平方和，用于权重衰减，防止过拟合。
  * **Elastic Net**：结合 L1 和 L2 正则化，具有稀疏性和分组效应。
  * **Dropout**：训练时随机丢弃神经元，测试时保留所有神经元并乘以 (1-p)。具有集成效应、防止共适应、添加噪声。
  * **数据增强**：通过变换数据增加训练样本多样性，提高模型鲁棒性，防止过拟合。
  * **早停**：监控验证集误差，若连续多个 epoch 无改善则停止训练，防止过拟合。

#### 二、深度学习的数学基石

* **反向传播**：通过链式法则计算损失对参数的梯度，是训练神经网络的核心算法。
  * **前向传播**：逐层计算线性变换和激活函数。
  * **反向传播**：从输出层开始，逐层计算梯度，使用链式法则。
  * **计算图**：自动微分技术（如 PyTorch、TensorFlow）自动构建计算图并计算梯度。

* **梯度消失与爆炸**：
  * **梯度消失**：在深层网络中，梯度逐渐趋近于零，导致训练缓慢。
  * **梯度爆炸**：梯度过大，导致数值不稳定。
  * **解决方案**：使用 ReLU、残差连接、BatchNorm、LSTM、更好的初始化（如 Xavier、He）。

* **优化算法**：
  * **梯度下降**：计算整个数据集的梯度，收敛稳定但计算慢。
  * **随机梯度下降（SGD）**：每次使用一个样本，收敛快但不稳定。
  * **小批量梯度下降**：折中方案，利用向量化计算，适合 GPU 加速。
  * **动量（Momentum）**：累积历史梯度，加速收敛，减少震荡。
  * **自适应梯度**：如 AdaGrad、RMSprop、Adam，根据参数历史梯度调整学习率。
    * **Adam**：结合动量和 RMSprop，具有鲁棒性、收敛快、内存效率高，是当前主流优化器。
    * **AdamW**：修正 Adam 中 L2 正则化的实现，使学习率调整更准确。
    * **AMSGrad**：改进 Adam，解决可能不收敛的问题。
    * **RAdam**：改进 Adam 的 warmup，自动调整学习率。

#### 三、卷积神经网络（CNN）

* **卷积运算**：通过滑动窗口计算输入与卷积核的加权和，用于提取局部特征。
  * **一维卷积**：用于信号处理，如平滑滤波器。
  * **二维卷积**：用于图像处理，如边缘检测、高斯模糊、锐化。
  * **互相关 vs 卷积**：在深度学习中，通常使用互相关，因为卷积核是学习的，无需翻转。
* **池化层**：用于降维、增加感受野、平移不变性、特征选择。
  * **最大池化**：取每个区域的最大值。
  * **平均池化**：取每个区域的平均值。
  * **全局池化**：将每个通道的特征图降维为 1×1，用于替代全连接层。
* **经典 CNN 架构**：
  * **LeNet-5**：首次成功应用 CNN，用于手写数字识别。
  * **AlexNet**：引入 ReLU、Dropout、数据增强、GPU 训练，成为 ImageNet 冠军。
  * **VGGNet**：结构简单，使用 3×3 卷积核，参数量大但迁移学习效果好。
  * **GoogLeNet / Inception v1**：引入 Inception 模块、1×1 卷积降维、全局平均池化。
  * **ResNet**：引入残差块，解决梯度消失问题，支持更深网络，成为标准骨干网络。

#### 四、循环神经网络（RNN）与序列建模

* **RNN 的记忆机制**：通过隐藏状态 h_t 保存序列信息，适用于序列数据。
* **RNN 的训练**：使用 BPTT（时间反向传播），但存在梯度消失/爆炸问题。
* **LSTM**：通过三个门（遗忘门、输入门、输出门）控制信息流动，解决梯度消失问题。
  * **细胞状态**：信息高速公路，允许长期依赖。
  * **门控机制**：选择性地保留或更新信息。
* **GRU**：简化版 LSTM，仅两个门（重置门、更新门），参数更少，训练更快。
* **双向 RNN**：同时考虑过去和未来信息，适用于 NLP 任务（如 BERT）。

#### 五、Transformer 模型

* **自注意力机制**：通过查询（Q）、键（K）、值（V）计算注意力分数，实现全局依赖建模。
  * **注意力分数**：QK^T / √d_k，避免 softmax 饱和。
  * **Softmax 归一化**：将注意力分数归一化为概率分布。
  * **加权求和**：将注意力权重与值（V）相乘，得到输出。
* **多头注意力**：将输入投影到多个头，每个头计算不同注意力，最后拼接。
* **位置编码**：使用正弦/余弦函数，表示序列位置信息，支持外推。
  * **相对位置**：位置编码可以表示相对位置关系。
  * **外推能力**：即使训练时未见过的序列长度，也能计算位置编码。
* **掩码技术**：
  * **Padding Mask**：忽略填充位置。
  * **Look-ahead Mask**：防止解码器看到未来信息。
  * **组合掩码**：在训练中使用多个掩码。

#### 六、训练深度学习模型的实践技巧

* **数据预处理**：
  * **归一化**：使用 Min-Max 或 Z-score 标准化，使特征分布一致。
  * **图像归一化**：使用 ImageNet 的均值和标准差。
* **数据增强**：
  * **几何变换**：随机裁剪、翻转、旋转、仿射变换。
  * **颜色变换**：颜色抖动、灰度化、回译、自动增强。
  * **高级增强**：Mixup、CutMix、RandAugment，增加样本多样性。
* **学习率调度**：
  * **Step Decay**：按固定步长衰减学习率。
  * **MultiStep Decay**：在特定 epoch 衰减。
  * **Exponential Decay**：按指数衰减。
  * **Cosine Annealing**：按余弦曲线衰减，支持重启。
  * **Warmup**：训练初期使用小学习率，防止不稳定。
  * **ReduceLROnPlateau**：根据验证损失调整学习率。
  * **Cyclic LR**：学习率在一定范围内循环，有助于跳出局部最优。
  * **OneCycle LR**：先快速增长，再衰减，适合快速训练。
* **梯度裁剪**：
  * **按值裁剪**：限制梯度的绝对值。
  * **按范数裁剪**：限制梯度的范数，防止爆炸。

#### 七、强化学习基础

* **马尔可夫决策过程（MDP）**：强化学习的核心框架，包含状态、动作、转移概率、奖励、折扣因子。
* **Q-Learning**：基于价值函数的算法，无需环境模型。
  * **TD 误差**：当前 Q 值与目标 Q 值的差值。
  * **ε-贪心策略**：平衡探索与利用。
* **深度 Q 网络（DQN）**：
  * **经验回放**：打破样本相关性，提高训练稳定性。
  * **目标网络**：定期更新，防止目标变化过快。
* **策略梯度（Policy Gradient）**：
  * **直接学习策略**：适用于连续动作空间。
  * **REINFORCE**：基于策略的算法，使用重要性采样。
* **PPO（Proximal Policy Optimization）**：
  * **限制策略更新幅度**：防止策略偏离旧策略。
  * **优势函数**：衡量动作相对于平均的优劣。
  * **多轮更新**：重复使用数据，提高样本效率。
  * **应用**：如 OpenAI Five、ChatGPT 的 RLHF 训练。

#### 八、强化学习与人类反馈（RLHF）

* **RLHF 三阶段**：
  1. **监督微调（SFT）**：使用人工标注的高质量示例训练模型。
  2. **奖励模型训练**：通过人工排序生成的回复，训练奖励模型。
  3. **PPO 优化**：使用奖励模型优化策略，使模型更符合人类偏好。

#### 九、本章总结

* **机器学习基础**：监督、无监督、强化学习，以及偏差-方差权衡、正则化技术。
* **深度学习数学**：反向传播、优化算法（SGD → Adam）、梯度消失/爆炸问题。
* **核心架构**：CNN、RNN、Transformer，分别用于图像、序列、全局依赖建模。
* **训练技巧**：数据预处理、学习率调度、梯度裁剪、BatchNorm 等归一化技术。
* **强化学习**：MDP 框架、Q-Learning、DQN、策略梯度、PPO，以及 RLHF 技术。

***

### 关键信息总结

* **机器学习三类**：监督、无监督、强化学习。
* **正则化技术**：L1、L2、Dropout、数据增强、早停。
* **深度学习核心**：反向传播、优化算法（Adam、AdamW）、梯度消失/爆炸。
* **CNN 结构**：卷积层、池化层、经典架构（LeNet、AlexNet、VGG、Inception、ResNet）。
* **RNN 与 LSTM/GRU**：记忆机制、BPTT、梯度问题、双向 RNN。
* **Transformer**：自注意力、多头注意力、位置编码、掩码、实现技巧。
* **训练技巧**：数据预处理、学习率调度、梯度裁剪、BatchNorm。
* **强化学习**：MDP、Q-Learning、DQN、策略梯度、PPO、RLHF。

***

### 专业术语与技术要点

* **偏差-方差权衡**：模型复杂度与泛化能力的平衡。
* **反向传播**：通过链式法则计算梯度。
* **梯度消失/爆炸**：深层网络训练中的常见问题。
* **正则化**：L1、L2、Dropout、数据增强、早停。
* **优化算法**：SGD、Momentum、AdaGrad、RMSprop、Adam。
* **卷积运算**：滑动窗口、互相关、卷积核、输出尺寸计算。
* **池化**：最大池化、平均池化、全局池化。
* **LSTM/GRU**：门控机制、细胞状态、梯度问题。
* **Transformer**：自注意力、多头注意力、位置编码、掩码。
* **RLHF**：强化学习与人类反馈，用于对齐模型行为。

***

### 技术实现要点

* **PyTorch 示例**：如 AdamW、Dropout、BatchNorm、梯度裁剪。
* **数学公式**：如总误差分解、梯度计算、注意力机制、Q-Learning 更新。
* **算法流程**：如 PPO 的训练流程、DQN 的经验回放与目标网络。

***

### 应用场景

* **图像处理**：CNN、数据增强、归一化。
* **自然语言处理**：RNN、Transformer、RLHF。
* **强化学习**：DQN、PPO、RLHF（如 ChatGPT）。
* **模型优化**：正则化、梯度裁剪、学习率调度、BatchNorm。

***
