【问题标题】:How to deal with the randomness of NN training process?如何处理NN训练过程的随机性?
【发布时间】:2019-06-07 05:07:34
【问题描述】:

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

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

2) 如果是这样,那么使用在之前的训练和验证中找到的最佳超参数再次训练 NN 将再次为我们提供最佳模型的保证在哪里?

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

【问题讨论】:

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


【解决方案1】:

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

另一个原因,当你说 mini-batch 时,至少有一些样本可以泛化这些样本,错误率可能会有波动,但至少它可以给我们一个局部解决方案。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2020-04-28
    • 1970-01-01
    相关资源
    最近更新 更多