楼主

71发表于 2019-12-09 09:20:03
只看该作者楼主

【综合】深度学习-通用模型调试技巧 [复制链接]

改善模型的步骤:

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


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

举报
发表于 2019-12-09 09:25:12
只看该作者沙发

赞一个

举报

您需要登录后才可以回帖

登录注册
发表回复