Do Keras dropout and GaussianNoise layers apply different instances of noise in every batch?
<p>I am building a denoising autoencoder in Keras. The model I'm using is</p>

<pre><code>input_img = Input(shape=(10,))
encoded = GaussianNoise(0.01)(input_img)
encoded = Dropout(0.1)(encoded)
encoded = Dense(20,activation='relu')(encoded)
decoded = Dense(10, activation='sigmoid')(encoded)
ae = Model(input=input_img, output=decoded)
</code></pre>

<p>If I subsequently call</p>

<pre><code>ae.fit(x_train, x_train,
                     nb_epoch=3,
                     batch_size=5,
                     shuffle=True,
                     validation_data=(x_test, x_test))
</code></pre>

<p>is there a new instance of the noise created for each batch? In other words, for each epoch above are there different instances of the noise for each of the batches? Or is the noise instance fixed to the same thing for all batches and only changes when the epoch changes? Or worse is there only one noise instance selected for the entire thing? </p>