and recurrent_dropoutspecifying the dropout rate of the recurrent units let' add dropout and recurrent dropout to the gru layer and see how doing so impacts overfitting because networks being regularized with dropout always take longer to fully convergeyou'll train the network for twice as many epochs listing training and evaluat ing dropout-regularized gru-based model from keras models import sequential from keras import layers from keras optimizers import rmsprop model sequential(model add(layers gru( dropout= recurrent_dropout= input_shape=(nonefloat_data shape[- ]))model add(layers dense( )model compile(optimizer=rmsprop()loss='mae'history model fit_generator(train_gensteps_per_epoch= epochs= validation_data=val_genvalidation_steps=val_stepsfigure shows the results successyou're no longer overfitting during the first epochs but although you have more stable evaluation scoresyour best scores aren' much lower than they were previously figure training and validation loss on the jena emperat ureforecasting task with dropout regularized gru stacking recurrent layers because you're no longer overfitting but seem to have hit performance bottleneckyou should consider increasing the capacity of the network recall the description of the universal machine-learning workflowit' generally good idea to increase the capacity of your network until overfitting becomes the primary obstacle (assuming licensed to