概述

一、项目背景与简介

1.1 核心观点

  • 学习关键:深度学习学习的关键是动手实践
  • 领域地位:深度学习是人工智能最热门领域,过去十年主要突破多源于此
  • 神经网络本质:可看作一门语言,应像学习 Python/C++ 一样学习

1.2 项目特点

特点 说明
内容覆盖 从90年代至今的重要模型
形式 每章为Jupyter Notebook,含完整代码实现
资源 免费,可在 d2l.ai 下载
代码框架 MXNet(numpy)、PyTorch、TensorFlow 2.0

1.3 影响力

  • 中文版:网页用户超65万,GitHub近2万star
  • 教材采用:140+所大学,包括MIT、Stanford、北大、清华等

二、深度学习基础概念

2.1 AI技术体系全景图

image-a8519abb

2.2 AI能力层次模型

层次 定义 深度学习表现 典型任务
感知 基础识别能力 ⭐⭐⭐⭐⭐ 图像识别、语音识别
推理 简单逻辑判断 ⭐⭐⭐ 问答系统、关系推理
知识 规律总结形成 ⭐⭐ 知识图谱构建
规划 长期决策能力 游戏AI、机器人控制

2.3 深度学习的定义

深度学习:机器学习的重要分支,通过多层神经网络*模拟人脑层级化信息处理机制,能够自动从原始数据中学习多层次的特征表示。*

核心特点

  1. 表示学习:自动学习数据的层次化特征
  2. 端到端学习:从原始输入直接到最终输出
  3. 大规模数据驱动:需要大量数据进行训练
  4. 计算密集:依赖GPU/TPU等硬件加速

三、神经网络核心原理

3.1 神经元模型

生物神经元 vs 人工神经元

image-94bf979c

数学表达: \(y = f\left(\sum_{i=1}^{n} w_i x_i + b\right) = f\left(\mathbf{w}^T \mathbf{x} + b\right)\)

其中:

  • x:输入向量
  • w:权重向量
  • b:偏置项
  • f(⋅):激活函数

3.2 常用激活函数

函数 公式 图形特点 优缺点
Sigmoid \(\sigma(x) = \frac{1}{1 + e^{-x}}\) S形曲线,输出(0,1) 梯度消失、非零中心
Tanh \(\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}\) S形曲线,输出(-1,1) 零中心,仍有梯度消失
ReLU \(\max(0, x)\) 分段线性 计算快,但有"死亡神经元"
Leaky ReLU \(\max(0.01x, x)\) 分段线性,负半轴有斜率 解决死亡神经元问题
GELU \(x \cdot \Phi(x)\) 平滑曲线 Transformer常用

3.3 多层感知机(MLP)

image-c078621b

前向传播公式: \(h_1 = f_1(W_1 x + b_1)\)

\(h_2 = f_2(W_2 h_1 + b_2)\) \(y = f_3(W_3 h_2 + b_3)\)

3.4 为什么需要"深度"

深度优势 说明
层次化特征提取 底层学习边缘,中层学习纹理,高层学习语义
参数效率 深而窄的网络比浅而宽的网络参数更少
表达能力 理论上可以逼近任意连续函数
组合爆炸 深层网络可表示指数级多的线性区域

四、深度学习数学基础

4.1 损失函数

分类任务

\(\text{交叉熵损失} = -\sum_{i=1}^{C} y_i \log(\hat{y}_i)\)

回归任务

\(MSE \text{损失} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2\) \(\text{MAE损失} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|\)

4.2 反向传播算法

核心思想:利用链式法则计算损失函数对各层参数的梯度

image-5639d0f8

链式法则

\(\frac{\partial L}{\partial \hat{W}_i} = \frac{\partial L}{\partial h_i} \cdot \frac{\partial h_i}{\partial W_i}\)

4.3 梯度下降优化

基本公式

\(W_{t+1} = W_t - \eta \cdot \nabla_W L\)

常见变体对比

优化器 更新规则 特点
SGD \(W = W - \eta \cdot g\) 基础方法,可能震荡
Momentum \(v = \gamma v + \eta g, W = W - v\) 加速收敛,减少震荡
AdaGrad 自适应学习率(累积梯度平方) 适合稀疏数据,学习率衰减
RMSprop 指数加权移动平均 解决AdaGrad学习率过快下降
Adam Momentum + RMSprop 最常用,自适应+动量

4.4 正则化技术

技术 原理 应用场景
L1正则化 \(L + \lambda\| \|W\|\|_1\) 产生稀疏权重
L2正则化 \(L + \lambda ||\|W||\|^2_2\) 权重衰减,防止过大
Dropout 训练时随机丢弃神经元 防止过拟合,集成效果
Batch Normalization 层间归一化 加速训练,稳定梯度
数据增强 扩充训练数据多样性 图像旋转、裁剪等

4.5 过拟合与欠拟合

image-158c810c

诊断方法

  • 欠拟合:训练误差高、验证误差高 → 增加模型复杂度
  • 过拟合:训练误差低、验证误差高 → 增加正则化/数据

五、卷积神经网络(CNN)

5.1 核心思想

针对图像的三大特性设计

  1. 局部性:像素主要与邻近像素相关
  2. 平移不变性:目标可能出现在任意位置
  3. 层次性:从低级特征到高级语义逐层抽象

5.2 卷积操作

image-1e01ce74

输出尺寸公式: \(O = \frac{I - K + 2P}{S} + 1\)

其中:I=输入尺寸,K=卷积核尺寸,P=填充,S=步幅

5.3 CNN基本组件

组件 功能 参数
卷积层 特征提取 卷积核大小、数量、步幅
池化层 降维、增强不变性 池化大小(max/avg)
全连接层 分类决策 神经元数量
BN层 归一化加速训练 γ, β参数

5.4 经典CNN架构演进

image-1ca0e4b9

LeNet-5 (1998)

输入(32×32) → Conv → Pool → Conv → Pool → FC → FC → 输出(10类)
  • 贡献:CNN的开创性工作
  • 应用:手写数字识别

AlexNet (2012)

输入(224×224×3) → Conv1 → Pool → Conv2 → Pool → Conv3-5 → Pool → FC → FC → 输出
  • 贡献:引发深度学习热潮
  • 创新:ReLU、Dropout、数据增强、GPU训练

VGG (2014)

  • 核心思想:使用小卷积核(3×3)堆叠代替大卷积核
  • 优势:更深网络、更少参数、更强表达能力
VGG-16结构:
Conv3-64 ×2 → Pool → Conv3-128 ×2 → Pool → Conv3-256 ×3 → Pool
→ Conv3-512 ×3 → Pool → Conv3-512 ×3 → Pool → FC ×3

ResNet (2015)

核心创新:残差连接

image-2a8650c5 \(y = F(x, \{W_i\}) + x\)

为什么有效

  • 解决深层网络的梯度消失问题
  • 学习残差比学习完整映射更容易
  • 允许构建非常深的网络(152层+)

其他重要架构

架构 年份 核心创新
Inception 2014 多尺度并行卷积
DenseNet 2017 密集连接,特征复用
MobileNet 2017 深度可分离卷积,轻量化
EfficientNet 2019 复合缩放,NAS搜索

5.5 CNN特征可视化

image-b5171109

六、循环神经网络(RNN)

6.1 为什么需要RNN

CNN的局限 RNN的解决
输入固定长度 可处理变长序列
无法建模时序依赖 有记忆能力
无法处理顺序信息 考虑先后顺序

6.2 基本RNN结构

image-b2612459

数学公式

\(h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t + b_h)\) \(y_t = W_{hy} h_t + b_y\)

6.3 RNN的问题:梯度消失/爆炸

BPTT(时间反向传播)

\(\frac{\partial L}{\partial W} = \sum_{t=1}^{T} \frac{\partial L_t}{\partial W}\)

当序列很长时:

  • 梯度消失:梯度指数衰减,无法学习长期依赖
  • 梯度爆炸:梯度指数增长,训练不稳定

6.4 LSTM(长短期记忆网络)

核心思想:引入门控机制,控制信息流动

image-6d7b7f59

三个门的作用

公式 功能
遗忘门 \(f_t = \sigma(W_t \cdot [h_{t-1}, x_t] + b_f)\) 决定丢弃哪些信息
输入门 \(i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)\) 决定更新哪些信息
输出门 \(o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)\) 决定输出哪些信息

完整公式: \(\tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C)\)

\(C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t\) \(h_t = o_t \odot \tanh(C_t)\)

6.5 GRU(门控循环单元)

简化版LSTM,将遗忘门和输入门合并

┌─────────────────────────────────────┐
│  重置门 rₜ: 控制利用多少历史信息     │
│  更新门 zₜ: 控制更新/保留的比例      │
└─────────────────────────────────────┘
\(z_t = \sigma(W_z \cdot [h_{t-1}, x_t])\) \(r_t = \sigma(W_r \cdot [h_{t-1}, x_t])\) \(\tilde{h}_t = \tanh(W \cdot [r_t \odot h_{t-1}, x_t])\) \(h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \tilde{h}_t\)

6.6 Seq2Seq模型

应用:机器翻译、文本摘要、对话系统

image-98637c0c

七、注意力机制与Transformer

7.1 注意力机制的动机

Seq2Seq的局限

  • 所有输入信息压缩到固定长度向量
  • 长序列信息丢失严重
  • 无法关注输入的不同部分

注意力解决方案:动态地关注输入序列的不同位置

7.2 注意力机制原理

image-90facfd4

数学表达

\(\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\\sqrt{d_k}}\right)V\)

7.3 自注意力(Self-Attention)

image-80b99e76

与RNN对比

特性 RNN Self-Attention
计算并行性 ❌ 串行 ✅ 并行
长距离依赖 较弱 直接连接
计算复杂度 O(n) O(n²)
位置信息 隐式 需显式编码

7.4 Transformer架构

image-0b477f70

核心组件详解

1. 多头注意力(Multi-Head Attention) \(\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h) W^O\)

\(\text{head}_i = \text{Attention}\left(QW_i^Q, KW_i^K, VW_i^V\right)\)

2. 位置编码(Positional Encoding) \(PE_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i}/d_{model}}\right)\)

\(PE_{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i}/d_{model}}\right)\)

3. 残差连接 + Layer Normalization \(\text{output} = \text{LayerNorm}(x + \text{Sublayer}(x))\)

7.5 BERT与GPT

模型 架构 预训练任务 应用方式
BERT Encoder 掩码语言模型(MLM) + 下一句预测(NSP) 微调(Fine-tuning)
GPT Decoder 自回归语言模型 提示(Prompting)
image-5ec98f66

八、优化算法详解

8.1 优化目标

\(\min_{\theta} \mathcal{L}(\theta) = \frac{1}{N} \sum_{i=1}^{N} \ell(f(x_i; \theta), y_i) + \lambda R(\theta)\)

8.2 学习率调度策略

image-d488b21c

8.3 优化器对比总结

优化器 自适应LR 动量 适用场景
SGD 简单任务,精确调参
SGD+Momentum 深层网络,需加速收敛
Adam 大多数情况的默认选择
AdamW 需要L2正则化,NLP任务
LAMB 大batch训练

九、高性能计算

9.1 计算需求分析

模型 参数量 训练FLOPs
AlexNet 60M ~10^18
ResNet-50 25M ~10^18
BERT-Large 340M ~10^20
GPT-3 175B ~10^23

9.2 并行策略

image-29a25241

9.3 混合精度训练

image-dc745f24

十、应用领域深度解析

10.1 计算机视觉任务

image-64b1fec0

目标检测经典模型

类型 模型 特点
两阶段 R-CNN系列 精度高,速度慢
单阶段 YOLO, SSD 速度快,实时检测
Anchor-free FCOS, CenterNet 无预设锚框
Transformer DETR 端到端,无NMS

10.2 自然语言处理任务

image-22123dc1

10.3 生成式模型

模型 原理 应用
VAE 变分推断,学习隐变量分布 图像生成、数据增强
GAN 生成器-判别器对抗训练 图像生成、风格迁移
Diffusion 逐步去噪生成 DALL-E、Stable Diffusion
自回归 逐token生成 GPT、文本生成

十一、深度学习的可解释性

11.1 可解释性的层次

image-454f8ad5

11.2 常用解释方法

方法 原理 可视化
Grad-CAM 梯度加权的类激活映射 热力图显示重要区域
SHAP 博弈论Shapley值 特征贡献度
LIME 局部线性近似 关键特征高亮
Attention 注意力权重可视化 Token重要性

11.3 "为何有效" vs "可解释性"

概念 定义 示例
为何有效 模型设计时的原理解释 ResNet因残差连接解决梯度消失
可解释性 理解具体预测的原因 为什么这张图被识别为猫

十二、实战案例:广告推荐系统

12.1 系统架构

image-905ab598

12.2 CTR预估模型演进

模型 年份 核心思想
LR - 线性模型,可解释性好
FM 2010 二阶特征交叉
Wide&Deep 2016 记忆+泛化
DeepFM 2017 FM+DNN端到端
DIN 2018 用户兴趣注意力
DIEN 2019 兴趣演化建模

12.3 团队协作模式

image-8b41e52a

十三、常见问题汇总

13.1 概念辨析

问题 解答
数据科学家 vs AI专家 无本质区别,AI专家更深入特定领域
深度学习 vs 机器学习 深度学习是机器学习的子集,使用深层神经网络
符号学能否与DL融合 可以,如图神经网络、神经符号推理

13.2 技术问题

问题 解答
Mac支持PyTorch吗 支持,但仅CPU,复杂任务慢
如何解决过拟合 正则化、Dropout、数据增强、早停
如何选择优化器 Adam是默认选择,精调可尝试SGD

13.3 实践建议

场景 建议
论文阅读 关注顶会,使用Google Scholar追踪引用
无人驾驶安全 多模型融合、多传感器、不确定性估计
职业发展 广度(多领域应用) 或 深度(领域专家)

十四、学习资源汇总

资源类型 链接/说明
📚 免费教材 zh-v2.d2l.ai
🎬 视频课程 B站/YouTube (d2l官方)
💻 代码仓库 github.com/d2l-ai
💬 讨论区 课程官网论坛
🔧 PyTorch文档 pytorch.org/docs

十五、核心要点总结

image-9c5eca4e

📌 学习建议:理论与实践相结合,先理解原理,再动手实现,最后深入数学细节。从经典模型开始,逐步掌握最新技术!


组内导航:⬅️ 00-信息基础大赛 | 🏠 00-基础与理论