【发布时间】:2020-08-29 17:13:22
【问题描述】:
我正在训练一个简单的神经网络,如下所示;
model = Sequential()
model.add(layers.GRU(32,
input_shape=(None, 13)))
model.add(layers.Dense(1))
model.compile(optimizer=RMSprop(), loss='mae')
history = model.fit_generator(train_gen,
steps_per_epoch=500,
epochs=40,
validation_data=val_gen)
一切正常并按预期运行。然而,它存在过度拟合的问题。因此,我在 GRU 层中添加了 dropout 正则化:
model.add(layers.GRU(32,
dropout=0.2,
recurrent_dropout=0.2,
input_shape=(None, 13)))
这将我的 epoch 的运行时间从 +- 10 秒增加到 +- 120 秒。有没有人解释为什么会这样?有没有办法对抗它,因为高出 12 倍的运行时间对我来说似乎有点不同寻常?
【问题讨论】:
标签: python tensorflow keras recurrent-neural-network dropout