调参就是调整超参数,使模型的表达能力达到最大程度
实际调参案例
调参过程中要观察训练集损失函数和验证集损失函数和验证集的准确率。
当训练集损失函数降到一定程度不再降低时(不是固定值,是在一定区间内),可能是因为学习率过大导致的震荡,可以降低学习率。
当训练集损失函数很小验证集损失函数很大时,可能是过拟合,应该停止迭代。
train loss与test loss结果分析:
神经网络训练loss不下降原因集合
如何解决神经网络训练时loss不下降的问题
当验证集的准确率在若干epoch后没有增长,可能是过拟合,应该停止epoch。
train loss 不断下降,test loss不断下降,说明网络仍在学习;
train loss 不断下降,test loss趋于不变,说明网络过拟合;
train loss 趋于不变,test loss不断下降,说明数据集100%有问题;
train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,欠拟合,模型有问题或数据集有问题或者正则化过度、或者需要减小学习率或批量数目;
train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题。
常见的调参有:
lr
weight decay(L2正则化): L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。
权重衰减(weight decay)与学习率衰减(learning rate decay)
momentum:要是当前时刻的梯度与历史时刻梯度方向相似,这种趋势在当前时刻则会加强;要是不同,则当前时刻的梯度方向减弱。
深度学习Momentum(动量方法)
深度学习中momentum的作用
优化器
batch_size
epoch