05 - 深度学习基础与CNN¶
📌 导航提示:本章从机器学习视角提供深度学习概述。详细深度学习教程请参考
深度学习/目录(含基础、CNN、RNN、Transformer、生成模型、高级主题等完整内容)。
🧠 深度学习在ML体系中的定位¶
深度学习是机器学习的子领域,核心区别在于表示学习——模型自动从原始数据中学习特征层次,而非依赖人工特征工程。
Text Only
机器学习体系:
├── 传统ML (需要手工特征工程)
│ ├── 线性模型、SVM、决策树、集成学习...
│ └── 适合: 表格数据、中小数据集、可解释性需求高
└── 深度学习 (自动特征学习)
├── CNN、RNN、Transformer...
└── 适合: 图像、文本、语音等非结构化数据
⚖️ 深度学习 vs 传统ML:选型决策框架¶
| 维度 | 传统ML (SVM/RF/XGBoost) | 深度学习 (CNN/RNN/Transformer) |
|---|---|---|
| 数据类型 | 结构化/表格数据 | 图像/文本/语音/序列 |
| 特征工程 | 手工设计,领域知识驱动 | 自动学习,端到端训练 |
| 数据需求 | 中小数据集即可 | 通常需要大量数据 |
| 计算资源 | CPU即可 | 通常需要GPU |
| 可解释性 | 较好(树模型、线性模型) | 较差(黑盒) |
| 训练时间 | 分钟到小时 | 小时到天 |
| 表格数据 | ✅ 通常更优(XGBoost) | ❌ 无明显优势 |
| 图像/语音 | ❌ 依赖手工特征 | ✅ 显著优势 |
🔑 何时选择深度学习?¶
- ✅ 数据量充足(万级以上样本)
- ✅ 非结构化数据(图像、文本、音频)
- ✅ 端到端学习比手工特征更有效
- ✅ 预训练模型可迁移(迁移学习降低数据需求)
🔑 何时选择传统ML?¶
- ✅ 结构化/表格数据(XGBoost/LightGBM通常更优)
- ✅ 数据量有限(千级以下样本)
- ✅ 可解释性要求高(金融、医疗)
- ✅ 计算资源受限
🔧 核心概念快速回顾¶
关键机制一览¶
| 概念 | 核心思想 | 作用 |
|---|---|---|
| 反向传播 | 链式法则逐层计算梯度 | 实现参数的自动更新 |
| 梯度下降 | 沿损失函数梯度方向更新参数 | 优化算法的基础 |
| 激活函数 | 引入非线性(ReLU最常用) | 使网络能拟合复杂函数 |
| 正则化 | Dropout、BatchNorm、权重衰减 | 防止过拟合 |
| 学习率调度 | 动态调整学习率 | 稳定训练、提升收敛 |
主流架构速查¶
| 架构 | 适用场景 | 核心创新 |
|---|---|---|
| CNN | 图像、空间数据 | 局部感受野 + 权重共享 |
| RNN/LSTM | 序列数据、时序 | 循环结构 + 门控机制 |
| Transformer | NLP、多模态 | 自注意力 + 并行计算 |
| GAN | 图像生成 | 生成器-判别器对抗 |
| AutoEncoder | 降维、去噪 | 编码器-解码器重建 |
📖 详细学习路径:各架构的原理、实现与实战请参考
深度学习/目录: - 基础理论 →深度学习/01-foundation/- CNN详解 →深度学习/02-CNN/- RNN详解 →深度学习/03-RNN/- Transformer →深度学习/04-Transformer/- 生成模型 →深度学习/05-生成模型/
📋 面试要点¶
- 深度学习 vs 传统ML的本质区别是什么? → 自动特征学习(表示学习)vs 手工特征工程
- 梯度消失/爆炸的原因和解决方案? → Sigmoid饱和区梯度趋零;解决:ReLU、残差连接、BatchNorm、梯度裁剪
- 为什么表格数据XGBoost常优于深度学习? → 树模型天然适合异构特征、不需要大量数据、对特征缩放不敏感
- Dropout的原理及训练/推理区别? → 训练时随机丢弃神经元(集成效果),推理时关闭并缩放权重
✏️ 练习¶
- 决策框架应用:给定5个真实场景(医疗影像分类、银行欺诈检测、语音识别、客户流失预测、自动驾驶),分析每个场景应选择传统ML还是深度学习,并说明理由。
- 对比实验:使用同一数据集(如MNIST),分别用随机森林和简单CNN训练,对比准确率、训练时间、推理速度,理解两种范式的实际差异。
📖 下一步学习:06-实践指南.md | 深度学习详细内容 →
深度学习/