0

我有一个编码器解码器网络:编码器中有 3 个 BLSTM,解码器中有 2 个 vanilla LSTM,与 4 个节点的多头注意力连接。潜在维度是 32,我的总样本看起来像 (10000,400,128)。编码器网络的 dropout 为 0.2,解码器的 dropout 为 0.3。我正在使用学习率为 0.001 和均方误差损失的 adam 优化器。最后,我的验证拆分为 0.3。我在 Vast.ai 上租用了 Nvidia Titan V(具有 Core™ i9-9820X,5.0/20 个内核和 16/64 GB 总有效共享 RAM),当我一起训练时,每个 epoch 大约需要 6 分钟(7000 次训练和 3000 个验证样本)。

我希望找到减少总火车时间的方法。任何建议都会很棒。

4

1 回答 1

1

首先想到的是提前停止回调并更改批量大小。

虽然我自己没有尝试过,但批量标准化也被认为可以使训练更有效率。

在我(不太相关)的案例中,我看到数据标准化后训练速度和质量有了很大提高。所以,也许数据规范化/标准化会有所帮助。

最后但同样重要的是,GRU 网络往往训练得更快,但在某些情况下,它们的性能不如 LSTM 网络。我不知道你是否愿意改变你的模型,但我想我应该提到这一点。

于 2020-04-28T09:24:53.947 回答