模型基础02:深度学习基础

从神经网络结构、反向传播算法、表示学习到参数规模,理解深度学习为什么能从数据中自动学习特征。

字数 1853 阅读时长 ≈ 6 分钟 2026-7-20 2026-7-27
模型基础02:深度学习基础

深度学习是机器学习的一个分支,它通过多层神经网络从数据中自动学习特征。理解深度学习的核心原理,是理解大模型的基础。

神经网络:从感知器到深度学习

神经网络的灵感来源于人脑的神经元,它是深度学习的核心组件。

感知器:最简单的神经元

感知器是神经网络的基本单元:

输入 → 加权求和 → 激活函数 → 输出

数学表达:y = σ(w₁x₁ + w₂x₂ + ... + wₙxₙ + b)

  • w:权重,决定输入的重要程度
  • b:偏置,控制神经元的激活阈值
  • σ:激活函数,引入非线性

激活函数:引入非线性

没有激活函数,神经网络就是线性模型,无法学习复杂模式。

激活函数公式特点适用场景
Sigmoid1/(1+e⁻ˣ)将输出压缩到 (0,1)二分类、输出概率
Tanh(eˣ-e⁻ˣ)/(eˣ+e⁻ˣ)将输出压缩到 (-1,1)隐藏层
ReLUmax(0, x)计算简单,缓解梯度消失隐藏层(最常用)
Leaky ReLUmax(αx, x)解决 ReLU 死亡问题隐藏层
Softmaxeˣⁱ/Σeˣⱼ将输出转换为概率分布多分类

多层神经网络

单层感知器只能处理线性可分问题,多层神经网络可以处理非线性问题。

神经网络结构

输入层 → 隐藏层1 → 隐藏层2 → ... → 隐藏层n → 输出层
  • 输入层:接收原始数据
  • 隐藏层:提取特征,层数越深,特征越抽象
  • 输出层:产生最终预测

前向传播:数据从输入层流向输出层,每层计算: a⁽ˡ⁾ = σ(z⁽ˡ⁾) = σ(W⁽ˡ⁾a⁽ˡ⁻¹⁾ + b⁽ˡ⁾)

反向传播:深度学习的核心算法

反向传播是训练神经网络的核心算法,它让模型能够从错误中学习。

损失函数:衡量预测误差

损失函数衡量模型预测与真实标签的差距:

损失函数公式适用场景
MSE(1/n)Σ(yᵢ - ŷᵢ)²回归任务
Cross Entropy-Σyᵢlog(ŷᵢ)分类任务
Binary Cross Entropy-y log(ŷ) - (1-y)log(1-ŷ)二分类
Hinge Lossmax(0, 1-yŷ)SVM、分类任务

反向传播原理

反向传播基于链式法则,从输出层向输入层逐层计算梯度:

  1. 计算输出层梯度∂L/∂z⁽ᵒᵘᵗ⁾ = ∂L/∂a⁽ᵒᵘᵗ⁾ * σ'(z⁽ᵒᵘᵗ⁾)
  2. 计算隐藏层梯度∂L/∂z⁽ˡ⁾ = (W⁽ˡ⁺¹⁾ᵀ * ∂L/∂z⁽ˡ⁺¹⁾) * σ'(z⁽ˡ⁾)
  3. 更新参数W⁽ˡ⁾ = W⁽ˡ⁾ - α * ∂L/∂W⁽ˡ⁾

梯度消失与梯度爆炸

深度神经网络训练时会遇到梯度消失或梯度爆炸问题:

梯度消失

  • 深层网络中,梯度经过多层链式求导后变得极小
  • 原因:激活函数(如 Sigmoid)的导数小于 1,多次相乘后趋近于 0
  • 表现:网络浅层参数几乎不更新

梯度爆炸

  • 梯度经过多层链式求导后变得极大
  • 原因:权重初始化不当或激活函数导数大于 1
  • 表现:参数更新过大,训练不稳定

解决方案

方法原理
权重初始化Xavier/Glorot 初始化,保持梯度方差稳定
Batch Normalization每层输入标准化,缓解内部协变量偏移
Residual Connection跳过连接,梯度可以直接传递
ReLU 激活函数梯度为 0 或 1,缓解梯度消失
Gradient Clipping限制梯度最大值,防止爆炸

优化器:如何更新参数

优化器决定了参数如何根据梯度更新,不同的优化器有不同的收敛特性。

梯度下降家族

优化器特点适用场景
SGD简单,计算快,但收敛慢基础对比
SGD + Momentum利用历史梯度,加速收敛大多数场景
AdaGrad自适应学习率,适合稀疏数据自然语言处理
RMSprop自适应学习率,解决 AdaGrad 学习率衰减问题深度学习
Adam结合 Momentum 和 RMSprop,自适应学习率最常用,推荐默认选择
AdamWAdam + 权重衰减,效果更稳定推荐替代 Adam

学习率调度

学习率是最重要的超参数,需要动态调整:

策略原理适用场景
固定学习率始终保持不变简单场景
阶梯衰减训练到一定轮数后降低学习率大多数场景
Cosine Decay余弦曲线衰减学习率深度学习
Warmup初始阶段学习率逐渐增加训练不稳定时

表示学习:自动提取特征

深度学习的核心优势是自动从数据中学习特征,而不需要人工设计。

表示学习 vs 手工特征

维度手工特征表示学习
特征设计人工设计自动学习
特征层次单一层次多层抽象
数据需求
灵活性
可解释性

特征层次

深度学习学习的特征是分层的:

第一层:学习简单特征(如边缘、颜色) 第二层:学习组合特征(如纹理、形状) 第三层:学习高级特征(如物体、场景) 更高层:学习抽象特征(如概念、关系)

自监督学习

自监督学习不需要人工标注,通过设计”代理任务”让模型自己学习特征:

方法代理任务适用场景
Contrastive Learning区分相似和不相似的样本图像、文本
Masked Language Model预测被掩盖的 token文本
Next Sentence Prediction判断两个句子是否连续文本
SimCLR/MoCo同一图像不同变换的相似度学习图像

参数规模:越大越好吗

参数规模是大模型的重要特征,但不是越大越好。

参数规模与能力

一般来说,参数越多,模型能力越强:

  • 100M 参数:小型模型,适合简单任务
  • 1B 参数:中等模型,适合特定任务
  • 10B 参数:大型模型,具有多任务能力
  • 100B+ 参数:超大模型,具有通用智能

参数效率

参数效率关注如何用更少的参数达到相同效果:

方法原理适用场景
参数共享不同层共享参数Transformer
稀疏激活只激活部分神经元MoE 模型
知识蒸馏大模型教小模型边缘部署
LoRA低秩适配,只训练少量参数微调

训练数据与参数规模的关系

训练数据量应该与参数规模匹配:

  • 参数太多,数据太少 → 过拟合
  • 参数太少,数据太多 → 欠拟合
  • 最优比例:数据量 ≈ 参数数量的 10-100 倍

正则化:防止过拟合

深度学习模型参数多,更容易过拟合,需要正则化。

常见正则化方法

方法原理适用场景
L1 正则化惩罚参数绝对值,产生稀疏解特征选择
L2 正则化惩罚参数平方,抑制参数过大大多数场景
Dropout训练时随机丢弃部分神经元深度学习
Batch Normalization标准化每层输入,增加稳定性深度学习
早停验证集性能下降时停止训练深度学习
数据增强对训练数据做变换图像、语音

项目判断清单

  • 需要处理复杂模式(图像、文本、语音)→ 用深度学习
  • 数据量小(<10万)→ 用传统算法或预训练模型微调
  • 训练不稳定、梯度消失 → 检查初始化、激活函数、BatchNorm
  • 过拟合 → 增加数据、加正则化、简化模型
  • 欠拟合 → 增加模型复杂度、增加训练轮数
  • 选择优化器 → 默认用 AdamW,配合余弦衰减学习率
  • 需要边缘部署 → 用知识蒸馏或 LoRA 压缩模型