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 中的批处理: 我对并行性的理解不正确。并行是在批内完成的,而不是跨批完成的。
让,
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 中的批处理: 我对并行性的理解不正确。并行是在批内完成的,而不是跨批完成的。