查询RNN的不稳定损失曲线
数据挖掘
rnn
火炬
顺序
2022-02-21 18:36:40
1个回答
可能有一些其他因素会影响这一点,例如使用模拟退火(在NN 上下文中)或其他学习率计划。您是否使用特定的 LR 计划?
一个时间表可能是 LR 减少 50%,每次连续 5 个 epoch 的验证损失没有减少。这将有助于越来越接近最小的损失。但是,我们知道有可能会陷入局部最小值,这可能远非最优,因此我们可以通过再次增加 LR 来改变现状,这实际上会使算法陷入局部最小值并继续前进到一个新的最小值(至少这是希望)。这种时间表通常会产生像你看到的那样的损失曲线。
另一种选择很简单,即您的批次大小非常小,并且每隔一段时间,您就会得到一个批次,其中包含您的模型真正难以处理的示例,因此该批次(以及时代)的损失与其他时代。
最后一个想法 - 更多地考虑您的数据 - 如果它是时间序列,例如股票价格或天气 - 可能会发生政权更迭/转变。意味着底层功能或系统突然切换到新模式。这样的事情可能会使您的模型暂时失去气味,从而在损失曲线上产生颠簸。
关于术语的一点:LSTM 和 GRU 架构本身就是 RNN。循环网络是这样一种网络,其中连接不仅在网络中向前移动,而且还可以横向跨层或向后移动。所以它是一个更通用的术语,而 LSTM/GRU 层是 RNN 的具体示例。
如果您可以对您的三个模型架构多说一点,也许使用哪个名称可能会更清楚 - 甚至可能更好地理解这些损失曲线:-)


