Introduction
目的:
快速 有效 地 拟合 。
手段:
随机批处理、学习率、批规范化、模型优化算法、迁移学习。
随机批处理(batch)
随机批处理,mini-batch,一种 在模型每轮 (epoch) 训练进行前将训练数据集随机打乱 (shuffle) 的 训练机制。
可以防止 被模型猜到 “出样本顺序” 。
作用:
防 过拟合 。
合理的学习率(lr)
学习率,learning rate,控制模型的 学习进度 。
在训练过程中,根据训练轮数,合理设置动态变化的学习率:
- 刚开始训练时:学习率以 0.01 ~ 0.001 为宜。
- 一定轮数过后:逐渐减缓。
- 接近训练结束:学习速率的衰减应该在100倍以上。
Note:
如果是 迁移学习 ,由于模型已在原始数据上收敛,此时应设置较小学习率 (
≤
1
0
−
4
\leq 10^{-4}
≤10−4) 在新数据上进行 微调 。
作用:
防止 欠拟合/过拟合/拟合慢 。
批规范化(bn)
批规范化,batch normalization,即著名的BN操作。
对应网络模型中的 BN层 ,一般置于 激活函数 之后,池化层 之前 。
计算批处理数据的 均值 和 方差,据此对该批数据做 规范化 ,并进行 缩放 和 平移 。
作用:
-
缩小输入空间,从而降低调参难度;
-
防止梯度爆炸/消失,从而加速网络收敛。
影响:
- 该质优价廉的设计目前几乎成了CNN标配。
具体见 深度学习: Batch Normalization (归一化)
模型优化(optimizer)
优化算法 类型 包括 一阶优化法 和 二阶优化法。
一阶优化法较为常见,包括:
随机梯度下降法、基于动量的随机梯度下降法、Nesterov型动量随机下降法、Adagrad法、Adadelta法、RMSProp法、Adam法。
具体见 深度学习: 模型优化算法 。
迁移学习(transfer learning)
在已经预训练好的模型上进行 微调 。
优势:
- 高效快捷。
目前,大部分的模型训练都是 迁移学习 ,已经很少有人从头开始新训练一个模型了。
具体见 深度学习: 迁移学习 (Transfer Learning) 。