I'm new to relatively RNNs, and I'm trying to train *generative* and *guessing* neural networks to produce sequences of real numbers that look random. My architecture looks like this (each "circle" in the output is the adverserial network's guess for the generated circle vertically below it -- having seen only the terms before it):

![](https://i.sstatic.net/fWSu9.png)

Note that the adverserial network is rewarded for predicting outputs *close* to the true values, i.e. the loss function looks like `tf.math.reduce_max((sequence - predictions) ** 2)`.

I don't know if there's something obviously wrong with my architecture, but when I try to train this network (and I've added a reasonable number of layers), it doesn't really work very well.

* [Colab Notebook](https://colab.research.google.com/drive/1Zd3l1tW64r9OizML_Vz_J3cYpPlZzrap?usp=sharing)

If you look at the result of the last code block, you'll see that my generative neural network produces things like 

* `[0.9907787, 0.9907827, 0.9907827, 0.9907827, 0.9907827, 0.9907827, 0.9907827, 0.9907827, 0.9907827, 0.9907827]`

But it could *easily* improve itself by simply training to jump around more, since you'll observe that the adverserial network also predicts numbers very close to the given number. 

What am I doing wrong?