深度学习学习笔记
Nov 12, 2024·
·
1 min read
Chenchen Liu
深度学习学习笔记
1. 深度学习概念概览
- 深度学习属于机器学习的分支,基于多层神经网络。
- 核心目标:通过多层非线性变换自动学习特征表示。
- 深层模型相比手工特征更具表达能力,但训练更依赖数据和计算资源.
2. 神经网络基础
2.1 神经元与计算
- 神经元计算公式:
\( y = f(Wx + b) \)
其中 \(f\) 为激活函数(ReLU、Sigmoid 等)
2.2 激活函数
- ReLU:解决梯度消失问题,训练快。
- Sigmoid / Tanh:用于概率输出或特定场景。
- Softmax:用于多分类。
2.3 损失函数
- 分类:交叉熵(Cross Entropy)
- 回归:均方误差(MSE)
- 损失函数用于衡量模型输出与真实标签之间的差距。
2.4 反向传播与优化器
- 反向传播利用链式法则计算梯度。
- 常见优化器:
- SGD
- Adam(自适应学习率)
3. 常见网络结构
3.1 全连接网络(MLP)
- 结构简单,多用于结构化数据或作为其它模型的基础单元。
3.2 卷积神经网络(CNN)
- 特点:局部感受野、权重共享。
- 应用:图像分类、检测、分割。
- 经典结构:LeNet、AlexNet、VGG、ResNet。
3.3 循环神经网络(RNN / LSTM / GRU)
- 用于处理序列数据(文本、时间序列)。
- LSTM/GRU 解决普通 RNN 的梯度消失问题。
3.4 Transformer
- 使用自注意力机制,捕捉任意位置的依赖关系。
- 并行计算效率高,现为 NLP 和 Vision 的主流架构。
- 常见模型:BERT、GPT、ViT。
4. 深度学习训练流程
- 准备数据
- 定义模型结构
- 定义损失函数
- 前向传播计算输出
- 反向传播计算梯度
- 使用优化器更新参数
- 在验证集评估效果
- 调整超参数并迭代训练
5. 训练常见问题及解决策略
5.1 过拟合
- 现象:训练集准确率高,验证集低。
- 解决:
- 正则化(L2)
- Dropout
- 数据增强
- 使用更小的模型
5.2 梯度消失 / 梯度爆炸
- 解决:
- 使用 ReLU
- 残差连接(ResNet)
- 梯度裁剪
5.3 学习率问题
- 学习率过大:训练震荡
- 学习率过小:训练很慢且可能陷入局部最优
- 常用策略:学习率衰减、余弦退火、warmup
6. 参数量、计算量与显存
- 参数量影响模型容量与存储需求。
- FLOPs(浮点运算量)影响计算成本。
- 显存与 batch size 密切相关。
- 混合精度训练(FP16/BF16)可减少显存并加速训练。
7. 深度学习的主要应用领域
- NLP(文本分类、机器翻译、对话系统)
- CV(图像分类、目标检测、语义分割)
- 多模态(图文、图像生成、视频理解)
- 时间序列预测(金融、天气、传感器)
8. 学习路径建议
- 数学:线性代数、概率统计、微积分
- 基础编程:Python
- 框架:PyTorch
- 实践:MNIST → CIFAR → Bert → Transformer
- 论文阅读:经典模型结构与优化方法