跳转至

深度学习革命

CNN、RNN、Transformer等深度学习架构的原理与应用。

什么是深度学习

**深度学习(Deep Learning)**是机器学习的子集,使用多层神经网络从数据中学习复杂的模式和表示。

深度学习 vs 传统机器学习

特点 传统机器学习 深度学习
特征提取 人工设计 自动学习
数据需求 较少 大量
计算需求 较低 高(需要GPU)
模型复杂度 较简单 复杂(多层)
适用数据 结构化数据 图像、文本、语音等非结构化数据
可解释性 较强 较弱(黑盒)

为什么叫"深度"学习

"深度"指的是神经网络的**层数**:

输入层 → 隐藏层1 → 隐藏层2 → ... → 隐藏层N → 输出层
         ↑______________________________↑
                    深度

传统神经网络:2-3层 深度学习网络:几十到几百层


神经网络基础

神经元

神经网络的基本单元,模拟生物神经元:

输入(x₁, x₂, x₃) → 加权求和 → 激活函数 → 输出

数学表示

y = f(w₁x₁ + w₂x₂ + w₃x₃ + b)

  • w:权重(可学习参数)
  • b:偏置
  • f:激活函数

激活函数

引入非线性,使网络能学习复杂模式:

函数 公式 特点
Sigmoid 1/(1+e⁻ˣ) 输出0-1,适合二分类
Tanh (eˣ-e⁻ˣ)/(eˣ+e⁻ˣ) 输出-1到1,零中心化
ReLU max(0,x) 计算简单,缓解梯度消失
Leaky ReLU max(αx,x) 解决ReLU死亡问题
Softmax eˣⁱ/Σeˣʲ 多分类输出概率

前向传播与反向传播

前向传播(Forward Propagation): - 输入数据通过网络 - 每层计算输出 - 最终得到预测结果

反向传播(Backpropagation): - 计算损失函数 - 从输出层向输入层传播梯度 - 更新权重以减小损失

前向传播:输入 → 网络计算 → 输出 → 计算损失
反向传播:损失 ← 计算梯度 ← 更新权重

卷积神经网络(CNN)

为什么需要CNN

传统全连接网络处理图像的问题: - 参数量巨大(1000×1000图像有百万参数) - 丢失空间信息 - 计算效率低

CNN解决方案: - 局部连接(卷积核) - 权重共享 - 空间层次特征

卷积层

卷积操作:用卷积核在图像上滑动,提取局部特征。

图像        卷积核        特征图
┌───┐       ┌───┐
│1 2│       │w1 w2│
│3 4│  *    │w3 w4│  =  1×w1+2×w2+3×w3+4×w4
└───┘       └───┘

关键参数: - 卷积核大小:3×3, 5×5, 7×7 - 步幅(Stride):卷积核移动距离 - 填充(Padding):边缘补零

池化层

作用: - 降低特征图尺寸 - 减少计算量 - 提供平移不变性

类型: - 最大池化:取窗口内最大值 - 平均池化:取窗口内平均值

经典CNN架构

网络 年份 特点 贡献
LeNet 1998 5层,手写数字识别 CNN奠基之作
AlexNet 2012 8层,ReLU+Dropout 深度学习爆发起点
VGGNet 2014 16-19层,3×3卷积 证明深度的重要性
ResNet 2015 152+层,残差连接 突破深度限制
EfficientNet 2019 复合缩放 效率与精度平衡

ResNet:残差网络

问题:深层网络训练困难(梯度消失/爆炸)

解决方案:残差连接(Skip Connection)

传统:  输入 → 卷积层 → 输出
残差:  输入 → 卷积层 → + → 输出
                ↑______|

核心思想:学习残差(输入与输出的差),而非直接学习映射。

影响:ResNet使训练100+层网络成为可能。


循环神经网络(RNN)

为什么需要RNN

传统神经网络假设输入相互独立,无法处理序列数据。

RNN特点: - 具有"记忆"能力 - 能处理变长序列 - 参数共享

RNN结构

        ┌─────┐
   h₁ ←─┤ RNN ├──→ h₂ ←─┐
        ↑  ↑   │         │
        x₁    x₂ ←──────┘

隐藏状态:hₜ = f(Wₕₕhₜ₋₁ + Wₓₕxₜ + b)

RNN变体

变体 特点 解决问题
LSTM 长短期记忆网络 长期依赖
GRU 门控循环单元 简化LSTM
双向RNN 同时看前后文 上下文理解

LSTM:长短期记忆

核心组件: - 遗忘门:决定丢弃什么信息 - 输入门:决定存储什么新信息 - 输出门:决定输出什么

遗忘门:fₜ = σ(Wf·[hₜ₋₁, xₜ] + bf)
输入门:iₜ = σ(Wi·[hₜ₋₁, xₜ] + bi)
输出门:oₜ = σ(Wo·[hₜ₋₁, xₜ] + bo)

应用: - 机器翻译 - 文本生成 - 语音识别 - 时间序列预测


Transformer:注意力机制革命

为什么Transformer取代RNN

RNN的局限: - 顺序计算,难以并行 - 长距离依赖困难 - 梯度传播问题

Transformer优势: - 完全并行计算 - 直接建模长距离依赖 - 更好的表示能力

注意力机制

核心思想:让模型关注输入中重要的部分。

Self-Attention(自注意力)

Query × Keyᵀ → 注意力分数 → Softmax → × Value → 输出

计算过程: 1. 将输入转换为Q、K、V三个向量 2. 计算Q与K的相似度(点积) 3. 归一化得到注意力权重 4. 加权求和V得到输出

多头注意力: - 使用多组Q、K、V - 捕捉不同子空间的信息 - 拼接后线性变换

Transformer架构

编码器(Encoder)

输入嵌入 → 位置编码 → [多头注意力 → 前馈网络]×N

解码器(Decoder)

输出嵌入 → 位置编码 → [掩码注意力 → 编码器-解码器注意力 → 前馈网络]×N

关键组件: - 位置编码:给模型位置信息(正弦/可学习) - 层归一化:稳定训练 - 残差连接:帮助梯度传播

Transformer的影响

BERT(Google): - 双向编码器 - 预训练+微调范式 - 刷新NLP任务SOTA

GPT系列(OpenAI): - 单向生成式模型 - 参数量不断增大 - 涌现强大能力

Vision Transformer: - 将图像分块作为序列 - CNN替代方案 - 在大数据上表现优异


生成对抗网络(GAN)

核心思想

通过生成器和判别器的对抗训练,学习数据分布。

生成器(G):噪声 → 假样本
判别器(D):判断真/假

训练目标:
G:让D无法区分真假
D:尽可能区分真假

训练过程

判别器训练: - 真样本标签为1 - 假样本标签为0 - 最大化区分能力

生成器训练: - 生成假样本 - 骗过判别器(标签设为1) - 最大化欺骗能力

经典GAN变体

变体 特点 应用
DCGAN 深度卷积GAN 高质量图像生成
CGAN 条件GAN 可控生成
CycleGAN 循环一致性 风格迁移
StyleGAN 分层风格控制 人脸生成
BigGAN 大规模训练 高分辨率图像

应用

  • 图像生成:人脸、风景、艺术作品
  • 图像编辑:超分辨率、去噪、修复
  • 风格迁移:照片转油画、季节变换
  • 数据增强:生成训练数据

深度学习的挑战

计算资源

问题:训练大模型需要大量GPU和时间。

解决方案: - 分布式训练 - 模型压缩 - 迁移学习 - 云计算平台

数据需求

问题:深度学习需要大量标注数据。

解决方案: - 预训练+微调 - 半监督学习 - 主动学习 - 合成数据

可解释性

问题:深度学习模型是"黑盒"。

研究方向: - 注意力可视化 - 梯度类激活图(Grad-CAM) - 特征归因 - 概念激活向量(CAV)

泛化能力

问题:模型在训练数据上表现好,但泛化能力差。

解决方案: - 正则化 - Dropout - 数据增强 - 早停


深度学习框架

框架 特点 适用场景
TensorFlow Google出品,生态完善 生产部署
PyTorch 动态图,易调试 研究实验
JAX Google新框架,函数式 前沿研究
PaddlePaddle 百度出品,中文支持好 国产化替代
Keras 高层API,易上手 快速原型

小结

深度学习是AI的核心技术,通过多层神经网络学习数据的层次化表示。

关键发展: - CNN → 计算机视觉 - RNN/LSTM → 序列建模 - Transformer → 现代NLP基础 - GAN → 生成模型

学习建议: 1. 理解神经网络基础 2. 掌握一种深度学习框架 3. 复现经典论文 4. 参加Kaggle竞赛


延伸阅读