深度学习(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 torchvision torchaudio
# 或者 TensorFlow 2.x
pip install tensorflow
# 其他常用库
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




