LSTM(Keras)中批量大小、时间步长和误差之间的关系是什么?

What is the relationship between batch size, timestep and error in LSTM (Keras)?

让,

Sample Size = 100 (X1,X2,...,X100)

Timesteps = 5

Input Feature = 10

计算错误:

batch size = Sample size时误差是怎么计算的? 我的理解:我将 X1,X2,X3,X4,X5 插入 LSTM 并在 5 时间步后获得输出,比如 Y1.

错误E1 = X6 - Y1。同样我会计算E2,E3,...,E95.

Actual Error = E1+E2+....+E95。这将用于更新权重。

正确吗?

批处理错误:

基于以上理解。如果batch size = 10。那么只有 E1,E2,E3,E4 and E5 会被用来计算实际误差。这将用于更新权重。

在有状态 LSTM 中进行批处理:

Batches 允许模型允许并行性,其中批处理中的每个实体计算其误差,然后将所有误差相加。如果 LSTM 是有状态的(上一个序列的隐藏状态用于初始化下一个序列的隐藏状态,对 Satetful 的这种理解是否正确?),LSTM 如何在批内实现并行性?

参考文献:

doubts regarding batch size and time steps in RNN

批量大小对 LSTM 的影响:对于批量大小 1,模型在每个时间步采用 1 个输入。对于批量大小 n,模型在每个时间步接受 n 个输入

问题中提到的错误计算部分:是batch size 1的错误计算。

批次误差:将批次中每个元素的误差求和得到最终误差

有状态 LSTM 中的批处理: 我对并行性的理解不正确。并行是在批内完成的,而不是跨批完成的。