Skip to content

一、机器学习核心概念

  • 学习范式:分为监督学习、无监督学习和强化学习。

    • 监督学习:输入特征和标签,目标是学习函数 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。

更新于:

note