The code and training path of I2A is a bit complicated and includes lots of code and several steps. To understand it better, let's start with a brief overview. In this example, we'll implement the I2A architecture described in the paper, adopted to the Atari environments, and test it on the Breakout game. The overall goal is to check the training dynamics and the effect of imagination augmentation on the final policy.
Our example consists of three parts, which correspond to different steps in the training:
Chapter17/01_a2c.py. The resulting policy is used for obtaining observations of the environment model.
Chapter17/02_imag.py. It uses the model obtained on the previous step ...