【问题标题】:Batch training in Keras LSTMKeras LSTM 中的批量训练
【发布时间】:2023-11-27 06:09:01
【问题描述】:

如果我在用Keras 制作的LSTM 中使用32 的batch_size,损失函数是应用于每个序列然后平均,还是直接应用于所有序列而不考虑每个序列?

提前致谢。

【问题讨论】:

    标签: keras lstm loss


    【解决方案1】:

    由于 1 的 batch_size 意味着在序列之后更新权重,所以 32 的批量大小意味着在这 32 个序列之后更新权重。

    因此,权重仅在这 32 个序列块之后更新,损失为所有这些序列的平均值,否则如果损失将更新到每个序列本身,它实际上将表示具有 batch_size = 的普通 SGD 1.

    【讨论】:

    • 谢谢。那么,为每个序列计算损失,平均和反向传播?
    • 是的。即使在 Keras 中,当您看到修改损失时的进度时,它也只会在这个 batch_size 之后进行修改,因此权重也会随之更新,平均误差会被反向传播。
    最近更新 更多