more kerasish training & adapted main notebook accordingly
Principal changes to address #6, done in a "Keras friendly" way according to the example in https://keras.io/guides/customizing_what_happens_in_fit/
- false "epoch" loop in train() replaced by a call to vanilla fit()
- the model class AAEModel overrides train_step() method to implement the AAE SGD algorithm correctly
As a side-effect, #5 is addressed too (I didn't bother to explicitly implement the superfluous discriminator update there).
Some minor (hopefully harmless) changes in the components:
- Discriminator last layer was changed (dropping sigmoid activation) to match the recommended logit cross-entropy loss
- Dropped superfluous Input layers