深度学习( Deep Learning )系统学习教程¶
写给每一个想真正理解深度学习的人:如果你厌倦了只会调用 API ,想从零开始建立对深度学习的深刻理解——这份教程就是为你准备的。
📚 教程简介¶
这是一个从零开始、循序渐进的深度学习学习教程。我们不追求面面俱到,而是专注于建立真正的理解和培养独立实现的能力。
学习理念¶
- 先理解原理,再写代码 - 知道"为什么"比知道"怎么做"更重要
- 从零实现 - 不依赖高级封装,手写每个核心组件
- 可视化辅助 - 用图表建立直觉,用代码验证理解
- 实验驱动 - 每个概念都有可运行的代码示例
- 教给别人 - 用自己的话解释概念,检验真正理解
🗺️ 学习路线图¶
┌─────────────────────────────────────────────────────────────────┐
│ 深度学习学习路线图 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 📖 第一阶段:深度学习基础(4-5周) → 01-基础/ │
│ ├── 01-深度学习概述.md # 什么是DL、发展历史 │
│ ├── 02-神经网络基础.md # 感知机、MLP、前向传播 │
│ ├── 03-激活函数详解.md # ReLU、Sigmoid、Softmax │
│ ├── 04-损失函数与优化.md # 梯度下降、优化器 │
│ ├── 05-反向传播算法.md # 链式法则、自动微分 │
│ ├── 06-正则化技术.md # Dropout、L1/L2 │
│ ├── 07-优化器进阶.md # Adam、学习率调度 │
│ ├── 08-卷积神经网络.md # CNN入门概述 │
│ ├── 09-循环神经网络.md # RNN入门概述 │
│ ├── 10-Transformer架构.md # Transformer入门概述 │
│ └── 🛠️ 实践-手写神经网络/ # 从零实现MLP │
│ └── 里程碑:用NumPy实现完整神经网络 │
│ │
│ 🔧 第二阶段:卷积神经网络CNN(2-3周) → 02-卷积神经网络/ │
│ │ 📌 本阶段侧重:CNN数学原理、架构设计理论、训练技巧原理 │
│ │ 🔗 CV应用方向:图像分类/检测等实战 → ../计算机视觉/05~06章 │
│ ├── 01-卷积神经网络基础.md # 卷积、池化、感受野 │
│ ├── 02-经典CNN架构.md # LeNet到EfficientNet演进 │
│ └── 03-CNN实战与技巧.md # 数据增强、迁移学习 │
│ │
│ 📝 第三阶段:循环神经网络RNN(1-2周) → 03-循环神经网络/ │
│ ├── 01-循环神经网络基础.md # RNN/LSTM/GRU深入 │
│ └── 02-序列建模实战.md # Seq2Seq、文本分类 │
│ │
│ 🚀 第四阶段:Transformer(2-3周) → 04-Transformer/ │
│ ├── 01-注意力机制详解.md # Self-Attention原理 │
│ ├── 02-Transformer架构.md # Encoder-Decoder完整实现 │
│ └── 03-视觉Transformer.md # ViT、DeiT、Swin │
│ │
│ 🎨 第五阶段:生成模型(3-4周) → 05-生成模型/ │
│ ├── 01-GAN基础.md # GAN原理、训练技巧 │
│ ├── 02-VAE基础.md # VAE原理、变分推断 │
│ └── 03-扩散模型基础.md # DDPM、Stable Diffusion │
│ │
│ 🔬 第六阶段:前沿专题(持续) → 06-高级主题/ │
│ ├── 01-模型压缩与加速.md # 蒸馏、剪枝、量化 │
│ │ └─ 🔗 部署优化实践 → ../模型优化/ │
│ ├── 02-自监督学习.md # 对比学习、掩码建模 │
│ ├── 03-图神经网络.md # GCN、GAT、GraphSAGE │
│ ├── 04-神经架构搜索.md # NAS、DARTS │
│ ├── 05-可解释AI.md # Grad-CAM、SHAP、LIME │
│ ├── 06-联邦学习.md # FedAvg、隐私保护 │
│ ├── 07-多模态学习.md # CLIP、视觉-语言模型(理论) │
│ │ └─ 🔗 CV应用 → ../计算机视觉/13-多模态学习.md │
│ ├── 08-强化学习基础.md # DQN、PPO │
│ ├── 09-分布式训练.md # DDP、FSDP、3D并行 │
│ └── 10-神经符号AI与持续学习.md # 神经符号AI、EWC、持续学习、归一化流│
│ │
│ 🛠️ 综合实战 → 实战项目/ │
│ ├── 01-图像分类实战.md # CNN完整项目 │
│ ├── 02-目标检测实战.md # YOLO、Faster R-CNN │
│ ├── 03-文本生成实战.md # 字符级LSTM │
│ └── 04-GAN图像生成实战.md # DCGAN人脸生成 │
│ │
└─────────────────────────────────────────────────────────────────┘
总学习时间:约 20-24 周(每天 2-3 小时)
📁 目录结构¶
深度学习/
├── README.md # 本文件:教程总览
├── 00-学习指南.md # 详细的学习指南和建议
├── 01-数学基础.md # 深度学习数学基础速查
│
├── 01-基础/ # 第一阶段:深度学习基础
│ ├── 01-深度学习概述.md
│ ├── 02-神经网络基础.md
│ ├── 03-激活函数详解.md
│ ├── 04-损失函数与优化.md
│ ├── 05-反向传播算法.md
│ ├── 06-正则化技术.md
│ ├── 07-优化器进阶.md
│ ├── 08-卷积神经网络.md # CNN入门概述
│ ├── 09-循环神经网络.md # RNN入门概述
│ ├── 10-Transformer架构.md # Transformer入门概述
│ └── 实践-手写神经网络/ # 从零实现MLP
│ ├── README.md
│ ├── mlp_numpy.py # 纯NumPy实现
│ └── train.py
│
├── 02-卷积神经网络/ # 第二阶段:卷积神经网络
│ ├── 01-卷积神经网络基础.md
│ ├── 02-经典CNN架构.md
│ └── 03-CNN实战与技巧.md
│
├── 03-循环神经网络/ # 第三阶段:循环神经网络
│ ├── 01-循环神经网络基础.md
│ └── 02-序列建模实战.md
│
├── 04-Transformer/ # 第四阶段:Transformer
│ ├── 01-注意力机制详解.md
│ ├── 02-Transformer架构.md
│ └── 03-视觉Transformer.md
│
├── 05-生成模型/ # 第五阶段:生成模型
│ ├── 01-GAN基础.md
│ ├── 02-VAE基础.md
│ └── 03-扩散模型基础.md
│
├── 06-高级主题/ # 第六阶段:前沿专题
│ ├── 01-模型压缩与加速.md
│ ├── 02-自监督学习.md
│ ├── 03-图神经网络.md
│ ├── 04-神经架构搜索.md
│ ├── 05-可解释AI.md
│ ├── 06-联邦学习.md
│ ├── 07-多模态学习.md
│ ├── 08-强化学习基础.md
│ ├── 09-分布式训练.md
│ └── 10-神经符号AI与持续学习.md
│
├── 实战项目/ # 综合实战
│ ├── 01-图像分类实战.md
│ ├── 02-目标检测实战.md
│ ├── 03-文本生成实战.md
│ └── 04-GAN图像生成实战.md
│
├── 面试准备/ # 面试题集
│ ├── README.md
│ └── 01-深度学习面试题精选50题.md
│
└── 测试用例/ # 测试代码
└── 01-神经网络测试用例.md
🎯 学习路径建议¶
如果你时间有限(每天 1-2 小时)¶
第 1-2 月:完成第一阶段 - 阅读所有理论基础章节 - 完成实践-手写神经网络 - 目标:理解神经网络的工作原理
第 3-4 月:完成第二、三阶段 - 重点学习 CNN 和 RNN - 完成两个实践项目 - 目标:能独立实现常见网络
第 5 月以后:根据兴趣选择 - 想做 NLP/LLM :重点学习第四阶段 Transformer - 想做 CV :深入学习 CNN 进阶和目标检测 - 想做生成式 AI :学习第五阶段生成模型
如果你有较多时间(每天 3-4 小时)¶
第 1 月: - 完成第一阶段所有内容 - 完成手写神经网络项目
第 2 月: - 完成第二、三阶段 - 完成 CNN 和 RNN 项目
第 3 月: - 完成第四阶段 Transformer - 手写完整 Transformer
第 4 月: - 完成第五阶段生成模型 - 实现 GAN 或 VAE
第 5 月以后: - 第六阶段工程实践 - 选择感兴趣的前沿专题深入研究
📖 必读论文¶
基础必读¶
- Perceptron - 感知机 (1958) ⭐
- Backpropagation - 反向传播 (1986) ⭐⭐⭐
- ImageNet Classification with Deep CNN - AlexNet (2012) ⭐⭐⭐
CNN 经典¶
- Very Deep Convolutional Networks - VGG (2014) ⭐⭐
- Deep Residual Learning - ResNet (2015) ⭐⭐⭐
- Batch Normalization - (2015) ⭐⭐⭐
- Dropout - (2014) ⭐⭐
RNN 与序列模型¶
- LSTM - (1997) ⭐⭐⭐
- GRU - (2014) ⭐⭐
- Sequence to Sequence Learning - (2014) ⭐⭐⭐
- Neural Machine Translation with Attention - (2015) ⭐⭐⭐
Transformer 与注意力¶
- Attention Is All You Need - Transformer (2017) ⭐⭐⭐
- BERT - (2018) ⭐⭐⭐
- GPT-3 - (2020) ⭐⭐
- An Image is Worth 16x16 Words - ViT (2020) ⭐⭐⭐
生成模型¶
- Auto-Encoding Variational Bayes - VAE (2013) ⭐⭐⭐
- Generative Adversarial Nets - GAN (2014) ⭐⭐⭐
- Denoising Diffusion Probabilistic Models - DDPM (2020) ⭐⭐⭐
🛠️ 环境准备¶
基础环境¶
# Python 3.10+
python --version
# PyTorch 2.0+ (推荐)
pip install "torch>=2.3,<3" torchvision torchaudio
# 或者 TensorFlow 2.x
pip install "tensorflow>=2.16,<3"
# 其他常用库
pip install numpy matplotlib seaborn tqdm jupyter scikit-learn pandas
推荐 IDE¶
- VS Code + Python 插件
- PyCharm (专业版有教育免费)
- Jupyter Lab (用于实验和可视化)
硬件建议¶
| 任务 | 最低配置 | 推荐配置 |
|---|---|---|
| 理论学习 | CPU 即可 | - |
| 手写神经网络 | 4GB 内存 | 8GB 内存 |
| CNN 训练(CIFAR-10) | 4GB 显存 | 8GB 显存 |
| Transformer 训练 | 8GB 显存 | 16GB 显存 |
| GAN 训练 | 8GB 显存 | 16GB 显存 |
没有 GPU ? - 可以使用 Google Colab 的免费 GPU - 大部分小模型在 CPU 上也能运行(只是慢一些) - 本教程会提供小数据集版本
✅ 学习检查清单¶
第一阶段检查点¶
- 能解释感知机的工作原理
- 能手动计算简单神经网络的前向传播
- 理解为什么需要激活函数
- 能推导反向传播的梯度公式
- 用 NumPy 实现一个可训练的 MLP
- 能独立调试训练过程中的问题
第二阶段检查点¶
- 理解卷积操作的计算过程
- 能计算卷积层的输出尺寸
- 理解池化层的作用
- 能解释 ResNet 的残差连接
- 实现一个完整的 CNN 并训练
- 能使用数据增强提升性能
第三阶段检查点¶
- 理解 RNN 的循环结构
- 能解释 LSTM 的三个门控
- 理解为什么 LSTM 能解决梯度消失
- 理解 Seq2Seq 的编码器-解码器架构
- 实现一个字符级语言模型
- 能生成连贯的文本
第四阶段检查点¶
- 能手写 Self-Attention 的计算过程
- 理解 Multi-Head Attention 的原理
- 能解释位置编码的作用
- 理解 Transformer 的 Encoder 和 Decoder
- 实现完整的 Transformer
- 能训练一个翻译或分类模型
第五阶段检查点¶
- 理解生成模型 vs 判别模型
- 能解释 VAE 的 ELBO
- 理解 GAN 的对抗训练过程
- 知道 GAN 训练的不稳定性原因
- 实现 VAE 或 GAN
- 能生成可识别的图像
第六阶段检查点¶
- 熟练使用 PyTorch 或 TensorFlow
- 能编写完整的训练 pipeline
- 掌握学习率调度和正则化技巧
- 能进行模型调试和性能分析
- 能将模型导出为 ONNX 或 TorchScript
- 部署一个简单的模型服务
🤔 常见问题¶
Q: 我没有深度学习基础,能学懂吗¶
A: 完全可以!本教程从零开始,只要你具备: - Python 基础(你已具备) - 基础数学(线性代数、微积分、概率论基础) - ML 基础(你已具备)
Q: 数学基础不好,能学懂吗¶
A: 可以! - 本教程尽量避免复杂的数学推导 - 关键公式会提供直观解释 - 动手实现比数学证明更重要 - 遇到不懂的数学可以暂时跳过,先建立直觉 - 附录有数学基础速查
Q: 没有 GPU ,可以学习吗¶
A: 完全可以! - 理论学习不需要 GPU - 手写神经网络可以用 CPU - 可以使用 Google Colab 的免费 GPU - 教程会提供小数据集版本
Q: 学习过程中遇到问题怎么办¶
A: 1. 先自己思考 10 分钟 - 这是最重要的 2. 查阅官方文档 - PyTorch/TensorFlow 文档 3. 搜索相关问题 - Stack Overflow, GitHub Issues 4. 打印调试 - 打印中间结果的 shape 和值 5. 简化问题 - 用最小可复现的例子测试 6. 记录问题 - 建立自己的问题集
Q: 需要多长时间才能掌握¶
A: 取决于你的投入: - 每天 1-2 小时: 4-6 个月掌握基础 - 每天 3-4 小时: 2-3 个月掌握基础 - 全职学习: 1-2 个月掌握基础
注意:"掌握"意味着能独立实现和调试,不只是看懂。
Q: 学完这个能做什么¶
A: 你将能够: - 独立实现主流深度学习模型 - 理解和调试训练过程中的问题 - 阅读和理解深度学习论文 - 参与实际的深度学习项目 - 为学习 LLM 、扩散模型等前沿技术打下基础
📝 学习建议¶
1. 建立学习笔记¶
每学完一个概念,用自己的话写下来: - 这个概念是什么? - 为什么需要它? - 它是如何工作的? - 代码如何实现?
2. 画图辅助理解¶
- 画出网络架构图
- 画出数据流图
- 画出计算图
3. 动手实验¶
- 修改超参数观察效果
- 简化模型验证理解
- 可视化中间结果
4. 教给别人¶
- 在博客或笔记中总结
- 向他人解释概念
- 回答别人的问题
5. 参与社区¶
🌟 进阶方向¶
完成本教程后,你可以选择以下方向深入:
计算机视觉¶
- 目标检测: YOLO 系列、 DETR
- 图像分割: Mask R-CNN 、 SAM
- 视频理解: SlowFast 、 Video Transformer
自然语言处理¶
- 大语言模型: GPT 系列、 LLaMA
- 多模态: CLIP 、 LLaVA
- RAG 系统:检索增强生成
生成式 AI¶
- 扩散模型: Stable Diffusion 、 ControlNet
- 视频生成: Sora 、 Video Diffusion
- 3D 生成: NeRF 、 Gaussian Splatting
强化学习¶
- 游戏 AI: AlphaGo 、 AlphaStar
- 机器人: RL for Robotics
- LLM Agent: ReAct 、 Tool Learning
🔗 相关章节¶
前置知识¶
应用方向¶
专项深入¶
工程实践¶
- MLOps 与 AI 工程化 - 模型部署与运维
📜 许可¶
本教程采用 MIT License 开源协议。
欢迎: - 自由使用和修改 - 提交 Issue 和 PR - 分享给更多人
🙏 致谢¶
感谢以下优秀资源对本教程的启发:
- Neural Networks and Deep Learning - Michael Nielsen
- Deep Learning - Goodfellow et al.
- CS231n: Convolutional Neural Networks - Stanford
- CS224n: Natural Language Processing - Stanford
- Andrej Karpathy's Neural Networks: Zero to Hero
- d2l-AI - 动手学深度学习
🚀 开始你的学习之旅¶
准备好了吗?让我们从 00-学习指南 开始!
记住:每一个你亲手解决的 bug ,每一次你独立推导的公式,每一行你手写的代码,都在让你变得更强。
祝学习愉快!🎉
最后更新日期: 2026-02-12 适用版本:深度学习教程 v2026




