阐明循环神经网络

数据挖掘 rnn
2022-02-14 07:11:24

我刚开始学习和理解循环神经网络。据我所知,它的多个前馈神经网络在每一层都有一个神经元彼此相邻,并从左到右连接,其中每个神经元不仅与它下面的神经元连接,而且与它下面的神经元连接。上次的左边。不确定这是否是一种正确的思考方式,但到目前为止,这是我的第一印象。

不过有些事情还不清楚。

  1. 据我了解,每个时间步的最终输出应该预测下一个时间步的输入。这是真的?如果我只想向网络显示例如一匹马的两张图像,并根据它们预测它走了多远以及朝哪个方向,该怎么办?这可能吗?

来自 https://towardsdatascience.com/the-most-intuitive-and-easiest-guide-for-recurrent-neural-network-873c29da73c7

  1. 在上图中,有从哪里?我假设至少需要两个时间步才能进行预测,因此据我了解,图表左侧缺少我对吗?A0x0

  2. 我一直在阅读一篇文章,上面写着“让我们训练一个具有 512 个隐藏节点的 2 层 LSTM”。这是否意味着两层激活和 512 个时间步长?

1个回答

据我所知,它的多个前馈神经网络在每一层都有一个神经元彼此相邻,并从左到右连接,其中每个神经元不仅与它下面的神经元连接,而且与它下面的神经元连接。上次的左边。

并不真地。图像中的每个青色框都代表完全相同的单元格。现在这个单元可以是很多东西,只要看看 LSTM 单元(h 和 c 代表你的 A),但它也可以是一个以作为输入并返回作为输出。AiXi+1Ai+1Yi+1

  1. 如果 RNN 试图预测例如时间序列,这可能是正确的。要训​​练这样一个网络,您将提供该系列作为训练输入和相同的时间序列,但在下一步中作为输出(因此它将尝试基于但总的来说,这不是真的。输出可能是完全不同的格式,并且代表完全不同的东西,就像在你的例子中一样。在您的示例中,您的是编码的第 i 帧,而是网络认为马行进的距离直到第 i 帧。Xi+1j[1;i)XjXiYi
  2. A0是 RNN 的起始状态。它究竟是什么取决于所使用的确切架构,但通常将其全部设置为零。我们需要这个起始状态,因为正如我提到的,在每个循环步骤中使用相同的单元格,因此必须在开始时提供一些东西作为网络状态。没有丢失。此外,没有什么可以阻止您根据长度为 1 的序列进行预测。只是在这种情况下使用 RNN 没有用。X0
  3. 采取的时间步数取决于数据 - 而不是网络。您可以在长度为 512、2 和 200 万的序列上使用相同的网络。这就是为什么它们通常用于解决语音识别等长度不同的问题。LSTM 与普通神经网络一样具有权重。您可以将这 512 个隐藏节点视为单元中隐藏层的大小。使用两层 LSTM 意味着使用两个具有 512 个节点的 LSTM,并使用第一个的输出作为第二个的输入。第二个 LSTM 的输出是 2 层 LSTM 的输出。