gpt4 book ai didi

machine-learning - LSTM 中使用多少次展开有关系吗?

转载 作者:行者123 更新时间:2023-11-30 08:36:20 25 4
gpt4 key购买 nike

我不明白为什么展开的数量(即在训练或预测期间一次考虑的时间步数)在 LSTM 中非常重要。无论展开/时间步数是 1 还是 100,LSTM 状态在每个时间步都会发生突变。这仅仅是像常规前馈神经网络中随机梯度下降与小批量梯度下降之间的区别吗?

  • 假设您有 100,000 个有序训练示例。您可以按顺序一次训练一个示例。

  • 假设在预测时,您有一个包含 10 个单词的“句子”(例如),并且您想要预测第 11 个单词。您可以在展开的网络中一次向 LSTM 提供 10 个单词,也可以一次向 LSTM 提供一个单词,然后观察第 10 个单词之后的预测。我怀疑,如果我们试图预测不同长度句子的下一个单词,那么一次一个示例网络将会出现问题(因为理想情况下,我们会在不同句子的预测之间重置短期内存),但是我对此非常模糊,希望回答者能提供任何见解。

最佳答案

展开仅针对训练定义。在评估过程中,没有展开这样的事情,您只需输入数据并保持隐藏状态。然而,对于训练来说,它却有着巨大的效果。为了更好地理解这一点,让我们看一下下面的展开 3 的图。

                       UPDATE
|
v
LSTM_t-LSTM_t+1-LSTM_t+2 LSTM_t+3-LSTM_t+4-LSTM_t+5 ....
| | | | | |
x_t x_t+1 x_t+2 x_t+3 x_t+4 x_t+5

在反向传播期间,LSTMt+3 和 LSTMt+2 之间没有信号,因为前向循环中使用的参数有已经更新了。为了获得来自 LSTMt+3 和 LSTMt+2 的信息“流”,您必须存储 xt+2内存中以便能够计算偏导数,但是没有流向 LSTMt+1,因此内存中还需要 xt+1,并且很快。另一方面,较长的展开可能会使梯度流动变得困难,从而引起问题。

这是一个比决定批量大小更大的问题:在这里,您实际上正在处理一种情况下缺乏学习信号的情况,而在另一种情况下可能需要更困难的训练。此外,在许多应用中,你根本无法展开直到序列结束,因为某些序列可能是无限的,或者需要对模型进行其他操作(例如在 RL 中,一方面适合模型,但另一方面) ,另一方面,您使用完全相同的模型来收集新数据)。

关于machine-learning - LSTM 中使用多少次展开有关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41942707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com