了解 RNN 中的输入参数

Understanding the Input Parameters in RNN

我很难理解 RNN 中使用的不同 "jargons"。它们是: batch_sizetime_stepsinputsinstances.

说说我对每个输入参数的理解,不对的地方请指正。 假设我有一个数字序列,我想预测下一个数字。数字如下: [1,2,3,4,5,....,100]

time_steps:这个参数表示RNN在预测未来之前会回顾过去多远。为简单起见,我想提前预测 1 个数字。并且想在我看到10个数字过去之后做。因此,在这种情况下,time_steps 将为 10。

inputs:这些是每个 time_steps 处的值。首先 time_step (t) inputst0: [1]

t1: [2]

.
.
.

t10: [10]`

batch_size:这有助于RNN模型的高效计算。假设我的 batch_size 是 2。在那种情况下,在 time_step 2,RNN 输入将是

t0: [1]
t0: [11]

instances有什么用呢?例如。在此 post 中使用了实例。并且有多种情况使用 instances。这是否意味着批处理中的每个循环?例如。有 5 个批次,每个批次大小为 2。然后会有 5 instances.

请帮我纠正一下我的理解。

谢谢!

好的朋友,你学习了这些概念。我很难正确地学习那些。你所知道的一切似乎都是有序的,至于 "instances"。它们基本上是一组数据。 "instances" 在深度学习社区中没有固定的用法。有些人用它来引用不同的数据集或数据批次。我很少在报纸上听到它。

batch_size

批量大小,一般来说,表示从实验数据集构建的小批量的大小。因为在深度学习中,我们需要做大量的计算,所以我们最好考虑小批量操作,因为那时 GPU 的使用是值得的。

time_steps

由于 RNN 采用顺序输入,因此输入序列中每个元素的索引可以称为该序列的时间步长。例如,如果 [1,2,3,4,5,....,100] 是一个序列,则序列中每个元素的索引是一个时间步长。

输入

inputs这个词有更广泛的含义,所以我不确定我的定义是否正确。根据我的理解,RNN 的输入是指在每个时间步提供给 RNN 的单独输入。例如,在 [1,2,3,4,5,....,100] 中,每个元素都是 RNN 在特定时间步的输入。

但是抽象的说,如果有人问,你的深度神经模型的输入是什么?你可以说,它是英文句子或图像或音频剪辑或视频等。简而言之,术语的含义 inputs 取决于上下文。

实例

instances,一般指数据集中的一个training/dev/test实例。例如,序列:[1,2,3,4,5,....,100] 可以是数据集中的训练实例。

希望对您有所帮助!