DAY-8 深度学习调参技巧
原文连接: https://bbs.cvmart.net/articles/282
-
模型错误率高的原因
- 模型实现中的bug:比如标签错误的问题
- 参数选择不合适:模型对超参数很敏感,学习率太高或太低都不行
- 数据模型不适配:比如你要训练一个自动驾驶图像识别的模型,用ImageNet数据集来训练就不合适
- 数据集的构造问题:没有足够数据、分类不均衡、有噪声的标签、训练集合测试集分布不同
-
深度学习debug流程
-
从简单模型入手
-
成功搭建模型,复现结果
– 常见bug:错误的张量形状;预处理输入错误;损失函数错误输入;忘记设置正确的训练模型;错误的数据类型
– 建议:减少代码行数、使用现成的组件,再构建复杂的数据pipeline
– 数据类型错误是由于没有把其他类型数据转化成float32,内存不足是因为张量或者数据集太大
-
分解偏差各项,逐步拟合数据
– 从错误率评估性能:测试集错误率 = 错误率下限 + 偏移 + 方差 + 分布偏差 + 验证集过拟合
-
用由粗到细随机搜索优化超参数
-
如果欠拟合,则增大模型,减少正则化调节超参数,加入更多特征;若过拟合,则添加数据或调整
-