如何处理NN训练过程的随机性?

时间:2019-01-12 14:53:11

标签: neural-network deep-learning mini-batch

考虑使用小批量梯度下降法进行深层FF神经网络的训练过程。据我了解,在训练的每个时期,我们都会有不同的随机小批集。然后遍历所有小批量并计算NN参数的梯度,我们将在每次迭代时获得随机梯度,因此将获得模型参数的随机方向,以最小化成本函数。假设我们固定了训练算法的超参数,一次又一次地开始训练过程,然后最终得到的模型彼此完全不同,因为在这些训练中,模型参数的变化是不同的。

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

2)如果是这样,那么在以前的训练和验证中发现的最佳超参数再训练一次NN的保证又又将为我们提供最佳模型的保证在哪里呢?

3)是否有可能找到这样的超参数,它们总是可以产生最佳模型?

1 个答案:

答案 0 :(得分:0)

神经网络正在解决一个优化问题,只要它在正确的方向上计算梯度但可以是随机的,就不会损害其泛化数据的目标。它可能会陷入局部最优状态。但是有很多好的方法,例如Adam,RMSProp,基于动量的方法等,可以通过它来实现其目标。

另一个原因,当您说微型批量生产时,至少有一些样本可以将其泛化为那些样本,错误率可能会有波动,但至少可以给我们局部解决方案。 / p>

即使在每次随机抽样中,这些小批量样本也具有不同的2个样本,这有助于对整个分布进行很好的概括。

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