神经网络模型优化的常用方案(模型参数方面)

1、增加(减少)隐藏层的复杂度,如增加隐藏层数,调整隐藏层的神经元个数,或者在隐藏层使用更加复杂的网络结构,如CNN、RNN、LSTM、GRU或者增加Attention层等等;

2、添加Dropout层,使用Dropout的原理优化网络参数,防止过拟合;

3、尝试不同的优化器,常用的优化器包括SGD、Adam、RMSprop(动量相关);

4、增加迭代次数,一般为了快速检验模型效果训练次数比较少,优化过程中可以增加训练次数;

5、调整优化器的学习率,学习太小会造成模型收敛速度下降,还有可能求出的是局部最优解,训练模型时的损失函数下降慢;学习率过大会引起模型无法到达最优解,在最优解附近来回跳转,但是一般情况下学习率并不是一成不变的,而是随着模型的训练在优化;

6、增加批处理的大小,采用批处理的方式训练数据时每个batch的数据进行一次反向传播,更新参数,所以每个batch的数据分布对模型训练有着一定的影响,调整batch_size的大小,对模型优化有一定的作用;

7、正则化,可以优化模型太过复杂而引起运行时间过长的问题,也可以在一定程度上防止模型过拟合。(过拟合也就是模型把训练数据的内部关系都记下来了,在训练集损失函数很小,但是在测试集上损失函数开始增大,也就是在测试集上的效果开始下降)

 

你可能感兴趣的:(神经网络模型优化的常用方案(模型参数方面))