In the previous chapters, we have explored a large number of training mechanisms for machine learning models, starting with simple pass-through mechanisms, such as the well-known feedforward neural networks. Then we looked at a more complex and reality-bound mechanism, accepting a determined sequence of inputs as the training input, with Recurrent Neural Networks (RNNs).
Now it's time to take a look at two recent players that incorporate other aspects of the real world. In the first case, we will have not only a single network optimizing its model, but also another participant, and they will both improve each other's results. This is the case of Generative Adversarial Networks (GANs).
In the second case, we will talk about a different kind of model, which will try to determine the optimal set of steps to maximize a reward: reinforcement...