Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neural network 损失停止减少时RNN模型训练的一般规则_Neural Network_Deep Learning_Torch_Recurrent Neural Network - Fatal编程技术网

Neural network 损失停止减少时RNN模型训练的一般规则

Neural network 损失停止减少时RNN模型训练的一般规则,neural-network,deep-learning,torch,recurrent-neural-network,Neural Network,Deep Learning,Torch,Recurrent Neural Network,我有一个RNN模型。在大约10K次迭代之后,损耗停止下降,但损耗还不是很小。这是否总是意味着优化被困在局部极小值中 总的来说,我应该采取什么行动来解决这个问题?添加更多培训数据?是否更改不同的优化方案(SGD)?还是其他选择 非常感谢 JC如果您正在使用基于梯度向量的算法(如反向传播或弹性传播)训练神经网络,当它找到局部最小值时,它可能停止改进,并且由于这种fo算法的性质,它是正常的。在这种情况下,传播算法用于搜索(梯度)向量指向的对象 作为建议,您可以在培训期间添加不同的策略,以探索搜索空间,

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

总的来说,我应该采取什么行动来解决这个问题?添加更多培训数据?是否更改不同的优化方案(SGD)?还是其他选择

非常感谢


JC

如果您正在使用基于梯度向量的算法(如
反向传播
弹性传播
)训练神经网络,当它找到局部最小值时,它可能停止改进,并且由于这种fo算法的性质,它是正常的。在这种情况下,传播算法用于搜索(梯度)向量指向的对象

作为建议,您可以在培训期间添加不同的策略,以探索搜索空间,而不是仅搜索。对于样本,使用
遗传算法
模拟退火
算法。这些方法将提供对可能性的探索,并能找到全球最小值。您可以为传播算法的每200次迭代执行10次迭代,从而创建一个混合策略。对于示例(它只是一个伪代码):

int epochs=0;
做
{
火车();
如果(纪元%200==0)
trainigexplorativeapproach();
时代++;
}而(年代<10000);
我在
分类
回归
问题中使用
多层感知器
埃尔曼回归神经网络
开发了一种类似的策略,这两种情况下,混合策略都比单一传播训练提供了更好的结果

int epochs = 0;
do
{
   train();

   if (epochs % 200 == 0)
      traingExplorativeApproach();

   epochs++;
} while (epochs < 10000);