跳转至

深度学习(Deep Learning)系统学习教程

写给每一个想真正理解深度学习的人:如果你厌倦了只会调用API,想从零开始建立对深度学习的深刻理解——这份教程就是为你准备的。


📚 教程简介

这是一个从零开始、循序渐进的深度学习学习教程。我们不追求面面俱到,而是专注于建立真正的理解培养独立实现的能力

深度学习知识体系

学习理念

  1. 先理解原理,再写代码 - 知道"为什么"比知道"怎么做"更重要
  2. 从零实现 - 不依赖高级封装,手写每个核心组件
  3. 可视化辅助 - 用图表建立直觉,用代码验证理解
  4. 实验驱动 - 每个概念都有可运行的代码示例
  5. 教给别人 - 用自己的话解释概念,检验真正理解

🗺️ 学习路线图

Text Only
┌─────────────────────────────────────────────────────────────────┐
│                        深度学习学习路线图                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  📖 第一阶段:深度学习基础(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小时)

深度学习路线图


📁 目录结构

Text Only
深度学习/
├── 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月以后: - 第六阶段工程实践 - 选择感兴趣的前沿专题深入研究


📖 必读论文

基础必读

  1. Perceptron - 感知机 (1958) ⭐
  2. Backpropagation - 反向传播 (1986) ⭐⭐⭐
  3. ImageNet Classification with Deep CNN - AlexNet (2012) ⭐⭐⭐

CNN经典

  1. Very Deep Convolutional Networks - VGG (2014) ⭐⭐
  2. Deep Residual Learning - ResNet (2015) ⭐⭐⭐
  3. Batch Normalization - (2015) ⭐⭐⭐
  4. Dropout - (2014) ⭐⭐

RNN与序列模型

  1. LSTM - (1997) ⭐⭐⭐
  2. GRU - (2014) ⭐⭐
  3. Sequence to Sequence Learning - (2014) ⭐⭐⭐
  4. Neural Machine Translation with Attention - (2015) ⭐⭐⭐

Transformer与注意力

  1. Attention Is All You Need - Transformer (2017) ⭐⭐⭐
  2. BERT - (2018) ⭐⭐⭐
  3. GPT-3 - (2020) ⭐⭐
  4. An Image is Worth 16x16 Words - ViT (2020) ⭐⭐⭐

生成模型

  1. Auto-Encoding Variational Bayes - VAE (2013) ⭐⭐⭐
  2. Generative Adversarial Nets - GAN (2014) ⭐⭐⭐
  3. Denoising Diffusion Probabilistic Models - DDPM (2020) ⭐⭐⭐

🛠️ 环境准备

基础环境

Bash
# 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

🔗 相关章节

前置知识

应用方向

专项深入

工程实践


📜 许可

本教程采用 MIT License 开源协议。

欢迎: - 自由使用和修改 - 提交Issue和PR - 分享给更多人


🙏 致谢

感谢以下优秀资源对本教程的启发:


🚀 开始你的学习之旅

准备好了吗?让我们从 00-学习指南 开始!

记住:每一个你亲手解决的bug,每一次你独立推导的公式,每一行你手写的代码,都在让你变得更强。

祝学习愉快!🎉


最后更新日期:2026-02-12 适用版本:深度学习教程 v2026