深度学习-通用模型调试技巧

欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群;输入关键字“最新活动”,获取华为云最新特惠促销。华为云诸多技术大咖、特惠活动等你来撩!

改善模型的步骤:

1、根据人类表现估计贝叶斯最优错误率。

贝叶斯最优错误率是理论上可能达到的最优错误率,也就是说没有办法设计出一个x到y的函数,让它能比这个最优错误率还低。比如一个猫狗识别训练集中有些图片确实很模糊,无论是人还是机器都无法判断某张图的类别,那么最优错误率就不可能是0。估计人类在某个数据集上的表现,是为了了解该数据的准确率上限是多少,以此判断模型的准确率还差多远。

2、训练时每隔一定步数记录一次训练集错误率和验证集错误率,一直训练,直到在训练集上的错误率不再下降,停止训练;

3、计算贝叶斯错误率与训练错误率之差,该差值称为模型偏差,计算训练错误率与验证错误率之差,该差值称为模型方差,将训练时记录的训练集错误率和验证集错误率绘制成曲线,分析下一步应该调小模型的偏差还是方差,假设偏差是10%、方差是3%,那么应该优先降低偏差,在偏差较小之后再去考虑降低方差。

4、减少偏差的方法有:(有可能是欠拟合了)

(1)更好的优化算法,如mometum、RMSprop、Adam;

(2)更好的超参数,如降低学习率、减弱正则化;

(3)改变激活函数;

(4)增加隐藏节点数;

(5)增加层数;

(6)使用新的网络架构。

5、减少方差的方法有:(有可能是过拟合了)

(1)使用更多的训练数据或数据增广;

(2)使用正则化,如L1、L2、dropout;

(3)超参搜索;

(4)使用新的网络架构。

减少偏差和方差的可调试项解释如下表所示:

6、如何训练集错误率可接受了,与验证集错误率相差也不大了,接下来可以分析在测试集上的错误率,最好是对每张预测出错的图进行分析,总结模型出错的原因,对错误类型进行分类归纳,再决定下一步调试模型的计划。

调参技巧持续更新中...

来源:华为云社区 作者:duqi

原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165621.html