LSTM 的 minibatch 是什么样子的?

数据挖掘 lstm 小批量梯度下降
2022-02-06 09:02:02

Minibatch 是输入到网络中的示例集合,(一个又一个示例),并且在每个示例之后完成反向传播。然后我们取这些梯度的平均值并更新我们的权重。这样就完成了 1 个 minibatch 的处理。

我读了这些帖子

问题一:

LSTM 的小批量实体是什么样的?比如说,我希望它一个字母一个字母地再现莎士比亚(30 个字符可供选择)。

我启动 LSTM,让它预测一首诗的 200 个字符,然后执行反向传播。(因此,我的 LSTM 使用 200 个时间步长)。这是否意味着我的小批量包含 1 个长度为 200 的示例?

问题b部分:

如果我想并行推出 63 首其他小批量,我会选择额外的 63 首诗吗?编辑:原始答案没有明确提到这一点,但我们不会并行训练小批量。我们训练 1 个小批量,但并行训练它的示例

问题 C 部分:

如果我希望每个 minibatch 包含 10 个不同的示例,这些示例会是什么,它们与“我认为的 minibatch”有何不同?

1个回答

我认为您需要区分模型的训练和执行。在训练期间,您可以使用批次,在您的情况下,这将是莎士比亚的不同片段。因此,一个批次将是一个片段列表,语言模型将从批次的每个元素上的第一个字符开始,并进行向后和向前传递。

执行模型时,一旦训练完成,您希望看到一个示例,在这种情况下,您可以将批量大小设置为 1。

我相信这回答了你的三个问题。