【问题标题】:General rules for training the RNN model when loss stops decreasing损失停止减少时训练 RNN 模型的一般规则
【发布时间】:2016-04-04 15:25:32
【问题描述】:

我有一个 RNN 模型。大约 10K 次迭代后,损失停止下降,但损失还不是很小。这是否总是意味着优化被困在局部最小值中?

一般来说,我应该采取什么措施来解决这个问题?添加更多训练数据?更改不同的优化方案(现在是 SGD)?还是其他选项?

非常感谢!

JC

【问题讨论】:

    标签: neural-network deep-learning torch recurrent-neural-network


    【解决方案1】:

    如果您正在使用基于梯度向量的算法(例如 Back PropagationResilient Propagation)训练您的神经网络,它会在找到局部最小值时停止改进,并且由于这种算法的性质,这是正常的。在这种情况下,传播算法用于搜索(梯度)向量指向的内容。

    作为建议,您可以在训练期间添加不同的策略来探索搜索空间,而不是仅进行搜索。例如,Genetic AlgorithmSimulated Annealing 算法。这些方法将提供对可能性的探索,并且可以找到全局最小值。您可以为传播算法的每 200 次迭代实施 10 次迭代,从而创建混合策略。示例(它只是一个伪代码):

    int epochs = 0;
    do
    {
       train();
    
       if (epochs % 200 == 0)
          traingExplorativeApproach();
    
       epochs++;
    } while (epochs < 10000);
    

    我在classificationregressions 问题中使用Multi-Layer PerceptronsElman recurrent neural network 开发了这样的策略,在这两种情况下,混合策略提供了比单一传播训练更好的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-18
      • 2019-08-18
      • 1970-01-01
      • 2020-01-04
      • 2018-12-15
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多