神经网络中超参数的选择"/>
神经网络中超参数的选择
超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。
首先需要知道的是并不存在适用于所有场景的超参数,不同的数据集、模型适用的超参数可能不同,因此我们需要尝试不同的超参数,然后得到最优。
超参数的分类:
一般可以将超参数分为两类:
-
优化器超参数:包括学习率、minn_batch大小、迭代的epoch次数;
-
模型超参数:包括网络层数和隐藏层单元数。
下面开始介绍各个超参数如何在实践中进行选择。
1. 学习率:
学习率是一个比较重要的超参数。即便是将别人构建的模型用于自己的数据集,也可能需要尝试多个不同的学习率。如何选择正确的学习率?学习率太小,会导致收敛太慢,需要很多的epoch才能到达最优点;而太大会导致越过最优点。比较常见的做法是从0.1开始,然后不断倍率减小进行尝试,例如
在实践中,往往会绘制出损失函数E随权重变化的函数来确定如何调整超参数。
如果训练误差在缓慢 减小,并且训练完成后仍在减小,可以尝试增大学习率。
如果训练误差在增加,不妨试试减小学习率。
比较好的做法是使学习率能够自适应调整大小,从而达到最优解。例如:学习率衰减,这么做的方式是线性降低学习率,例如每五个epoch学习率减半:
更多推荐
神经网络中超参数的选择
发布评论