如何处理神经网络训练过程的随机性



考虑使用小批量梯度下降的深度FF神经网络的训练过程。据我所知,在训练的每个阶段,我们都有不同的随机小批量。然后在所有小批量上迭代并计算NN参数的梯度,我们将在每次迭代时获得随机梯度,从而获得模型参数的随机方向,以最小化成本函数。让我们想象一下,我们固定了训练算法的超参数,并一次又一次地开始训练过程,然后我们会得到完全不同的模型,因为在这些训练中,模型参数的变化是不同的。

1) 当我们使用这种基于随机的训练算法时,情况总是这样吗?

2) 如果是这样的话,用之前的训练和验证中发现的最佳超参数再次训练NN将再次为我们带来最佳模型的保证在哪里?

3) 有没有可能找到这样的超参数,它总是会产生最好的模型?

神经网络正在解决一个优化问题,只要它在正确的方向上计算梯度,但可以是随机的,就不会损害它对数据进行泛化的目标。它可能陷入局部最优。但也有许多好的方法,如Adam、RMSProp、动量法等,可以达到它的目的。

另一个原因是,当你说小批量时,至少有一些样本可以推广到这些样本上,错误率可能会有波动,但至少它可以给我们一个局部解决方案。

甚至,在每次随机抽样时,这些小批量都有不同的-2样本,这有助于很好地概括整个分布。

对于超参数选择,您需要对看不见的数据进行调整和验证结果,并没有直接的方法来选择这些数据。

相关内容

  • 没有找到相关文章

最新更新